Commit Graph

305 Commits

Author SHA1 Message Date
Marius Stanciu c886e3300c - added the Slot Type parameter for exporting Excellon in Edit -> Preferences -> Excellon -> Export Excellon. Now the Excellon object can be exported also with drilled slot command G85
- fixed bug in Excellon export when there are no zero suppression (coordinates with decimals)
2019-08-16 00:44:04 +03:00
Marius Stanciu cac92f75f2 - improved the FlatCAMGerber.isolate() function to work for geometry in the form of list and also in case that the elements of the list are LinearRings (like when doing the Exterior Isolation)
- in NCC Tool made sure that at each run the old objects are deleted
2019-08-12 22:39:38 +03:00
Marius Stanciu fd104eee55 - done regression to solve the bug with multiple passes cutting from the copper features (I should remember not to make mods here)
- if 'combine' is checked in Gerber isolation but there is only one pass, the resulting geometry will still be single geo
- the 'passes' entry was changed to a IntSpinner so it will allow passes to be entered only in range (1, 999) - it will not allow entry of 0 which may create some issues
2019-08-12 00:28:46 +03:00
Marius Stanciu a4728e966e - fixed issue where the annotations for all the CNCJob objects are toggled together whenever the ones for an single object are toggled 2019-08-11 03:15:04 +03:00
Marius Stanciu cf8a277825 - trying to fix reported bugs 2019-08-11 02:18:32 +03:00
Marius Stanciu eea66c0311 - added new feature in NCC Tool: now another object can be used as reference for the area extent to be cleared of copper 2019-08-10 14:59:29 +03:00
Marius Stanciu 89717642ed - fixed bug that created a choppy geometry for CNCJob when working in INCH
- fixed bug that did not asked the user to save the preferences after importing a new set of preferences, after the user is trying to close the Preferences tab window
2019-08-10 11:46:23 +03:00
Marius Stanciu 6f526acb4d - added Exception handing for the case when the user is trying to save & overwrite a file already opened in another file 2019-08-09 22:39:13 +03:00
Marius Stanciu a87e596f56 - strings added and translations updated 2019-08-06 10:43:48 +03:00
Marius Stanciu 2d448b68ad - wip 2019-08-06 03:40:46 +03:00
Marius Stanciu 5a141ad115 - fixed issue in the isolation function, if the isolation can't be done there will be generated no Geometry object 2019-08-06 03:29:43 +03:00
Marius Stanciu 59b4defa0b - fixed bug that crashed the app after creating a new geometry, if a new object is loaded and the new geometry is deleted and then trying to select the just loaded new object
- made some GUI elements in Edit -> Preferences to have a minimum width as opposed to the previous fixed one
2019-08-06 02:31:09 +03:00
Marius Stanciu afdff59aff - made sure that if using an negative Gerber isolation diameter, the resulting Geometry object will use a tool with positive diameter
- fixed bug that when isolating a Gerber file made out of a single polygon, an Recurrsion Exception was issued together with inability to create tbe isolation
2019-08-05 01:02:19 +03:00
Marius Stanciu cd803266a6 - fulfilled request: When saving a CNC file, if the file name is changed in the OS window, the new name does appear in the “Selected” (in name) and “Project” tabs (in cnc_job) 2019-08-03 03:48:20 +03:00
Marius Stanciu 8cadcb3837 - fixed another bug that when selecting an Excellon object after disabling it it crashed the app
- RELEASE 8.92
2019-08-01 00:37:11 +03:00
Marius Stanciu 7bca0678ea - fixed bug that crashed the app when trying to add a tool without a tool diameter value 2019-07-30 13:00:17 +03:00
Marius Stanciu 02c8cfb085 - fixed bug that crashed the software when trying to edit a GUI value in Geometry selected tab without having a tool in the Tools Table 2019-07-30 12:35:18 +03:00
Marius Stanciu 8e80ec156c - fixed Panelize Tool to do panelization for multiple passes type of geometry that comes out of the isolation done with multiple passes 2019-07-29 02:36:29 +03:00
Marius Stanciu c6e3176ac3 - in Basic mode, the tool type column is no longer hidden as it may create issues when using an painted geometry
- some PEP8 clean-up in FlatCAMGui.py
2019-07-29 00:35:59 +03:00
Marius Stanciu 338f12707d - fixed issue with not using the current units in the tool tables after unit conversion
- after unit conversion from Preferences, the default values are automatically saved by the app
2019-07-28 23:11:35 +03:00
Marius Stanciu 2797a58165 - fixed bug in FlatCAMObj.FlatCAMGeometry.ui_disconnect(); the widgets signals were not disconnected from handlers when required therefore the signals were connected in an exponential way
- some changes in the widgets used in the Selected tab for Geometry object
- some PEP8 cleanup in FlatCAMObj.py
2019-07-19 21:46:11 +03:00
Marius Stanciu 6743927eb2 - more PEP8 corrections 2019-07-16 20:51:09 +03:00
Marius Stanciu 43cb92e1d8 - fixed a possible issue in Gerber Object class
- added a new tool in Gerber Editor: Mark Area Tool. It will mark the polygons in a edited Gerber object with areas within a defined range, allowing to delete some of the not necessary  copper features
- added new menu links in the Gerber Editor menu for Eraser Tool and Mark Area Tool
- added key shortcuts for Eraser Tool (CTRL+E) and Mark Area Tool (ALT+A) and updated the shortcuts list
2019-07-13 21:40:33 +03:00
Marius Stanciu 769f92147a - fixed bug that allowed empty tool in the tools generated in Geometry object
- fixed bug in Tool Cutout that did not allow the transfer of used cutout tool diameter to the cutout geometry object
2019-07-08 20:06:41 +03:00
Marius Stanciu 259a62230e - optimized the toggle of annotations; now there is no need to replot the entire CNCJob object too on toggling of the annotations
- on toggling off the plot visibility the annotations are turned off too
- updated translations; Russian translation at 76% (using Yandex translator engine - needs verification by a native speaker of Russian)
- RELEASE 8.919
2019-06-22 21:37:18 +03:00
Marius Stanciu 21a15e73bd - fixed bug in Gerber isolation (Geometry expects now a value in string format and not float)
- fixed bug in Paint tool: now it is possible to paint geometry generated by External Isolation (or Internal isolation)
- fixed bug in editing a multigeo Geometry object if previously a tool was deleted
2019-06-22 20:17:45 +03:00
Marius Stanciu 963fbc8cbf - fixed recently introduced bug in milling drills/slots functions 2019-06-22 18:02:41 +03:00
Marius Stanciu 68bdfaf062 - some GUI layout optimizations in Edit -> Preferences
- added the possibility for multiple tool diameters in the Edit -> Preferences -> Geometry -> Geometry General -> Tool dia separated by comma
- fixed scaling for the multiple tool diameters in Edit -> Preferences -> Geometry -> Geometry General -> Tool dia, for NCC tools more than 2 and for Solderpaste nozzles more than 2
- fixed bug in CNCJob where the CNC Tools table will show always only 2 decimals for Tool diameters regardless of the current measuring units
- made the tools diameters decimals in case of INCH FlatCAM units to be 4 instead of 3
- fixed bug in updating Grid values whenever toggling the FlatCAM units and the X, Y Grid values are linked, bugs which caused the Y value to be scaled incorrectly
- set the decimals for Grid values to be set to 6 if the units of FlatCAM is INCH and to set to 4 if FlatCAM units are METRIC
- updated translations
- updated the Russian translate from 51% complete to 69% complete using the Yandex translation engine
2019-06-22 17:58:31 +03:00
Marius Stanciu fe3acc93f4 - milling an Excellon file (holes and/or slots) will now transfer the chosen milling bit diameter to the resulting Geometry object 2019-06-19 11:55:45 +03:00
Marius Stanciu ffa92524f0 - fixed bug where for Geometry objects after a successful object rename done in the Object collection view (Project tab), deselect the object and reselect it and then in the Selected tab the name is not the new one but the old one
- for Geometry objects, adding a new tool to the Tools table after a successful rename will now store the new name in the tool data
2019-06-17 17:01:27 +03:00
Marius Stanciu 0244c76605 - restored the FlatCAMObj.visible() to a non-threaded default 2019-06-16 02:34:41 +03:00
Marius Stanciu a106472900 - fixed the Edit -> Conversion -> Join ... functions (merge() functions)
- updated translations
- Russian translate by @camellan is not finished yet
- some PEP8 cleanup in camlib.py
- RELEASE 8.918
2019-06-11 23:04:31 +03:00
Marius Stanciu a5ffe475dd - fixed bug in ToolCutout where creating a cutout object geometry from another external isolation geometry failed
- fixed bug in cncjob TclCommand where the gcode could not be correctly generated due of missing bounds params in obj.options dict
- fixed a hardcoded tolerance in FlatCAMGeometry.generatecncjob() and in FlatCAMGeometry.mtool_gen_cncjob() to use the parameter from Preferences
2019-06-07 23:14:00 +03:00
Marius Stanciu f06fec12ea - added a new parameter in Edit -> Preferences -> CNCJob named Annotation Color; it controls the color of the font used for annotations
- added a new parameter in Edit -> Preferences -> CNCJob named Annotation Size; it controls the size of the font used for annotations
- made visibility change threaded in FlatCAMObj()
2019-06-03 22:59:45 +03:00
Marius Stanciu 2a30101bb0 - TclCommand Geocutout is now creating a new geometry object when working on a geometry, preserving also the origin object 2019-06-03 04:47:29 +03:00
Marius Stanciu c409df0a8e - fixed issue with geometry name not being updated immediately after change while doing geocutout TclCommand
- some changes to enable/disable project context menu entry handlers
2019-06-02 14:04:14 +03:00
Marius Stanciu 9abb9c5df2 - added the possibility to display text annotation for the CNC travel lines. The setting is both in Preferences and in the CNC object properties 2019-05-31 12:43:30 +03:00
Marius Stanciu b7023d8ef6 - more PEP8 cleanup 2019-05-30 21:15:09 +03:00
Marius Stanciu 8ee516ec14 - editing a multi geometry will no longer pop-up a Tcl window
- solved issue #292 where a new geometry renamed with many underscores failed to store the name in a saved project
- the name for the saved projects are updated to the current time and not to the time of the app startup
- some PEP8 changes related to comments starting with only one '#' symbol
2019-05-30 21:05:12 +03:00
Marius Stanciu 17e1f87a1c - made wider the '#' column for Apertures Table for Gerber Object and for Gerber Editor; in this way numbers with 3 digits can be seen 2019-05-19 23:03:08 +03:00
Marius Stanciu f779c74d0e - fixed App.convert_any2gerber to work with the new Gerber apertures data structure
- fixed Tool Sub to work with the new Gerber apertures data structure
2019-05-18 18:22:02 +03:00
Marius Stanciu 8ccd73b919 - added a new toggle option in Edit -> Preferences -> General Tab -> App Preferences -> "Open" Behavior. It controls which path is used when opening a new file. If checked the last saved path is used when saving files and the last opened path is used when opening files. If unchecked then the path for the last action (either open or save) is used. 2019-05-18 17:17:37 +03:00
Marius Stanciu d172a3ca49 - Gerber Export: made sure that if some of the coordinates in a Gerber object geometry are repeating then the resulting Gerber code include only one copy
- added a new parameter/feature: now the spindle can work in clockwise mode (CW) or counter clockwise mode (CCW)
2019-05-16 03:13:22 +03:00
Marius Stanciu e6a0997fd6 - camlib Gerber parser - made sure that we don't loose goemetry in regions
- Gerber Editor - made sure that for some tools the added geometry is clean (the coordinates are non repeating)
- covered some possible issues in Gerber Export
2019-05-15 14:02:24 +03:00
Marius Stanciu 78939fdc84 - Gerber Editor: fixed units conversion for obj.apertures keys that require it 2019-05-15 03:56:31 +03:00
Marius Stanciu c70309e802 - Gerber Export is fixed to work with the new Gerber object data structure and it now works also for Gerber objects edited in Gerber Editor 2019-05-15 02:29:33 +03:00
Marius Stanciu af091c7b14 - made the Feedrate Rapids parameter to depend on the type of postprocessor choosed. It will be showed only for a postprocessor which the name contain 'marlin' and for any postprocessor's that have 'custom' in the name 2019-05-11 04:54:05 +03:00
Marius Stanciu aaa81f22b2 - wip 2019-05-09 05:01:33 +03:00
Marius Stanciu 5b663c5f20 - work in Gerber Export: finished the body export but have some errors with clear geometry (LPC) 2019-05-08 04:21:34 +03:00
Marius Stanciu bdd13a3800 - work in Gerber Export: finished the body export but have some errors with clear geometry (LPC) 2019-05-07 21:13:20 +03:00
Marius Stanciu 825b3e5e1e - Gerber Export: working in progress for parsing Gerber geometries in FlatCAMObj.FlatCAMGerber.export_gerber() 2019-05-07 16:11:10 +03:00
Marius Stanciu b9fa2e2bfd - fixed the Gerber Object and Gerber Editor Apertures Table to not show extra rows when there are aperture macros in the object 2019-05-07 15:24:20 +03:00
Marius Stanciu 0106d95e84 - added a new parameter in the Edit -> Preferences -> App Preferences named Geo Tolerance. This parameter control the level of geometric detail throughout FlatCAM. It directly influence the effect of Circle Steps parameter. 2019-05-06 22:33:45 +03:00
Marius Stanciu b19047a8b3 - fixed some bugs related to moving an Gerber object with the aperture table in view 2019-05-06 20:12:49 +03:00
Marius Stanciu d35ae3a39a - made units change from Edit -> Toggle Units not to affect the preferences
- remade the way the aperture marks are plotted in Gerber Object
2019-05-06 16:40:31 +03:00
Marius Stanciu 747a0817f3 - made some mods to what can be translated as some of the translations interfered with the correct functioning of FlatCAM
- updated the translations
2019-05-01 16:04:40 +03:00
Marius Stanciu 43c539702e - all Gerber regions (G36 G37) are stored in the '0' aperture
- fixed a bug that added geometry with clear polarity in the apertures where was not supposed to be
2019-04-27 03:03:00 +03:00
Marius Stanciu ddc2f2d873 - Geometry Editor: modified the intersection (if the selected shapes don't intersects preserve them) and substract functions (delete all shapes that were used in the process)
- work in the ToolSilk
2019-04-25 16:47:17 +03:00
Marius Stanciu d92750d124 - added ability to use ENTER key to finish tool adding in Editors, NCC Tool, Paint Tool and SolderPaste Tool. 2019-04-16 15:27:51 +03:00
Marius Stanciu b3aeb497ec - changed the color of the marked apertures to the global_selection_color
- Gerber Editor: added Transformation Tool and Rotation key shortcut
2019-04-11 16:59:21 +03:00
Marius Stanciu 7c0cfac8de - created menu links and shortcut keys for adding a new empty Gerber objects; on update of the edited Gerber, if the source object was an empty one (new blank one) this source obj will be deleted
- removed the old apertures editing from Gerber Obj selected tab
2019-04-10 20:31:37 +03:00
Marius Stanciu 68a6f64fcd - Gerber Editor: added buffer and scale tools 2019-04-09 17:30:01 +03:00
Marius Stanciu 5e9a27ca45 - added a Gcode end_command: default is M02 2019-04-03 16:14:26 +03:00
Marius Stanciu 1c1d8bd637 - fix error in plotting Excellon when toggling units
- FlatCAM editors now are separated each in it's own file
- fixed TextTool in Geometry Editor so it will open the notebook on activation and close it after finishing text adding
- started to work on a Gerber Editor
2019-03-29 23:45:50 +02:00
Marius Stanciu ecc2c90f2a - changed all the info messages that are of type warning, error or success so they have a space added after the keyword
- changed the Romanian translation by adding more diacritics
2019-03-29 00:26:00 +02:00
Marius Stanciu ffa9095066 - fixed issue #278. Crash on name change in the Name field in the Selected Tab. 2019-03-27 23:34:10 +02:00
Marius Stanciu 209683b2db - added new feature: user can delete apertures in Advanced mode and then create a new FlatCAM Gerber object 2019-03-27 12:26:19 +02:00
Marius Stanciu 1aabb1c084 - added CNCJob geometry for the holes created by the drills from Excellon objects 2019-03-27 01:21:01 +02:00
Marius Stanciu a7e6914584 - fixed an issue where the Geometry plot function protested that it does not have an parameter that is used by the CNCJob plot function. But both inherit from FaltCAMObj plot function which does not have that parameter so something may need to be changed. Until then I provided a phony keyboard parameter to make that function 'shut up' 2019-03-26 15:53:07 +02:00
Marius Stanciu 789dcc5da5 - fixed the Gerber.merge() function. When some of the Gerber files have apertures with same id, create a new aperture id for the object that is fused because each aperture id may hold different geometries. 2019-03-22 20:28:43 +02:00
Marius Stanciu 0eb3ea0283 - fixed the Gerber.merge() to work for the case when one of the merged Gerber objects solid_geometry type is Polygon and not a list 2019-03-20 03:08:07 +02:00
Marius Stanciu bebb827bd2 - added autocomplete for Code editor; TODO: needs to be enabled only when doing Scripts, right now is available for everyone. 2019-03-19 03:05:00 +02:00
Marius Stanciu 6e465d97cd - the Code Editor tab name is changed according to the task; 'save' and 'open' buttons will have filters installed for the QOpenDialog fit to the task 2019-03-19 01:05:25 +02:00
Marius Stanciu abfa78d898 - remade the layout in 2Sided Tool
- work in progress for translation in Romanian - 91%
2019-03-17 15:47:17 +02:00
Marius Stanciu 46da2dfd1e - made the layout combobox current item from Preferences -> General window to reflect the current layout
- remade the POT translate file
- work in progress in translation for Romanian language 44%
- fix for showing tools by activating them from the Menu - final fix.
2019-03-16 00:59:59 +02:00
Marius Stanciu c0d21ee4e0 - made the layout combobox current item from Preferences -> General window to reflect the current layout
- remade the POT translate file
- work in progress in translation for Romanian language 44%
- fix for showing tools by activating them from the Menu - final fix.
2019-03-14 01:09:06 +02:00
Marius Stanciu 255254a292 - some strings were left outside the translation formatting - fixed
- finished the replacement of '_' symbols throughout the app which conflicted with the _() function used by the i18n
2019-03-11 20:00:07 +02:00
Marius Stanciu 9d33e08ecf - added a visual cue in Menu -> Edit about the entries to enter the Editor and to Save & Exit Editor. When one is enabled the other is disabled.
- grouped all the UI files in flatcamGUI folder
2019-03-11 12:23:26 +02:00
Marius Stanciu a6e23b28a7 - fix app crash for the case that there are no translation files
- fixed some forgotten strings to be prepared for internationalization in ToolCalculators
- fixed Tools menu no longer working due of changes
- added some test translation for the ToolCalculators (in Romanian)
- fixed bug in ToolCutOut where for each tool invocation the signals were reconnected
2019-03-10 17:12:58 +02:00
Marius Stanciu 53627b566c - added a fix in the Gerber parser when adding the geometry in the self.apertures dict for the case that the current aperture is None (Allegro does that)
- finished support for internationalization by adding a set of .po/.mo files for the English language. Unfortunately the final action can be done only when Beta will be out of Beta (no more changes) or when I will decide to stop working on this app.
- changed the tooltip for 'feedrate_rapids' parameter to point out that this parameter is useful only for the Marlin postprocessor
2019-03-10 14:34:13 +02:00
Marius Stanciu bfb04d5bee - finished preparing for internationalization for the files: FlatCAMObj, ObjectUI 2019-03-09 00:12:38 +02:00
Marius Stanciu 6ba037fd83 - fixed issue when doing th CTRL (or SHIFT) + LMB, the focus is automatically moved to Project Tab
- further work in internationalization, added a fallback to English language in case there is no translation for a string
2019-03-08 14:10:23 +02:00
Marius Stanciu 574184f44c - fixed Measuring Tool - after doing a measurement the Notebook was switching to Project Tab without letting the user see the results
- more work on the translation engine; the app now restarts after a language is applied
- added protection against using Travel Z parameter with negative or zero value (in Geometry).
2019-03-08 01:32:18 +02:00
Marius Stanciu b20a6a1a85 - modified the way the FlatCAM Tools are run from toolbar as opposed of running them from other sources
- some Gerber UI changes
2019-03-06 15:22:35 +02:00
Marius Stanciu 85ff3805ae - finished work on object hovering 2019-03-04 03:52:12 +02:00
Marius Stanciu 06fb48eb6a - minor UI changes for Gerber UI
- ~~after an object move, the apertures plotted shapes are deleted from canvas and the 'mark all' button is deselected~~
- after move tool action or any other transform (rotate, skew, scale, mirror, offset), the plotted apertures are kept plotted.
- changing units now will convert all the default values from one unit type to another
- prettified the selection shape and the moving shape
- initial work in object hovering shape
2019-03-04 03:47:19 +02:00
Marius Stanciu d79d6cf2bc - minor UI changes for Gerber UI
- after an object move, the apertures plotted shapes are deleted from canvas and the mark all button is deselected
- fixed offset, rotate, scale, skew for follow_geometry. Fixed the move tool also.
- fixed offset, rotate, scale, skew for 'solid_geometry' inside the self.apertures.
2019-03-03 16:35:15 +02:00
Marius Stanciu 9f60df850e - progress in ToolChange Custom commands replacement and rename 2019-02-28 18:02:29 +02:00
Marius Stanciu 1839843fad - added toggle effect for the tools in the toolbar.
- enhanced the toggle effect for the tools in the Tools Toolbar and also for Notebook Tab selection: if the current tool is activated it will toggle the notebook side but only if the installed widget is itself. If coming from another tool, the notebook will stay visible
2019-02-27 17:32:52 +02:00
Marius Stanciu fb6edfc394 - made the Custom ToolChange Text area in CNCJob Selected Tab depend on the status of the ToolChange Enable Checkbox even in the init stage.
- added some parameters throughout camlib gcode generation functions; handled some possible errors (e.g like when attempting to use an empty Custom GCode Toolchange)
2019-02-27 01:45:32 +02:00
Marius Stanciu 18132eab4c - made the polygon fusing in modified Gerber creation, a list comprehension in an attempt for optimization
- when right clicking the files in Project tab, the Save option for Excellon no longer export it but really save the original.
2019-02-27 00:14:53 +02:00
Marius Stanciu 7b4ea1dfa9 - added a Mark All button in the Gerber aperture table.
- because adding shapes to the shapes collection (when doing Mark or Mark All) is time consuming I made the plot_apertures() threaded.
2019-02-26 23:12:15 +02:00
Marius Stanciu 874ce11d84 - work in progress to Toolchange_Custom code replacememnt -> finished the parse and replace function 2019-02-26 17:03:57 +02:00
Marius Stanciu 74ecbabf1f - added a function to read the parameters from ToolChange macro Text Box (I need to move it from CNCJob to Excellon and Geometry) 2019-02-26 02:24:56 +02:00
Marius Stanciu 386c3408ca - added in Preferences a new Category: Gerber Advanced Options. For now it controls the display of Gerber Aperture Table and the "follow" attribute4
- fixed FlatCAMGerber.merge() to merge the self.apertures[ap]['solid_geometry'] too
- started to work on a new feature that allow adding a ToolChange GCode macro - GUI added both in CNCJob Selected tab and in CNCJob Preferences
- added a limited 'sort-of' Gerber Editor: it allows buffering and scaling of apertures
2019-02-26 00:33:31 +02:00
Marius Stanciu 11ef818f0d - more modifications for the Gerber UI layout; made 'follow' an advanced Gerber option 2019-02-25 19:42:56 +02:00
Marius Stanciu d43de2ea77 - fixed the Gerber object UI layout
- added ability to mark individual apertures in Gerber file using the Gerber Aperture Table
2019-02-25 16:28:32 +02:00
Marius Stanciu 4d8eefb92d - fixed the Set To Origin function when Escape was clicked 2019-02-24 01:57:47 +02:00
Marius Stanciu 3bad47b3be - updated the Properties Tool to include more information's, also details if a Geometry is of type MultiGeo or SingleGeo
- remade the Preferences GUI to include the Advanced Options in a separate way so it is obvious which are displayed when App Level is Advanced.
2019-02-23 16:02:45 +02:00
Marius Stanciu 2843810ab3 - some GUI elements changes 2019-02-23 06:11:42 +02:00