Commit Graph

477 Commits

Author SHA1 Message Date
Marius Stanciu 949c265378 - changed the data structure for the Excellon object; modified the Excellon parser and the Excellon object class
- fixed partially the Excellon Editor to work with the new data structure
- fixed Excellon export to work with the new data structure
- fixed all transformations in the Excellon object attributes; still need to fix the App Tools that creates or use Exellon objects
2020-06-16 03:47:26 +03:00
Marius Stanciu 1ea168fd4b - NCC Tool - fixed the non-rest copper clearing to work as expected: each tool in the tool table will make it's own copper clearing without interference from the rest of the tools 2020-06-12 22:26:17 +03:00
Marius Stanciu 99e274c82d - fixed a possible problem in generating bounds value for a solid_geometry that have empty geo elements 2020-06-09 13:10:26 +03:00
Marius Stanciu 2c2db0efe2 - refactoring in camlib.py. Made sure that some conditions are met, if some of the parameters are None then return failure. Modifications in generate_from_geometry_2 and generate_from_multitool_geometry methods 2020-06-07 14:52:06 +03:00
Marius Stanciu 2eecb20e95 - remade file names in the app
- fixed the issue with factory_defaults being saved every time the app start
- fixed the preferences not being saved to a file when the Save button is pressed in Edit -> Preferences
- fixed and updated the Transform Tools in the Editors
2020-06-03 20:35:59 +03:00
Marius Stanciu 89d2de48da - added a new feature for Gerber parsing: if the NO buffering is chosen in the Gerber Advanced Preferences there is now a checkbox to activate delayed buffering which will do the buffering in background allowing the user to work in between. I hope that this can be useful in case of large Gerber files. 2020-06-03 04:02:04 +03:00
Marius Stanciu f5c84fdc49 - maintenance_2 2020-06-02 18:29:45 +03:00
Marius 5abb7866d8 - maintenance_1 2020-06-02 18:24:44 +03:00
Marius Stanciu 54407f6e50 - made Progressive plotting work in Isolation Tool
- fix an issue with progressive plotted shapes not being deleted on the end of the job
2020-06-01 20:37:31 +03:00
Marius Stanciu 8e687c5054 - fixed some issues related to using the new Numerical... GUI elements 2020-05-28 04:22:46 +03:00
Marius Stanciu c27a2d29e7 - all tuple entries in the Preferences UI are now protected against letter entry
- all entries in the Preferences UI that have numerical entry are protected now against letters
- cleaned the Preferences UI in the Gerber area
2020-05-27 00:27:10 +03:00
Marius Stanciu 2623bb0a65 - updated the Gerber parser such that it will parse correctly Gerber files that have only one solid polygon inside with multiple clear polygons (like those generated by the Invert Tool) 2020-05-25 00:37:54 +03:00
Marius Stanciu 8165c797a4 - changes some icons
- added a new GUI element which is a evaluated LineEdit that accepts only float numbers and /,*,+,-,% chars
- finished the Etch Compensation Tool
2020-05-24 04:22:49 +03:00
Marius Stanciu 2e8d5b3b96 - added the Exclusion zones processing to Geometry GCode generation 2020-05-23 04:32:57 +03:00
Marius Stanciu 51c9023bbe - added the Exclusion zones processing to Excellon GCode generation
- fixed a non frequent plotting problem for CNCJob objects made out of Excellon objects
2020-05-21 21:49:48 +03:00
Marius Stanciu 9c707e0682 - solved a circular import 2020-05-18 19:09:37 +03:00
Marius Stanciu d61ca10e75 - more refactoring; solved some issues introduced by the refactoring 2020-05-18 18:45:53 +03:00
Marius Stanciu 710a84b442 - more refactoring class names
- moved some of the methods from the App class to the ObjectCollection class
2020-05-18 16:39:26 +03:00
Marius Stanciu ba3f10d355 - renamed classes to have shorter names and grouped 2020-05-18 16:02:41 +03:00
Marius Stanciu 6aacd4d978 - fixed recent issues introduced in Tcl command Drillcncjob
- updated the Cncjob to use the 'endxy' parameter which dictates the x,y position at the end of the job
- now the Tcl commands Drillcncjob and Cncjob can use the toolchangexy and endxy parameters with or without parenthesis (but no spaces allowed)
2020-05-12 13:59:11 +03:00
Marius Stanciu a161354c25 - solved issue with new parameter end_xy when it is None
- solved issue with applying theme and not making the change in the Preferences UI. In Preferences UI the theme radio is always Light (white)
- now the annotations will invert the selected color in the Preferences, when selecting Dark theme
2020-05-06 16:37:48 +03:00
Marius Stanciu ed105eecad - fixed an issue that made the preprocessors comboxes in Preferences not to load and display the saved value fro the file
- some PEP8 corrections
2020-05-05 01:39:01 +03:00
Marius Stanciu f47396a6e5 - added some ToolTips (strings needed to be translated too) for the Cut Z entry in Geometry Object UI that explain why is sometime disabled and reason for it's value (sometime is zero) 2020-05-01 13:26:35 +03:00
Marius Stanciu 9f13b47077 - 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
- split the FlatCAMObj file into multiple files located in the flatcamObjects folder and renamed the contained classes with names more suggestive
- updated the Google Translation for the German language
2020-04-27 12:34:56 +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 5a5a18ef43 - some PEP8 changes in Geometry Editor and other minor changes 2020-04-20 00:12:58 +03:00
Marius Stanciu e64c7060e5 - updated DrillCncJob Tcl Command with new parameters and fixed it to work in the new format of the Excellon methods
- changed CncJob Tcl Command parameter 'depthperpass' to a shorter 'dpp'
2020-04-13 23:43:48 +03:00
Marius Stanciu 139baaff64 - fixed issue #386 - multiple Cut operation on a edited object created a crash due of the bounds() method 2020-04-05 21:50:32 +03:00
Marius Stanciu 8a2f5fed05 - working to update the Paint Tool 2020-03-30 23:12:27 +03:00
Marius Stanciu 7415ebc8af - fixed bugs in cncjob TclCommand 2020-03-20 17:12:20 +02:00
Marius Stanciu ffaea546db - fixed issue in "re-cut" feature when combined with multi-depth feature 2020-03-20 16:28:59 +02:00
Marius Stanciu f4f87eb2a7 - updated the "re-cut" feature in Geometry object; now if the re-cut parameter is non zero it will cut half of the entered distance before the isolation end and half of it after the isolation end 2020-03-20 05:04:52 +02:00
Marius Stanciu 98f4a82ad4 - fixed a bug in CNCJob generation out of a Excellon object; the plot failed in case some of the geometry of the CNCJob was invalid 2020-03-13 13:29:59 +02:00
Marius Stanciu 70d3895799 - working on a new type of database 2020-03-01 00:52:24 +02:00
Marius Stanciu c5e4d72db8 - solved issue #381 where there was an error when trying to generate CNCJob out of an Excellon file that have a tool with only slots and no drills
- solved some issues in the preprocessors regarding the newly introduced feature that allow control of the final move X,Y positions
2020-02-28 17:59:15 +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 f8f337526d - fixed some issues in the Geometry Editor; the jump sigmal disconnect was failing for repeated Editor tool operation 2020-02-19 14:15:06 +02:00
Marius Stanciu 124ba6cdc6 - adapted the GCode generation from Excellon to work with multiple tools data and modified the preprocessors header 2020-02-17 16:35:09 +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 25c9a31179 - more work in the new Laser Mode in the Paint Tool 2020-02-15 21:11:06 +02:00
Marius Stanciu e936e0e116 - fixed bug: when deleting a FlatCAMCNCJob with annotations enabled, the annotations are not deleted from canvas;
- fixed bug: creating a new project while a project is open and it contain CNCJob annotations and/or Gerber mark shapes, did not delete them from canvas
2020-02-12 23:28:21 +02:00
Marius Stanciu 82ab0d83d6 - started a new way to clear the Gerber polygons based on the 'follow' lines 2020-02-10 12:27:49 +02:00
Marius Stanciu c004c9082f - optimized the Paint and NCC Tools. When the Lines type of painting/clearing is used, the lines will try to arrange themselves on the direction that the lines length clearing the polygon are bigger 2020-02-10 04:00:34 +02:00
Marius Stanciu d33505096c - modified the Excellon GCode generation so now it can use multi depth drilling; modified the preprocessors to show the number of passes 2020-02-08 22:38:08 +02:00
Marius Stanciu 48029da52b - added a new preprocessor file for using laser on a Marlin motion controller but with the laser connected to one of the FAN pins, named 'Marlin_laser_use_FAN_pin' 2020-02-08 20:38:51 +02:00
Marius Stanciu 9911402c95 - added a new preprocessor for using laser on a Marlin 3D printer named 'Marlin_laser'
- modified the Geometry UI when using laser preprocessors
2020-02-08 18:01:32 +02:00
Marius Stanciu 23a1495c32 - fixed the preprocessors with 'laser' in the name to use the spindle direction set in the Preferences
- increased the upper limit for feedrates by an order of magnitude
2020-02-03 14:46:39 +02:00
Marius Stanciu 6eb96264f1 - fixed some bugs 2020-02-01 04:01:48 +02:00
Marius Stanciu fd0438842d - finished adding in Geometry Editor a TreeWidget with the geometry shapes found in the edited object 2020-01-28 03:59:15 +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