From fd2657a8d73e30e5a0c4863935b7e27071bf1dff Mon Sep 17 00:00:00 2001 From: jpcaram Date: Wed, 21 Jan 2015 09:50:01 -0500 Subject: [PATCH] Solves seed painting problem in issue #102. --- FlatCAMApp.py | 20 ++++++++++---------- camlib.py | 10 +++++----- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/FlatCAMApp.py b/FlatCAMApp.py index 9133e25e..0a89fcaf 100644 --- a/FlatCAMApp.py +++ b/FlatCAMApp.py @@ -1,8 +1,6 @@ -import traceback import sys import urllib import getopt -from copy import copy import random import logging import simplejson as json @@ -10,9 +8,8 @@ import re import webbrowser import os import Tkinter -import re from PyQt4 import QtCore -import time +import time # Just used for debugging. Double check before removing. ######################################## ## Imports part of FlatCAM ## @@ -61,7 +58,7 @@ class App(QtCore.QObject): log.addHandler(handler) ## Version - version = 8.1 + version = 8.11 version_date = "2015/01" ## URL for update checks and statistics @@ -616,17 +613,18 @@ class App(QtCore.QObject): cmdfcn = commands[parts[0]]["fcn"] cmdconv = commands[parts[0]]["converters"] - if len(parts)-1 > 0: - retval = cmdfcn(*[cmdconv[i](parts[i+1]) for i in range(len(parts)-1)]) + if len(parts) - 1 > 0: + retval = cmdfcn(*[cmdconv[i](parts[i + 1]) for i in range(len(parts)-1)]) else: retval = cmdfcn() retfcn = commands[parts[0]]["retfcn"] if retval and retfcn(retval): self.shell.append_output(retfcn(retval) + "\n") - except: - self.shell.append_error(''.join(traceback.format_exc())) + except Exception, e: + #self.shell.append_error(''.join(traceback.format_exc())) #self.shell.append_error("?\n") + self.shell.append_error(str(e) + "\n") def info(self, msg): """ @@ -1172,7 +1170,9 @@ class App(QtCore.QObject): # Keep this for later 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: self.log.debug("Nothing selected for deletion") return diff --git a/camlib.py b/camlib.py index 2c55d6e5..a0454cf2 100644 --- a/camlib.py +++ b/camlib.py @@ -329,10 +329,6 @@ class Geometry(object): :return: """ - # Estimate good seedpoint if not provided. - if seedpoint is None: - seedpoint = polygon.representative_point() - # Current buffer radius radius = tooldia / 2 * (1 - overlap) @@ -342,6 +338,10 @@ class Geometry(object): # Path margin 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. while 1: path = Point(seedpoint).buffer(radius).exterior @@ -3091,7 +3091,7 @@ def parse_gerber_number(strnumber, frac_digits): :return: The number in floating point. :rtype: float """ - return int(strnumber)*(10**(-frac_digits)) + return int(strnumber) * (10 ** (-frac_digits)) # def voronoi(P):