Commit Graph

343 Commits

Author SHA1 Message Date
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
Marius Stanciu 7272b46dd9 - added Repetier postprocessor file
- removed "added ability to regenerate objects (it's actually deletion followed by recreation)" because of the way Python pass parameters to functions by reference instead of copy
2019-02-22 16:54:58 +02:00
Marius Stanciu 45b5cba68a - fixed issue with not updating correctly the plot kind (all, cut, travel) when clicking in the CNC Tools Table plot buttons
- made the GCode Editor for ToolSolderPaste clear the text before updating the Code Editor tab
- all the Tabs in Plot Area are closed (except Plot Area itself) on New Project creation
2019-02-22 00:37:57 +02:00
Marius Stanciu d453c31bf5 - finished work in ToolSolderPaste 2019-02-21 23:48:13 +02:00
Marius Stanciu 48e54a0655 - added protection against trying to create a CNCJob from a solder_paste dispenser geometry. This one is different than the default Geometry and can be handled only by SolderPaste Tool.
- ToolSoderPaste tools (nozzles) now have each it's own settings
2019-02-21 14:23:34 +02:00
Marius Stanciu 9557e1af60 - added protection against creating CNCJob from an empty Geometry object (with no geometry inside)
- changed the shortcut key for YouTube channel from F2 to key F4
- changed the way APP LEVEL is showed both in Edit -> Preferences -> General tab and in each Selected Tab. Changed the ToolTips content for this.
- added the functions for GCode View and GCode Save in Tool SolderPaste
2019-02-21 03:04:38 +02:00
Marius Stanciu 4ab2374903 - added protection against creating CNCJob from an empty Geometry object (with no geometry inside)
- changed the shortcut key for YOuTube channel from F2 to key F4
2019-02-21 01:14:55 +02:00
Marius Stanciu 9d0bcf477a - removed the Open Gerber with 'follow' menu entry and also the open_gerber Tcl Command attribute 'follow'. This is no longer required because now the follow_geometry is stored by default in a Gerber object attribute gerber_obj.follow_geometry
- added a new parameter for the Tcl CommandIsolate, named: 'follow'. When follow = 1 (True) the resulting geometry will follow the Gerber paths.
2019-02-19 14:53:55 +02:00
Marius Stanciu d998b87601 - fixed issue with not loading old projects that do not have certain information's required by the new versions of FlatCAM
- compacted a bit more the GUI for Gerber Object
2019-02-19 13:00:38 +02:00
Marius Stanciu 88a0be7cf1 - modified the GUI in Objects Selected Tab to accommodate 2 different modes: basic and Advanced. In Basic mode, some of the functionality's are hidden from the user. 2019-02-18 21:19:57 +02:00
Marius Stanciu 941cec30ae - Serialized the source_file of the Objects so it is saved in the FlatCAM project and restored.
- if there is a single tool in the tool list (Geometry , Excellon) and the user click the Generate GCode, use that tool even if it is not selected
2019-02-16 21:03:27 +02:00
Marius Stanciu 326599e4a3 - changed some status bar messages
- New feature: added the capability to view the source code of the Gerber/Excellon file that was loaded into the app. The file is also stored as an object attribute for later use. THe view option is in the project context menu and in Menu -> Options -> View Source
2019-02-16 19:47:50 +02:00
Marius Stanciu 679b33fa72 - updated the Excellon plot function so it can plot the Excellon's from old projects
- removed the message boxes that popup on Excellon Export errors and replaced them with status bar messages
2019-02-16 01:52:20 +02:00
Marius Stanciu e717cb8f15 - remade the Excellon export function to work with parameters entered in Edit -> Preferences -> Excellon Export
- added a new entry in the Project Context Menu named 'Save'. It will actually work for Geometry and it will do Export DXF and for Excellon and it will do Export Excellon
2019-02-15 23:35:23 +02:00
Marius Stanciu aea67a4a1d - rearranged the FIle and Edit menu's and added some explanatory tooltips on certain menu items that could be seen as cryptic
- added Excellon Export Options in Edit -> Preferences
- started to work in using the Excellon Export parameters
2019-02-15 16:41:42 +02:00
Marius Stanciu a978b5621d - the notebook is automatically collapsed when there are no objects in the collection and it is showed when adding an object
- added new options in Edit -> Preferences -> General -> App Preferences to control if the Notebook is showed at startup and if the notebook is closed when there are no objects in the collection and showed when the collection has objects.
2019-02-15 01:48:34 +02:00
Marius Stanciu fffdd6db97 - small changes 2019-02-14 23:55:43 +02:00
Marius Stanciu fa0ee40e90 - in Gerber aperture table now the values are displayed in the current units set in FlatCAM 2019-02-14 23:21:20 +02:00
Marius Stanciu cda10998e8 - updated the function for the project context menu 'Generate CNC' menu entry (Action) to use the modernized function FlatCAMObj.FlatCAMGeometry.on_generatecnc_button_click() 2019-02-14 21:33:42 +02:00
Marius Stanciu 3a05ebaffb - added total travel distance for CNCJob object created from Excellon Object in the CNCJob Selected tab 2019-02-14 01:21:24 +02:00
Marius Stanciu e091fd232d - added (and commented) an experimental FlatCAMObj.FlatCAMGerber.plot_apertures() 2019-02-14 00:09:48 +02:00
Marius Stanciu 15b533f25e - made the Gerber aperture table not visibile as default and added a checkbox that can toggle the visibility
- fixed issue with plotting in CNCJob; with Plot kind set to something else than 'all' when toggling Plot, it was defaulting to kind = 'all'
2019-02-13 23:48:43 +02:00
Marius Stanciu 53e8e4d486 - made the Gerber aperture table hidden by default and added a checkbox to show it 2019-02-13 22:34:56 +02:00
Marius Stanciu f3b1b45968 - changed the layout in the Selected Tab UI
- started to add apertures table support
- finished Gerber aperture table display
2019-02-13 17:26:21 +02:00
Marius Stanciu c94679919d - stored solid_geometry of Excellon object in the self.tools dictionary
- finished the solid_geometry restore after edit in Excellon Editor
- finished plotting selection for each tool in the Excellon Tool Table
- fixed the camlib.Excellon.bounds() function for the new type of Excellon geometry therefore fixed the canvas selection, too
2019-02-13 01:22:09 +02:00
Marius Stanciu 02793f7ae2 - starting to work on storing the solid_geometry for each tool in part in Excellon Object 2019-02-12 16:55:43 +02:00
Marius Stanciu 9b61e4cc37 - finished work on Offset parameter in Excellon Object (Excellon Editor, camlib, FlatCAMObj updated to take this param in consideration)
- fixed a bug where in Excellon editor when editing a file, a tool was automatically added. That is supposed to happen only for empty newly created Excellon Objects.
2019-02-12 15:12:12 +02:00
Marius Stanciu d0641458e4 - whenever a FlatCAM tool is activated, if the notebook side is hidden it will be unhidden
- reactivated the Voronoi classed
- added a new parameter named Offset in the Excellon tool table - work in progress
2019-02-12 04:00:11 +02:00
Marius Stanciu 258f877865 - changed some log messages 2019-02-10 14:02:53 +02:00
Marius Stanciu f35994a712 - repurposed shortcut key 'Delete' to delete tools in tooltable when the mouse is over the Seleted tab (with Geometry inside) or in Tools tab (when NCC Tool or Paint Tool is inside). Or in Excellon Editor when mouse is hovering the Selected tab selecting a tool, 'Delete' key will delete that tool, if on canvas 'Delete' key will delete a selected shape (drill). In rest, will delete selected objects. 2019-02-10 02:09:05 +02:00
Marius Stanciu 8b0a9a429a - fixed some errors 2019-02-09 01:47:59 +02:00
Marius Stanciu 8f000c0a18 - in Excellon Editor added a protection for Tool_dia field in case numbers using comma as decimal separator are used. Also added a QDoubleValidator forcing a number with max 4 decimals and from 0.0000 to 9.9999
- in Excellon Editor added a shortcut key 'T' that popup a window allowing to enter a new Tool with the set diameter
- in App added a shortcut key 'T' that popup a windows allowing to enter a new Tool with set diameter only when the Selected tab is on focus and only if a Geometry object is selected
- changed the shortcut key for Transform Tool from 'T' to 'ALT+T'
- fixed bug in Geometry Selected tab that generated error when used tool offset was less than half of either total length or half of total width. Now the app signal the issue with a status bar message
- added Double Validator for the Offset value so only float numbers can be entered.
- in App added a shortcut key 'T' that popup a windows allowing to enter a new Tool with set diameter only when the Tool tab is on focus and only if a NCC Tool or Paint Area Tool object is installed in the Tool Tab
2019-02-09 00:08:54 +02:00
Marius Stanciu 2ee80990e5 - added a new function (and shortcut key Escape) that when triggered it deselects all selected objects and delete the selection box(es)
- fixed bug in Excellon Gcode generation that made the toolchange X,Y always none regardless of the value in Preferences
2019-02-06 21:37:50 +02:00
Marius Stanciu 9dfbae7515 - added plot kind for CNC Job in the App Preferences 2019-02-06 20:29:53 +02:00
Marius Stanciu dedf8c09de - fixed the name self-insert in save dialog file for GCode; added protection in case the save path is None
- fixed FlatCAM crash when trying to make drills GCode out of a file that have only slots.
- made the shell toggle shortcut key work when focused on Selected Tab; toggle units shortcut also
- changed the messages for Units COnversion
2019-02-06 14:03:59 +02:00
Marius Stanciu b589292c0f - fixed bug in Excellon Slots milling: a value of a dict key was a string instead to be an int. A cast to integer solved it. 2019-02-06 02:17:29 +02:00
Marius Stanciu 299a6585a7 - done a regression on Tool Tab default text. It somehow delete Tools in certain scenarios so I got rid of it
- fixed bug in multigeometry geometry not having the bounds in self.options and crashing the GCode generation
- fixed bug that crashed whole application in case that the GCode editor is activated on a Tool gcode that is defective.
2019-02-06 00:16:14 +02:00
Marius Stanciu 3b8b7d470a - added a new parameter to set the feedrate of the probing in case the used postprocessor does probing (has toolchange_probe in it's name)
- fixed bug in Marlin postprocessor for the Excellon files; the header and toolchange event always used the parenthesis witch is not compatible with GCode for Marlin
- fixed a issue with a move to Z_move before any toolchange
2019-02-05 19:40:46 +02:00
Marius Stanciu 822800e7f5 - added a way to set the Probe depth if Toolchange_Probe postprocessors are selected
- finished the postprocessor file for MACH3 tool probing on toolchange event
2019-02-05 16:43:12 +02:00
Marius Stanciu e1888b1647 - added an automatic name on each save operation based on the object name and/or the current date
- added more information's for the statistics
2019-02-03 23:08:09 +02:00
Marius Stanciu 6ea3499d39 - updated the new shortcut list with the shortcuts added lately
- now the special messages in the Shell are color coded according to the level. Before they all were RED. Now the WARNINGS are yellow, ERRORS are red and SUCCESS is a dark green. Also the level is in CAPS LOCK to make them more obvious
- some more changes to GUI interface (solved issues)
- added some status bar messages in the Geometry Editor to guide the user when using the Geometry Tools
- now the '`' shortcut key that shows the 'shortcut key list' in Editors points to the same window which is created in a tab no longer as a pop-up window. This tab can be detached if needed.
2019-02-03 15:13:09 +02:00
Marius Stanciu 12b78cf2f3 - fixed the snap magnet button in Geometry Editor, restored the checkable property to True
- some more changes in the Editors GUI in deactivate() function
- a fix for saving again empt an edited new and empty Excellon Object
2019-02-03 00:52:57 +02:00
Marius Stanciu 7607aad8d8 - added protection against entering float numbers with comma separator instead of decimal dot separator in key points of FlatCAM (not everywhere)
- added a choice of plotting the kind of geometry for the CNC plot (all, travel and cut kind of geometries) in CNCJob Selected Tab
2019-02-02 23:56:08 +02:00
Marius Stanciu de7e41991d - fixed a source of possible errors in DetachableTab Widget.
- fixed gcode conversion/scale (on units change) when multiple values are found on each line
- replaced the pop-up window for the shortcut list with a new detachable tab
- removed the pop-up messages from the rotate, skew, flip commands
2019-02-02 03:27:34 +02:00
Marius Stanciu d45d2c05ec - added the bounds coordinates to the GCODE header; modified the postprocessor files to show them. 2019-02-01 00:23:20 +02:00
Marius Stanciu d5853722c3 - updated the camlib.CNCJob.scale() function so now the GCode is scaled also (quite a HACK :( it will need to be replaced at some point)). Units change work now on the GCODE also. 2019-01-31 23:07:53 +02:00
Marius Stanciu 60614e4b45 - more fixes (didn't get it right before) 2019-01-31 02:50:03 +02:00
Marius Stanciu 4441e40042 - fixed postprocessor files to work with toolchange_xy parameter value = None (no values in Edit - Preferences fields) - actual fix
- fixed Tcl commands CncJob and DrillCncJob to work with toolchange
2019-01-31 01:45:14 +02:00
Marius Stanciu 7bc806f1dc - fixed unit conversion functions in case the toolchange_xy parameter is None
- more fixes in camlib.CNCJob regarding usage of toolchange (in case it is None)
- fixed postprocessor files to work with toolchange_xy parameter value = None (no values in Edit - Preferences fields)
2019-01-31 00:36:32 +02:00
Marius Stanciu 7e5ce009d8 - added a traceback report in the TCL Shell for the errors that don't allow creation of an object; useful to trace exceptions/errors
- in case that the Toolchange X,Y parameter in Selected (or in Preferences) are deleted then the app will still do the job using the current coordinates for toolchange
- fixed an issue in camlib.CNCJob where tha variable self.toolchange_xy was used for 2 different purposes which created loss of information.
2019-01-30 23:17:27 +02:00
Marius Stanciu 97c5c3fe1c - optimized the FlatCAMCNCJob.on_plot_cb_click_table() plot function and solved a bug regarding having tools numbers not in sync with the cnc tool table 2019-01-29 23:01:41 +02:00
Marius Stanciu 5a0390f2a4 - fixed the scale, mirror, rotate, skew functions to work with Geometry Objects of multi-geometry type. 2019-01-29 15:56:49 +02:00
Marius Stanciu f6271033b3 - fixed issue in Tool Calculators when a float value was entered starting only with the dot.
- added protection for entering incorrect values in Offset and Scale fields for Gerber and Geometry objects (in Selected Tab)
2019-01-29 01:03:21 +02:00
Marius Stanciu c80271935e - minor changes 2019-01-28 16:31:06 +02:00
Marius Stanciu 8145ff9aac - fixed the FlatCAMGerber.merge() function
- added a new menu entry for the Gerber Join function: Edit -> Conversions -> "Join Gerber(s) to Gerber" allowing joining Gerber objects into a final Gerber object
2019-01-28 02:01:53 +02:00
Marius Stanciu 4f7b2bbb34 - added options for trace segmentation that can be useful for auto-levelling (code snippet from Lei Zheng from a rejected pull request on FlatCAM https://bitbucket.org/realthunder/ ) 2019-01-27 05:03:23 +02:00
Marius Stanciu c4a9c8bd77 - added more key shortcuts into the application; they are now displayed in the GUI menu's
- reorganized the Edit -> Preferences -> Global
- redesigned the messagebox that is showed when quiting ot creating a New Project: now it has an option ('Cancel') to abort the process returning to the app
2019-01-27 03:32:09 +02:00
Marius Stanciu c0031235cd - fixed grbl_laser postprocessor file
- updated function for copy of an Excellon object for the case when the object has slots
- updated FlatCAMExcellon.merge() function to work in case some (or all) of the merged objects have slots
2019-01-26 09:08:41 +02:00
Marius Stanciu d88d334867 - make sure to copy the options attribute to the final object in the case of: FlatCAMGeometry.merge(), FlatCAMGerber.merge() and for the Panelize Tool 2019-01-25 15:27:46 +02:00
Marius Stanciu 766e15ae38 - changed some tooltips
- added tooltips in Excellon tool table headers
- in Excellon Tool Table the columns are now only selectable by clicking on the header (sorting is done automatically)
- if CNCJob from Excellon then hide the CNC tools table in CNCJob Object
2019-01-21 23:44:22 +02:00
Marius Stanciu b9a062a84e - when saving HPGL code it will be saved as a file with extension .plt
- the units mentioned in HPGL format are only METRIC therefore if FlatCAM units are in INCH they will be transform to METRIC
- the minimum unit in HPGL is 0.025mm therefore the coordinates are rounded to a multiple of 0.025mm
2019-01-20 04:11:34 +02:00
Marius Stanciu 7ea6ee4a85 - fixed the HPGL code geometry rendering when travel
- fixed the message box layout when asking to save the current work
- made sure that whenever the HPGL postprocessor is selected the Toolchange is always ON and the MultiDepth is OFF
- the HPGL postprocessor entry is not allowed in Excellon Object postprocessor selection combobox as it is only applicable for Geometry
2019-01-20 02:46:42 +02:00
Marius Stanciu 4b6df74c2e - added initial implementation of HPGL postprocessor 2019-01-19 02:31:47 +02:00