Commit Graph

523 Commits

Author SHA1 Message Date
Marius Stanciu c0ec3b6546 - Buffer sub-tool in Transform Tool: added the possibility to apply a factor effectively scaling the aperture size thus the copper features sizes
- in Transform Tool adjusted the GUI
2019-12-30 01:18:56 +02:00
Marius Stanciu 58054f71b3 - fixed a minor issue that when saving a project with CNCJob objects, the variable that holds the origin of the CNCJob object was not saved in the project. Added to the serializable objects also the exc_cnc_tools dictionary
- some changes in the File menu
2019-12-29 00:00:15 +02:00
Marius Stanciu 55549c7ba5 - cleaned the Preferences classes and added the signals and signal slots in those classes, removing them from the main app class
- each FlatCAM object found in Preferences has it's own set of controls for changing the colors
- added a set of gray icons to be used when the theme is complete dark (for now it is useful only for MacOS with dark theme because at the moment the app is not styled to dark UI except the plot area)
2019-12-27 03:05:17 +02:00
Marius Stanciu 0e5e3a5227 - some changes related to the fact that the geometry default tool diameter value can be comma separated string of tool diameters 2019-12-24 00:54:45 +02:00
Marius Stanciu b1b140634b - in Tool Transform added a new feature named 'Buffer'. For Geometry and Gerber objects will create (and replace) a geometry at a distance from the original geometry and for Excellon will adjust the Tool diameters 2019-12-23 22:59:01 +02:00
Marius Stanciu 0e3a9f0795 - more mods to generate_from_geometry_2() method 2019-12-17 15:11:08 +02:00
Marius Stanciu 82f0c40ff8 - fixed the generate_from_geometry_2() method to use the default values in case the parameters are None 2019-12-17 13:26:09 +02:00
Marius Stanciu 0574f7a039 - fixed the CNCJob geometry created with HPGL preprocessor 2019-12-16 20:32:00 +02:00
Marius Stanciu 6c2d628c6c - fixed the Defaults upgrade overwrting the new version number with the old one
- fixed issue with clear_polygon3() - the one who makes 'lines' and fixed the NCC Tool
2019-12-16 14:52:58 +02:00
Marius Stanciu 7ad091e163 - modified the export_gcode() method and the preprocessors such that the preprocessors now have the information if to include the gcode header
- RELEASE 8.99
2019-12-16 00:12:04 +02:00
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
Marius Stanciu dca57edf24 - fixed text annotation for CNC job so there are no overlapping numbers when 2 lines meet on the same point
- fixed issue in CNC job plotting where some of the isolation polygons are painted incorrectly
- fixed issue in CNCJob where the set circle steps is not used
2019-06-01 03:17:28 +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 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 17a93b8c7d - fixed some selection issues in the new tool Eraser in Geometry Editor
- updated the translation files
2019-05-22 18:37:33 +03:00
Marius Stanciu 4f2e5643d9 - added the file extension .ncd to the Excellon file extension list
- solved parsing issue for Excellon files generated by older Eagle versions (v6.x)
2019-05-21 16:13:36 +03:00
Marius Stanciu a545658d44 - fixed the Circle Steps parameter for both Gerber and Geometry objects not being applied and instead the app internal defaults were used.
- fixed the Tcl command Geocutout issue that gave an error when using the 4 or 8 value for gaps parameter
2019-05-19 17:15:24 +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 3e3c8ae703 - rewrited the Gerber Parser in camlib - success
- moved the self.apertures[aperture]['geometry'] processing for clear_geometry (geometry made with Gerber LPC command) in Gerber Editor
2019-05-15 00:27:43 +03:00
Marius Stanciu 784865518f - Gerber Editor - working in conversion to the new data format 2019-05-13 17:09:09 +03:00
Marius Stanciu 820f75e20c - Gerber Editor - working in conversion to the new data format 2019-05-13 14:56:05 +03:00
Marius Stanciu 01c0f901ff - some modifications to ToolCutout 2019-05-13 01:57:37 +03:00
Marius Stanciu 3565a39918 - restored some changes in camlib.Gerber (the last_path_aperture value changed in G02/G03 parsing) 2019-05-11 19:31:23 +03:00
Marius Stanciu 49b917448b - wip in camblib.Gerber 2019-05-11 17:08:40 +03:00
Marius Stanciu 6e2392e871 - fixed camlib.Gerber issues related to what happen after parsing rectangular apertures 2019-05-11 07:46:19 +03:00
Marius Stanciu 23fb8b2d7c - fixed the camlib.Gerber functions of mirror, scale, offset, skew and rotate to work with the new data structure for apertures geometry
- fixed Gerber Editor selection to work with the new Gerber data structure in self.apertures
2019-05-11 05:19:42 +03:00
Marius Stanciu 883cf3372a - fixed issue in camlib.CNCjob.generate_from_excellon_by_tool() in the drill path optimization algorithm selection when selecting the MH algorithm. The new API's for Google OR-tools required some changes and also the time parameter can be now just an integer therefore I modified the GUI 2019-05-11 04:41:18 +03:00
Marius Stanciu aaa81f22b2 - wip 2019-05-09 05:01:33 +03:00
Marius Stanciu 3d113c89b1 - rework the Gerber parser 2019-05-09 03:43:17 +03:00
Marius Stanciu 28fce82432 - Geometry Editor: made the tool to be able to continuously move until the tool is exited either by ESC key or by right mouse button click
- Geometry Editor Move Tool: if no shape is selected when triggering this tool, now it is possible to make the selection inside the tool
- Gerber editor Move Tool: fixed a bug that repeated the plotting function unnecessarily
- Gerber editor Move Tool: if no shape is selected the tool will exit
2019-05-08 20:01:06 +03:00
Marius Stanciu 8275750d3e - fixed camlib.Gerber skew, rotate, offset, mirror functions to work for geometry stored in the Gerber apertures 2019-05-08 06:15:02 +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 41956d68d6 - another fix for bug in clear geometry processing for Gerber apertures 2019-05-05 18:16:29 +03:00
Marius Stanciu b07ce477a3 - small bug fixes 2019-05-05 17:40:03 +03:00
Marius Stanciu fee24505ae - fixed bug in parsing Gerber regions (a point was added unnecessary) 2019-05-05 00:15:21 +03:00
Marius Stanciu d7031bc89a - fixed bug in camlib.parse_lines() in the clear_geometry processing section for self.apertures 2019-05-04 22:39:51 +03:00
Marius Stanciu c3c37d1473 - finished the Silkscreen Tool 2019-04-30 03:29:46 +03:00
Marius Stanciu 91e6cc0bff - soled bug in Gerber Editor: the '0' aperture (the region aperture) had no size which created errors. Made the size to be zero.
- solved bug in editors: the canvas selection shape was not deleted on mouse release if the grid snap was OFF
- solved bug in Excellon Editor: when selecting a drill hole on canvas the selected row in the Tools Table was not the correct onw but the next highest row
2019-04-29 22:28:45 +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 6775c3f3da - updated the code in camlib.CNCJob.generate_from_excellon_by_tools() to work with the new API from Google OR-Tools 2019-04-27 00:02:21 +03:00
Marius Stanciu 29d57caacd - commented the camlib.alpha_shape() as it is not needed but require a huge package (scipy) 2019-04-23 22:03:40 +03:00
Marius Stanciu 49120c088e - Gerber Editor: made Add Pad repeat until user exits the Add Pad through either mouse right click, or ESC key or deselecting the Add Pad menu item
- Gerber and Geometry Editors: fixed some issues with the Add Arc/Add Semidisc; in mode 132, the norm() function was not the one from numpy but from a FlatCAM Class. Also fixed some of the texts and made sure that when changing the mode, the current points are reset to prepare for the newly selected mode.
2019-04-23 13:13:10 +03:00
Marius Stanciu f69f888e38 - added a warning regarding the fact that the loaded Excellon file has no tool info about the diameters. This is the case for at least the Excellon's generated by PCB Wizard. 2019-04-17 22:15:02 +03:00
Marius Stanciu 2ba0b494ff - Gerber Editor: finished a new tool: Poligonize Tool (ALT+N in Editor). It will fuse a selection of tracks into a polygon. It will fill a selection of polygons if they are apart and it will make a single polygon if the selection is overlapped. All the newly created filled polygons will be stored in aperture '0' (if it does not exist it will be automatically created)
- fixed a bug in Move command in context menu who crashed the app when triggered
- Gerber Editor: when adding a new aperture it will be store as the last selected and it will be used for any tools that are triggered until a new aperture is selected.
2019-04-15 22:48:22 +03:00
Marius Stanciu 2b4beebba2 - added support in Excellon parser for autodetection of Excellon file format for the Excellon files generate by the following ECAD sw: DipTrace, Eagle, Altium, Sprint Layout 2019-04-15 19:29:23 +03:00
Marius Stanciu db26895b5b - working on a new tool to process automatically PcbWizard Excellon files which are generated in 2 files 2019-04-15 03:29:43 +03:00
Marius Stanciu 2e7d9f953f - solved bug in Gerber apertures size and dimensions values conversion when file units are different than app units 2019-04-14 22:46:08 +03:00