Commit Graph

63 Commits

Author SHA1 Message Date
Marius Stanciu 35674c9647 - in SVG parser modified some imports to be one on each line
- fixed the Tcl Command BBox (leftovers from recent global changes)
- fixed some typos in strings reported by @pcb-hobbyst on FlatCAM forum
2020-04-28 19:34:23 +03:00
Marius Stanciu eed7e3d620 - some minor changes in the Python version detection
- added a new Tcl Command named SetPath which will set a path to be used by the Tcl commands. Once set will serve as a fallback path in case that the files fail to be opened first time. It will be persistent, saved in preferences.
- added the GUI for the new Open Example in the FIle -> Scripting menu.
- I am modifying all the open ... handlers to add a parameter that will flag if the method was launched from Tcl Shell. This way if the method will fail to open the filename (which include the path) it will try to open from a set fallback path.
- fixed issue #406, bug introduced recently (leftover changes).
- modified the ImportSVG Tcl command name to OpenSVG (open_svg alias)
- added a new Tcl command named OpenDXF (open_dxf alias)
- fixed some errors in Scripting features
- added a new Tcl command named GetPath as a convenient way to get the current default path stored in App.defaults['global_tcl_path']
2020-04-28 14:37:34 +03:00
Marius Stanciu 3ec666edbb - replaced the testing if instance of FlatCAMObj with testing the obj.kind attribute
- removed the import of the whole FlatCAMApp file only for the usage of GracefulException
- remove the import of FlatCAMApp and used alternate ways
- optimized the imports in some files
- moved the Bookmarksmanager and ToolDB classes into their own files
- solved some bugs that were not so visible in the Editors and HPGL parser
2020-04-27 10:03:22 +03:00
Marius Stanciu fdd5344581 - fixed bug in Gerber parser that allowed loading as Gerber of a file that is not a Gerber
- fixed a bug in extension detection for Gerber files that allowed in the filtered list files that extension *.gb*
- added a processEvents method in the Gerber parser parse_lines() method
2020-04-05 21:11:48 +03:00
Marius Stanciu 376c8058d9 - fixed the Repeated code parsing in Excellon Parse 2020-04-04 18:02:40 +03:00
Marius Stanciu 3d39916b5f - minor changes to increase compatibility with Python 3.8 2020-04-01 18:45:20 +03:00
Marius Stanciu 1d13b997f2 - updated the SVG parser to take into consideration the 'Close' svg element and paths that are made from a single line (we may need to switch to svgpathtools module) 2020-04-01 00:09:50 +03:00
Marius Stanciu 70d3895799 - working on a new type of database 2020-03-01 00:52:24 +02:00
Marius Stanciu 8a6ada1984 - added a new parameter named 'End Move X,Y' for the Geometry and Excellon objects. Adding a tuple of coordinates in this field will control the X,Y position of the final move; not entering a value there will cause not to make an end move 2020-02-26 04:43:54 +02:00
Marius Stanciu 522b98fef3 - fixed bug in Gerber parser: it tried to calculate a len() for a single element and not a list - a Gerber generated by Eagle exhibited this 2020-02-25 21:22:51 +02:00
Marius Stanciu 1e9232aeaa - updated the Excellon UI to hold data for each tool
- in Excellon UI removed the tools table column for Offset Z and used the UI form parameter
- updated the Excellon Editor to add for each tool a 'data' dictionary
- updated all FlatCAM tools to use the new confirmation message that show if the entered value is within range or outside
2020-02-17 04:43:01 +02:00
Marius Stanciu 9fc2ba8ffd - added a new FlatCAM Tool: Gerber Invert Tool. It will invert the copper features in a Gerber file: where is copper there will be empty and where is empty it will be copper 2020-02-14 17:08:06 +02:00
Marius Stanciu c7074d71ba - fixed an error in Gerber Parser; the initial values for currnet_x, current_y were None but should have been 0.0
- limited the lower limit of angle of V-tip to a value of 1 because 0 makes no sense
2020-02-02 15:54:09 +02:00
Marius Stanciu c417030896 - moved default_data data update from Excellon parser to the Excellon object constructor 2020-01-16 16:55:34 +02:00
Marius Stanciu b71d4e8c45 - in ParseExcellon.Excellon the self.tools dict has now a key 'data' which holds a dict with all the default values for Excellon and Geometry
- Excellon and Geometry objects, when started with multiple tools selected, the parameters tool name reflect this situation
2020-01-16 16:43:39 +02:00
Marius Stanciu 5c932dc5cc - fixed an issue in Gerber parser introduced recently due of changes made to make Gerber files produced by Sprint Layout 2020-01-14 01:36:37 +02:00
Marius Stanciu c9111dac9b - fixed an issue in Gerber parser with detecting old kind of units 2020-01-12 04:05:13 +02:00
Marius Stanciu c0ec3b6546 - Buffer sub-tool in Transform Tool: added the possibility to apply a factor effectively scaling the aperture size thus the copper features sizes
- in Transform Tool adjusted the GUI
2019-12-30 01:18:56 +02:00
Marius Stanciu 7535267f5b - small change in Gerber Parser 2019-12-26 04:42:48 +02:00
Marius Stanciu 217316c732 - fixed an error in the Gerber parser; it did not took into consideration the aperture size declared before the beginning of a Gerber region. Detected for Gerber files generated by KiCAD 5.x
- in Panelize Tool made sure that for Gerber objects if one of the apertures is without geometry then it is ignored
2019-12-26 03:15:17 +02:00
Marius Stanciu b1b140634b - in Tool Transform added a new feature named 'Buffer'. For Geometry and Gerber objects will create (and replace) a geometry at a distance from the original geometry and for Excellon will adjust the Tool diameters 2019-12-23 22:59:01 +02:00
Marius Stanciu 4efc453b84 - fixed a bug in the new feature 'extra buffering'
- fixed the creation of CNCJob objects out of multigeo Geometry objects (objects with multiple tools)
- optimized the NCC Tool
2019-12-18 17:53:41 +02:00
Marius Stanciu e745f3f836 - added new parameters to improve Gerber parsing
- small optimizations in the Preferences UI
2019-12-18 03:14:17 +02:00
Marius S 0b50734578 - fixed issue #347 - a Gerber generated by Sprint Layout with copper pour ON will not have rendered the copper pour 2019-12-17 17:37:18 +02:00
Marius Stanciu f857326687 - fixed GCode generated with HPGL preprocessor to output only integer coordinates
- fixed the HPGL2 import parsing for absolute linear movements
2019-12-16 21:20:08 +02:00
Marius Stanciu 1517686ced - more strings updated; finished the Romanian translation update 2019-12-14 00:04:52 +02:00
Marius Stanciu e397e26484 - some strings updated; update on the Romanian translate 2019-12-13 18:36:57 +02:00
Marius Stanciu 336970d7ea - HPGL2 import: added support for circles, arcs and 3-point arcs. Everything works only for absolute coordinates. 2019-12-13 15:54:26 +02:00
Marius Stanciu f9580be396 - wip 2019-12-13 06:53:13 +02:00
Marius Stanciu 02b567971d - finished a very rough and limited HPGL2 file import 2019-12-12 21:29:38 +02:00
Marius Stanciu a664f21dc1 - started work in HPGL2 parser 2019-12-11 14:32:01 +02:00
Marius Stanciu 5f739d1baf - if extracut_length is zero then the extracut will cut up until the first point in path no matter what the distance is 2019-12-10 23:57:00 +02:00
Marius Stanciu e26953a6f3 - small fix 2019-12-10 17:42:51 +02:00
Marius Stanciu 1f1d200ab6 - in FlatCAMGeometry fixed the scale and offset methods to always process the self.solid_geometry
- Calibration Tool - finished the calibrated object creation method
2019-12-09 16:20:22 +02:00
Marius Stanciu e15c6da086 - fixed a GUI glitch in the Excellon tool table
- added units to some of the parameters in the Properties Tool
2019-12-07 00:25:22 +02:00
Marius Stanciu d683402884 - few bugs solved regarding the newly created empty objects 2019-12-06 21:53:03 +02:00
Marius Stanciu 0d09f10a88 - in Properties Tool added new information's for the tools in the CNCjob objects 2019-12-06 21:39:06 +02:00
Marius Stanciu 13f67786af - cleaned up the Excellon parser and fixed some bugs (old and new); Excellon parser has it's own convert_units() method no longer inheriting from Geometry
- in Excellon UI fixed bug that did not allow editing of the Offset Z parameter from the Tool table
2019-12-06 17:12:18 +02:00
Marius Stanciu bb192eb679 - in Properties Tool added more information's regarding the Excellon tools, about travelled distance and job time; fixed issues when doing Properties on the CNCjob objects
- TODO: I need to solve the mess in units conversion: it's too convoluted
2019-12-06 01:20:33 +02:00
Marius Stanciu 0d0f872244 - application wide change: introduced the precision parameters in Edit -> Preferences who will control how many decimals to use in the app parameters 2019-12-05 15:18:54 +02:00
Marius Stanciu 80dcd3805a - improvements in Importing SVG as Gerber - added an automatic source generation (it is not infallible)
- a hack to import correctly the QRCode exported as SVG from FlatCAM
2019-12-02 20:03:27 +02:00
Marius Stanciu dfbd4452a1 - fixed an issue in the FlatCAMObj.FlatCAMGerber.convert_units() which needed to be updated after changes elsewhere 2019-11-13 02:59:47 +02:00
Marius Stanciu 70d123306c - in Tools Database added a contextual menu to add/copy/delete tool; CTRL+C, DEL keys work too; key T for adding a tool is now only partially working
- in Tools Database made the status bar messages show when adding/copying/deleting tools in DB
- changed all Except statements that were single to except Exception as recommended in some PEP
- renamed the Copper Fill Tool to Copper Thieving Tool as this is a more appropriate name; started to add ability for more types of copper thieving besides solid
- fixed some issues recently introduced in ParseSVG
- updated POT file
2019-11-11 02:35:42 +02:00
Marius Stanciu 70fbb7f852 - start working on QRCode Tool - serching for alternatives 2019-10-23 17:58:06 +03:00
Marius Stanciu b058f65108 - finished the Objects menu by adding the ability of actions to be checked so they will show the selected status of the objects and by adding to actions to (de)select all objects
- fixed and optimized the click selection on canvas
- fixed Gerber parsing for very simple Gerber files that have only one Polygon but many LPC zones
2019-10-19 00:29:29 +03:00
Marius Stanciu e57b6ad082 - wip 2019-10-17 02:49:12 +03:00
Marius Stanciu dfc0b98181 - fixed bug in Panelization Tool for which in case of Excellon objects, the panel kept a reference to the source object which created issues when moving or disabling/enabling the plots
- cleaned up the module imports throughout the app (the TclCommands are not yet verified)
2019-10-16 02:28:18 +03:00
Marius Stanciu b00c1018e4 - enhanced the Tool Film adding the Film adjustments and added the GUI in Preferences
- set the GUI layout in Preferences for a new category named Tools 2
2019-10-13 18:13:39 +03:00
Marius Stanciu 53338a2186 - fixed the Gerber Parser convert units unnecessary usage. The only units conversion should be done when creating the new object, after the parsing 2019-10-12 04:49:50 +03:00
Marius Stanciu e6a5e32002 - wip; Tool Move problem: it tries to select all objects, even those that are disabled. 2019-10-10 13:00:44 +03:00