Solves seed painting problem in issue #102.
This commit is contained in:
parent
0cee5d95cc
commit
fd2657a8d7
@ -1,8 +1,6 @@
|
|||||||
import traceback
|
|
||||||
import sys
|
import sys
|
||||||
import urllib
|
import urllib
|
||||||
import getopt
|
import getopt
|
||||||
from copy import copy
|
|
||||||
import random
|
import random
|
||||||
import logging
|
import logging
|
||||||
import simplejson as json
|
import simplejson as json
|
||||||
@ -10,9 +8,8 @@ import re
|
|||||||
import webbrowser
|
import webbrowser
|
||||||
import os
|
import os
|
||||||
import Tkinter
|
import Tkinter
|
||||||
import re
|
|
||||||
from PyQt4 import QtCore
|
from PyQt4 import QtCore
|
||||||
import time
|
import time # Just used for debugging. Double check before removing.
|
||||||
|
|
||||||
########################################
|
########################################
|
||||||
## Imports part of FlatCAM ##
|
## Imports part of FlatCAM ##
|
||||||
@ -61,7 +58,7 @@ class App(QtCore.QObject):
|
|||||||
log.addHandler(handler)
|
log.addHandler(handler)
|
||||||
|
|
||||||
## Version
|
## Version
|
||||||
version = 8.1
|
version = 8.11
|
||||||
version_date = "2015/01"
|
version_date = "2015/01"
|
||||||
|
|
||||||
## URL for update checks and statistics
|
## URL for update checks and statistics
|
||||||
@ -616,17 +613,18 @@ class App(QtCore.QObject):
|
|||||||
|
|
||||||
cmdfcn = commands[parts[0]]["fcn"]
|
cmdfcn = commands[parts[0]]["fcn"]
|
||||||
cmdconv = commands[parts[0]]["converters"]
|
cmdconv = commands[parts[0]]["converters"]
|
||||||
if len(parts)-1 > 0:
|
if len(parts) - 1 > 0:
|
||||||
retval = cmdfcn(*[cmdconv[i](parts[i+1]) for i in range(len(parts)-1)])
|
retval = cmdfcn(*[cmdconv[i](parts[i + 1]) for i in range(len(parts)-1)])
|
||||||
else:
|
else:
|
||||||
retval = cmdfcn()
|
retval = cmdfcn()
|
||||||
retfcn = commands[parts[0]]["retfcn"]
|
retfcn = commands[parts[0]]["retfcn"]
|
||||||
if retval and retfcn(retval):
|
if retval and retfcn(retval):
|
||||||
self.shell.append_output(retfcn(retval) + "\n")
|
self.shell.append_output(retfcn(retval) + "\n")
|
||||||
|
|
||||||
except:
|
except Exception, e:
|
||||||
self.shell.append_error(''.join(traceback.format_exc()))
|
#self.shell.append_error(''.join(traceback.format_exc()))
|
||||||
#self.shell.append_error("?\n")
|
#self.shell.append_error("?\n")
|
||||||
|
self.shell.append_error(str(e) + "\n")
|
||||||
|
|
||||||
def info(self, msg):
|
def info(self, msg):
|
||||||
"""
|
"""
|
||||||
@ -1172,7 +1170,9 @@ class App(QtCore.QObject):
|
|||||||
|
|
||||||
# Keep this for later
|
# Keep this for later
|
||||||
try:
|
try:
|
||||||
name = copy(self.collection.get_active().options["name"])
|
#name = copy(self.collection.get_active().options["name"])
|
||||||
|
# Shouldn't need to copy. String are immutable.
|
||||||
|
name = self.collection.get_active().options["name"]
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
self.log.debug("Nothing selected for deletion")
|
self.log.debug("Nothing selected for deletion")
|
||||||
return
|
return
|
||||||
|
10
camlib.py
10
camlib.py
@ -329,10 +329,6 @@ class Geometry(object):
|
|||||||
:return:
|
:return:
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# Estimate good seedpoint if not provided.
|
|
||||||
if seedpoint is None:
|
|
||||||
seedpoint = polygon.representative_point()
|
|
||||||
|
|
||||||
# Current buffer radius
|
# Current buffer radius
|
||||||
radius = tooldia / 2 * (1 - overlap)
|
radius = tooldia / 2 * (1 - overlap)
|
||||||
|
|
||||||
@ -342,6 +338,10 @@ class Geometry(object):
|
|||||||
# Path margin
|
# Path margin
|
||||||
path_margin = polygon.buffer(-tooldia / 2)
|
path_margin = polygon.buffer(-tooldia / 2)
|
||||||
|
|
||||||
|
# Estimate good seedpoint if not provided.
|
||||||
|
if seedpoint is None:
|
||||||
|
seedpoint = path_margin.representative_point()
|
||||||
|
|
||||||
# Grow from seed until outside the box.
|
# Grow from seed until outside the box.
|
||||||
while 1:
|
while 1:
|
||||||
path = Point(seedpoint).buffer(radius).exterior
|
path = Point(seedpoint).buffer(radius).exterior
|
||||||
@ -3091,7 +3091,7 @@ def parse_gerber_number(strnumber, frac_digits):
|
|||||||
:return: The number in floating point.
|
:return: The number in floating point.
|
||||||
:rtype: float
|
:rtype: float
|
||||||
"""
|
"""
|
||||||
return int(strnumber)*(10**(-frac_digits))
|
return int(strnumber) * (10 ** (-frac_digits))
|
||||||
|
|
||||||
|
|
||||||
# def voronoi(P):
|
# def voronoi(P):
|
||||||
|
Loading…
Reference in New Issue
Block a user