Commit Graph

333 Commits

Author SHA1 Message Date
Marius Stanciu ffbb47dde5 - modified FlatCAMObj.py file to the new string format that will allow easier translations 2019-09-09 17:24:54 +03:00
Marius Stanciu 2bd730ceeb - some fixes in Paint Tool when done over the Gerber objects in case that the progressive plotting is selected
- some fixes in Gerber isolation in case that the progressive plotting is selected; added a 'Buffer solid geometry' button shown only when progressive plotting for Gerber object is selected. It will buffer the entire geometry of the object and plot it, in a threaded way.
2019-09-09 14:32:30 +03:00
Marius Stanciu 28a86aa661 - updated German language translation files
- separated the Plotting thread from the transformations threads
2019-09-07 23:16:20 +03:00
Marius Stanciu 97024ed643 - corrected some issues and made Move Tool to show correctly when it is moving and when it is offsetting the objects position 2019-09-07 18:41:48 +03:00
Marius Stanciu 4cbb5846e3 - all transformation functions show now the progress (rotate, mirror, scale, offset, skew)
- made threaded the Offset and Scale operations found in the Selected tab of the object
2019-09-07 17:08:25 +03:00
Marius Stanciu f164dae7a9 - added to GUI new options for the Gerber object related to area subtraction
- added new feature in the Gerber object isolation allowing for the isolation to avoid an area defined by another object (Gerber or Geometry)
2019-09-07 15:13:40 +03:00
Marius Stanciu 2c2bdf5002 - remade the handlers for the Enable/Disable Project Tree context menu so they are threaded and activity is shown in the lower right corner of the main window 2019-09-07 10:55:45 +03:00
Marius Stanciu 124abf78b4 - made the objects offset (therefore the Move Tool) show progress display 2019-09-06 23:05:41 +03:00
Marius Stanciu 053ceb3c24 - added progress display in status bar for generating CNCJob from Geometry objects 2019-09-06 16:27:23 +03:00
Marius Stanciu c1ce72e9fb - some fixes and prepared the activity monitor area to receive updated texts 2019-09-06 15:20:19 +03:00
Marius Stanciu a138c539e4 - remade visibility threaded
- reimplemented the thread listening for new FlatCAM process starting with args so it is no longer subclassed but using the moveToThread function
2019-09-06 00:16:33 +03:00
Marius Stanciu 67f0c657c6 - more messages 2019-09-05 17:53:59 +03:00
Marius Stanciu 76138986bf - fixed issue with loading files at start-up
- fixed issue with generating bounding box geometry for CNCJob objects
- added some more infobar messages and log.debug
- increased the priority for the worker tasks
2019-09-05 17:38:45 +03:00
Marius Stanciu 4dbf6b2fa9 - small changes in NCC tool regarding the usage of the V-shape tool 2019-09-03 01:32:10 +03:00
Marius Stanciu 7ff8d893c0 - in NCC tool there is now a depth of cut parameter named 'Cut Z' which will dictate how deep the tool will enter into the PCB material
- in NCC tool added possibility to choose between the type of tools to be used and when V-shape is used then the tool diameter is calculated from the desired depth of cut and from the V-tip parameters
2019-09-03 01:13:03 +03:00
Marius Stanciu b84fe4e901 - in Excellon and Gerber Seleted tab made the Plot (mark) columns not selectable
- some ToolTips were modified
2019-09-02 16:46:38 +03:00
Marius Stanciu 625559555c - made changes in the Excellon Tools Table to make it more clear that the tools are selected in the # column and not in the Plot column 2019-09-02 13:52:15 +03:00
Marius Stanciu ba1e0bc94b - fixed Tcl Command CncJob
- fixed crash due of Properties Tool trying to have a convex hull area on FlatCAMCNCJob objects which is not possible due of their nature
- modified Tcl Command SubtractRectangle
- fixed and modernized the Tcl Command Scale to be able to scale on X axis or on Y axis or on both and having as scale reference either the (0, 0) point or the minimum point of the bounding box or the center of the bounding box.
- fixed and modernized the Tcl Command Skew
2019-08-26 00:40:35 +03:00
Marius Stanciu eedfb56bf5 - fixed minor issues 2019-08-25 21:19:03 +03:00
Marius Stanciu d35343881f - fixed issue #298. The changes in postprocessors done in Preferences dis not update the object UI layout as it was supposed to. The selection of Marlin postproc. did not unhidden the Feedrate Rapids entry. 2019-08-25 20:48:44 +03:00
Marius Stanciu 0e96be7d9a - made PlotCanvas class inherit from VisPy Canvas instead of creating an instance of it (work of JP) 2019-08-24 04:45:25 +03:00
Marius Stanciu 017d495a41 - fixed TclCommandFollow command; an older function name was used who yielded wrong results 2019-08-22 23:09:41 +03:00
Marius Stanciu 97e262e47c - changed some debug messages in camlib.py and in FlatCAMObj.py 2019-08-21 15:05:50 +03:00
Marius Stanciu 07c31bba22 - fixed bug in Tool Sub that created issues when toggling visibility of the plots 2019-08-19 23:34:37 +03:00
Marius Stanciu b20203eace - moved the initialization of the FlatCAM editors after a read of the default values. If I don't do this then only at the first start of the application the Editors are not functional as the Editor objects are most likely destroyed
- fixed bug in FlatCAM editors that caused the shapes to be drawn without resolution when the app units where INCH
- modified the transformation functions in all classes in camlib.py and FlatCAMObj.py to work with empty geometries
2019-08-17 18:47:41 +03:00
Marius Stanciu 9205dd61f8 - fixed error when creating CNCJob due of having the annotations disabled from preferences but the plot2() function from camlib.CNCJob class still performed operations who yielded TypeError exceptions 2019-08-17 15:11:50 +03:00
Marius Stanciu bc6b2666cd - added estimated time of routing for the CNCJob and added travelled distance parameter for geometry, too 2019-08-17 06:02:20 +03:00
Marius Stanciu e061c4364a - each CNCJob object has now it's own text_collection for the annotations which allow the individual enabling and disabling of the annotations 2019-08-16 17:21:31 +03:00
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