Marius Stanciu
6d826fa143
- added option to save objects as PDF files in File -> Save menu
2019-12-12 03:18:52 +02:00
Marius Stanciu
a664f21dc1
- started work in HPGL2 parser
2019-12-11 14:32:01 +02:00
Marius Stanciu
5f739d1baf
- if extracut_length is zero then the extracut will cut up until the first point in path no matter what the distance is
2019-12-10 23:57:00 +02:00
Marius Stanciu
621ac9a598
- fixed a cummulative error when using the Tool Offset for Excellon objects
...
- added the dipaly of the real depth of cut (cut z + offset_z) for CNC tools made out of an Excellon object
2019-12-10 16:00:37 +02:00
Marius Stanciu
932f8143cd
- if extracut_length is zero then the extracut will cut up until the first point in path no matter what the distance is
2019-12-10 05:33:32 +02:00
Marius Stanciu
511ebc274f
- now extracut option in the Geometry Object will recut as many points as many they are within the specified re-cut length
2019-12-10 05:28:02 +02:00
Marius Stanciu
cee8c223a8
- small changes in the Geometry UI
2019-12-10 04:14:58 +02:00
Marius Stanciu
2ca509ca04
- few bugs solved regarding the newly created empty objects
2019-12-06 23:00:43 +02:00
Marius Stanciu
23a1388e98
- small changes in parse_gcode()
2019-12-06 18:45:13 +02:00
Marius Stanciu
bb192eb679
- in Properties Tool added more information's regarding the Excellon tools, about travelled distance and job time; fixed issues when doing Properties on the CNCjob objects
...
- TODO: I need to solve the mess in units conversion: it's too convoluted
2019-12-06 01:20:33 +02:00
Marius Stanciu
0d0f872244
- application wide change: introduced the precision parameters in Edit -> Preferences who will control how many decimals to use in the app parameters
2019-12-05 15:18:54 +02:00
Marius Stanciu
80dcd3805a
- improvements in Importing SVG as Gerber - added an automatic source generation (it is not infallible)
...
- a hack to import correctly the QRCode exported as SVG from FlatCAM
2019-12-02 20:03:27 +02:00
Marius Stanciu
462e9b4bd8
- fixed issue #343 ; updated the Image Tool
2019-12-02 16:40:59 +02:00
Marius Stanciu
d5a9e0bb5a
- In Gerber isolation changed the UI
...
- in Gerber isolation added the option to selectively isolate only certain polygons
2019-11-25 16:52:37 +02:00
Marius Stanciu
aac4fd75ca
- small fixes
2019-11-24 04:21:18 +02:00
Marius Stanciu
d03428f860
- made sure that the units are read from the self.defaults and not from the GUI
...
- added Robber Bar option to Copper Thieving Tool
2019-11-24 00:31:41 +02:00
Marius Stanciu
70d123306c
- in Tools Database added a contextual menu to add/copy/delete tool; CTRL+C, DEL keys work too; key T for adding a tool is now only partially working
...
- in Tools Database made the status bar messages show when adding/copying/deleting tools in DB
- changed all Except statements that were single to except Exception as recommended in some PEP
- renamed the Copper Fill Tool to Copper Thieving Tool as this is a more appropriate name; started to add ability for more types of copper thieving besides solid
- fixed some issues recently introduced in ParseSVG
- updated POT file
2019-11-11 02:35:42 +02:00
Marius Stanciu
14917456ab
- added a new setting named 'Allow Machinist Unsafe Settings' that will allow the Travel Z and Cut Z to take both positive and negative values
2019-11-05 15:12:10 +02:00
Marius Stanciu
849bcded4c
- updated the UI in Geometry UI
...
- optimized the order of the defaults storage declaration and the update of the Preferences GUI from the defaults
2019-11-05 01:01:52 +02:00
Marius Stanciu
120e866a01
- working on the Calibrate Excellon Tool
...
- converted Excellon Editor to usage of SpinBoxes
2019-10-28 23:14:40 +02:00
Marius Stanciu
2bde43ca3f
- added a new FlatCAM Tool: Copper Fill Tool. It will pour copper into a Gerber filling all empty space with copper, at a clearance distance of the Gerber features
2019-10-25 19:52:11 +03:00
Marius Stanciu
c8a97e69d0
- QRCode Tool - a SVG object is generated and plotted on screen having the QRCode data
...
- fixed an import error in Distance Tool
2019-10-23 22:53:38 +03:00
Marius Stanciu
46659af432
- finished the update on French Google translation.
2019-10-19 04:45:17 +03:00
Marius Stanciu
1af594403e
- fixed SVG export
2019-10-19 01:19:08 +03:00
Marius Stanciu
dfc0b98181
- fixed bug in Panelization Tool for which in case of Excellon objects, the panel kept a reference to the source object which created issues when moving or disabling/enabling the plots
...
- cleaned up the module imports throughout the app (the TclCommands are not yet verified)
2019-10-16 02:28:18 +03:00
Marius Stanciu
d43ec01cdd
- fixed an issue that caused the impossibility to load a GCode file that contained the % symbol even when was loaded in a regular way from the File menu
...
- re-added the CNC tool diameter entry for the CNCjob object in Selected tab.FCSpinner
- since the CNCjob geometry creation is only useful for graphical purposes and have no impact on the GCode creation I have removed the cascaded union on the GCode geometry therefore speeding up the Gcode display by many factors (perhaps hundreds of times faster)
2019-10-14 22:26:50 +03:00
Marius Stanciu
b00c1018e4
- enhanced the Tool Film adding the Film adjustments and added the GUI in Preferences
...
- set the GUI layout in Preferences for a new category named Tools 2
2019-10-13 18:13:39 +03:00
Marius Stanciu
78721590e0
- fixed a bug in NCC Tool and start trying to make the App responsive while the NCC tool is run in a non-threaded way
...
- fixed a GUI bug with the QMenuBar recently introduced
2019-10-12 19:57:05 +03:00
Marius Stanciu
53338a2186
- fixed the Gerber Parser convert units unnecessary usage. The only units conversion should be done when creating the new object, after the parsing
2019-10-12 04:49:50 +03:00
Marius Stanciu
a6b89dbf3a
- moved back the ApertureMacro class to camlib for now and made some import changes in the new ParseGerber and ParseExcellon classes
...
- some changes to the tests - perhaps I will try adding a few tests in the future
2019-10-06 15:56:41 +03:00
Marius Stanciu
b05c71201e
- moved the ApertureMacro class from camlib to ParseGerber file
2019-10-06 07:28:13 +03:00
Marius Stanciu
8762b115c9
- made FlatCAMExcellon and FlatCAMGerber into their own files in the flatcamParser folder
2019-10-06 07:14:10 +03:00
Marius Stanciu
ce666e2dbf
- added a fix in the Gerber parser to work even when there is no information about zero suppression in the Gerber file
...
- added new settings in Edit -> Preferences -> Gerber for Gerber Units and Gerber Zeros to be used as defaults in case that those informations are missing from the Gerber file
2019-10-01 15:08:49 +03:00
Marius Stanciu
f47d9cf3d2
- fixed issue #319 where generating a CNCJob from a geometry made with NCC Tool made the app crash
...
- replaced in FlatCAM Tools and in FLatCAMObj.py and in Editors all references to hardcoded decimals in string formats for tools with a variable declared in the __init__()
2019-09-28 23:58:23 +03:00
Marius Stanciu
edbb690d1b
- in legacy graphic engine, fixed a bug that when deleting an object all objects where deleted
...
- added a new TclCommand named set_origin which will set the origin for all loaded objects to zero if the -auto True argument is used and to a certain x,y location if the format is: set_origin 5,7
2019-09-23 03:35:32 +03:00
Marius Stanciu
183d4b7966
- some strings changed to be easier for translation
...
- updated the .POT file and the translation files
- updated and corrected the Romanian and Spanish translations
- updated the .PO files for the rest of the translations, they need to be filled in.
2019-09-22 17:06:22 +03:00
Marius Stanciu
bc6dc3decf
- fixed CNCJob and Excellon plotting in legacy graphic engine
...
- in legacy graphic engine fixed the travel vs cut lines in CNCJob objects
- final fix for key shortcuts with modifier in legacy graphic engine
- refactored some of the code in the legacy graphic engine
2019-09-21 18:26:03 +03:00
Marius Stanciu
01e2755676
- fixed mouse cursor to work for all objects
...
- fixed event signals to work in both graphic engines: 2D and 3D
2019-09-21 01:10:32 +03:00
Marius Stanciu
011e80c0ce
- legacy graphic engine - made the mouse events work (click, release, doubleclick, dragging)
...
- legacy graphic engine - made the key events work (simple or with modifiers)
- legacy graphic engine - made the mouse cursor work (enabled/disabled, position report); snapping is not moving the cursor yet
2019-09-20 17:25:32 +03:00
Marius Stanciu
26fe1bf5e1
- if FlatCAM is started with the 'quit' or 'exit' as argument it will close immediately and it will close also another instance of FlatCAM that may be running
2019-09-17 14:08:57 +03:00
Marius Stanciu
49ac19a221
- fixed an bug where the pywrapcp name from Google OR-Tools is not defined
2019-09-17 12:47:36 +03:00
Marius Stanciu
f51a3fa038
- made the splashscreen to be showed on the current monitor on systems with multiple monitors
...
- added a new entry in Menu -> View -> Redraw All which is doing what the name says: redraw all loaded objects
- fixed issue where in TCl Shell the Windows paths were not understood due of backslash symbol understood as escape symbol instead of path separator
- made sure that in for the TclCommand cncjob and for the drillcncjob if one of the args is stated but no value then the value used will be the default one
- made available the TSA algorithm for drill path optimization when the used OS is 64bit. When used OS is 32bit the only available algorithm is TSA
2019-09-16 23:27:02 +03:00
Marius Stanciu
cc3622d4c5
- fixed issue in the Laser postprocessor where the laser was turned on as soon as the GCode started creating an unwanted cut up until the job start
2019-09-16 18:19:46 +03:00
Marius Stanciu
e82bc22caf
- more string changes
...
- updated translation files
2019-09-14 02:14:26 +03:00
Marius Stanciu
f6cd63021e
- fixed some of the strings that were left in the old way
...
- updated the POT file
- updated Romanian language partially
2019-09-13 18:27:00 +03:00
Marius Stanciu
67808466d6
- added control for simplification when loading a Gerber file in Preferences -> Gerber -> Gerber General -> Simplify
2019-09-13 02:08:26 +03:00
Marius Stanciu
462e3ac2ec
- made faster the Gerber parser for the case of having a not valid geometry when loading a Gerber file without buffering
2019-09-11 05:19:35 +03:00
Marius Stanciu
91cad9c57d
- added the Gerber code as source for the panelized object in Panelize Tool
...
- whenever a Gerber file is deleted, the mark_shapes objects are deleted also
2019-09-11 04:54:30 +03:00
Marius Stanciu
a348bc8738
- made sure that all the progress counters count to 100%; updated this all over
2019-09-10 16:16:27 +03:00
Marius Stanciu
4114e773dd
- when disabling plots, if the selection shape is visible, it will be deleted
...
- small changes in Tool Panel (eliminating some deepcopy() calls)
- made sure that all the progress counters count to 100%
2019-09-10 16:05:54 +03:00
Marius Stanciu
f658e05240
- added progress and possibility of graceful exit in Panel Tool
...
- added graceful exit possibility when creating Isolation
2019-09-10 15:08:42 +03:00
Marius Stanciu
5838bd0554
- added progress for the generation of Isolation geometry
2019-09-10 13:45:12 +03:00
Marius Stanciu
59704a6e01
- fixed issue when loading unbuffered a Gerber file that has negative regions
...
- fixed Panelize Tool to save the aperture geometries into the panel apertures. Also made the tool faster by removing the buffering at the end of the job
- modified FlatCAMEditor's files to the new string format that will allow easier translations
- updated POT file and the Romanian translation
2019-09-10 03:20:14 +03:00
Marius Stanciu
14fe5080ec
- modified camlib.py, FlatCAMApp.py and ObjectCollection.py files to the new string format that will allow easier translations
...
- updated the POT file and the German language
2019-09-09 19:30:43 +03:00
Marius Stanciu
f38dab80e3
- added for NCC Tool and Paint Tool a setting in the Preferences -> Tools --> (NCC Tool/ Paint Tool) that can set a progressive plotting (plot shapes as they are processed)
2019-09-09 05:14:44 +03:00
Marius Stanciu
198e055328
- added a setting in Preferences -> Gerber -> Gerber General named Buffering. If set to 'no' the Gerber objects load a lot more faster (perhaps 10 times faster than when set to 'full') but the visual look is not so great as all the aperture polygons can be seen
2019-09-09 02:41:14 +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
5d854a6f1b
- added a method to gracefully exit from threaded tasks and implemented it for the NCC Tool and for the Paint Tool
...
- modified the on_about() function to reflect the reality in 2019 - FlatCAM it is an Open Source contributed software
2019-09-07 09:16:32 +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
24e29bda55
- more customization for the progress display in case of NCC Tool, Paint Tool and for the Gcode generation
2019-09-06 22:25:38 +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
48e9f4a260
- added progress display in status bar for generating CNCJob from Excellon objects
2019-09-06 15:50:37 +03:00
Marius Stanciu
c1e079474d
- small changes
2019-09-06 00:40:07 +03:00
Marius Stanciu
eb7584b649
- hidden the configuration for G91 coordinates due of deciding to leave this development for another time; it require too much refactoring
...
- added some messages for the G-code generation so the user know in which stage the process is
2019-09-05 20:36:02 +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
a2a3f1c1ed
- added support for G91 coordinates
...
- working in plotting the CNCjob generated with G91 coordinates
2019-09-04 17:41:17 +03:00
Marius Stanciu
28e31eb312
- started to work on support for G91 in Gcode (relative coordinates)
2019-09-04 09:38:29 +03:00
Marius Stanciu
d909b98130
- fixed bug in camblib.clear_polygon3() which caused that some copper clearing / paintings were not complete (some polygons were not processed) when the Straight Lines method was used
...
- some changes in NCC Tools regarding of the clearing itself
2019-09-03 23:15:29 +03:00
Marius Stanciu
4d9ff1c134
- fixed an issue when multi depth step is larger than the depth of cut
2019-09-02 00:35:52 +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
883e1ca837
- fixed bug in Excellon parser for the Excellon files that do not put the type of zero suppression they use in the file (like DipTrace eCAD)
2019-08-21 15:14:35 +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
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
0131fb7700
- 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 06:12:27 +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
eb385c1b28
- made sure that if multi depth is choosed when creating GCode then if the multidepth is more than the depth of cut only one cut is made (to the depth of cut)
2019-08-16 16:54:47 +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
04bc1ba013
- fixed bug in camlib.Gerber.parse_lines() Gerber parser where for Allegro Gerber files the Gerber units were incorrectly detected
2019-08-12 23:27:14 +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
cf8a277825
- trying to fix reported bugs
2019-08-11 02:18:32 +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
fd948cc2c8
- replaced setFixedWidth calls with setMinimumWidth
...
- recoded the camlib.Geometry.isolation_geometry() function
2019-08-07 15:05:33 +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
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
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
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
429753d211
- fixes issues with units conversion when the tool diameters are a list of comma separated values (NCC Tool, SolderPaste Tool and Geometry Object)
...
- fixed a "typo" kind of bug in SolderPaste Tool
- RELEASE 8.919
2019-06-23 00:04:49 +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
0244c76605
- restored the FlatCAMObj.visible() to a non-threaded default
2019-06-16 02:34:41 +03:00
Marius Stanciu
1b0cf14ef7
- fixed bug in Gerber parser that made the Gerber files generated by Altium Designer 18 not to be loaded
2019-06-15 17:20:38 +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