Commit Graph

447 Commits

Author SHA1 Message Date
Marius Stanciu 33f764efb5 - in CNCJob UI, now the CNCJob objects made out of Excellon objects will display their CNC tools (drill bits) 2019-12-10 15:26:51 +02:00
Marius Stanciu 6d43c6c4fd - in Gerber isolation when selection mode is checked now area selection works too 2019-12-10 13:38:29 +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 1f1d200ab6 - in FlatCAMGeometry fixed the scale and offset methods to always process the self.solid_geometry
- Calibration Tool - finished the calibrated object creation method
2019-12-09 16:20:22 +02:00
Marius Stanciu 38756175f6 - fixed issue after Geometry object edit; the GCode made from and edited object did not reflect the changes in the object
- in Object UI, the Scale FCDoubleSpinner will no longer work for Return key press due of issues of unwanted scaling on focusOut event
2019-12-09 12:59:01 +02:00
Marius Stanciu facc077493 - in Geometry UI added a button that allow updating all the tools in the Tool Table with the current values in the UI form 2019-12-08 16:58:15 +02:00
Marius Stanciu 2baae550b5 - small fixes: selected object in Project used to ask twice for UI build; if scale factor in Object UI is 1 do nothing as there is no point in scaling with a factor of 1 2019-12-08 16:16:02 +02:00
Marius Stanciu 1b37b5a487 - fixed an small issue in Object UI 2019-12-08 15:40:32 +02:00
Marius Stanciu 3201359c8a - Calibrate Tool - working on it 2019-12-08 15:12:05 +02:00
Marius Stanciu e15c6da086 - fixed a GUI glitch in the Excellon tool table
- added units to some of the parameters in the Properties Tool
2019-12-07 00:25:22 +02:00
Marius Stanciu 2ca509ca04 - few bugs solved regarding the newly created empty objects 2019-12-06 23:00:43 +02:00
Marius Stanciu 13f67786af - cleaned up the Excellon parser and fixed some bugs (old and new); Excellon parser has it's own convert_units() method no longer inheriting from Geometry
- in Excellon UI fixed bug that did not allow editing of the Offset Z parameter from the Tool table
2019-12-06 17:12:18 +02:00
Marius Stanciu 7ac972e6c5 - added variables to store the found units 2019-12-06 04:25:01 +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 f9c83a5e60 - fixed the overlap parameter all over the app to reflect the change to percentage 2019-12-04 17:00:36 +02:00
Marius e971dc17ba - various small fixes 2019-12-03 16:26:53 +02:00
Marius Stanciu 3812de6439 - small changes 2019-12-03 00:17:53 +02:00
Marius Stanciu e0b591ff85 - added a Cancel button in Tools DB when requesting to add a tool in the Geometry Tool Table 2019-12-02 22:47:23 +02:00
Marius Stanciu c439009251 - added 3 new tcl commands: export dxf, export excellon and export gerber 2019-12-02 20:54:18 +02:00
Marius Stanciu cefbcd1816 - small fixes in NCC Tool and in the FlatCAMGeometry class 2019-11-28 00:49:21 +02:00
Marius Stanciu c025d6ad79 - remade the Paint Tool - single polygon painting; now it can single paint a list of polygons that are clicked onto (right click will start the actual painting) 2019-11-25 22:22:36 +02:00
Marius Stanciu 07fb663e7b - in Gerber isolation added the option to selectively isolate only certain polygons - made it to work for Legacy(2D) graphic mode 2019-11-25 21:03:12 +02:00
Marius Stanciu cf3f7687c9 - fixed bugs in Paint Tool when painting single polygon 2019-11-25 18:44:38 +02:00
Marius Stanciu 2260bee4a5 - clicking to add a polygon when doing Single type isolation will add a blue shape marking the selected polygon, second click will remove that shape 2019-11-25 18:32:01 +02:00
Marius Stanciu 9715fba5eb - updated the 'single' isolation of Gerber polygons to remove the polygon if clicked on it and it is already in the list of single polygons to be isolated 2019-11-25 18:10:20 +02:00
Marius Stanciu b31d016b13 - made some optimizations in FlatCAMGerber.isolate() method 2019-11-25 17:55:54 +02:00
Marius Stanciu 2fe08cf990 - fixed mistakes 2019-11-25 17:04:56 +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 8c4663f344 - fixed the line numbers in the TextPlainEdit to fit all digits of the line number; activated the line numbers for FlatCAMScript objects too 2019-11-23 18:20:37 +02:00
Marius Stanciu 9fd98b4573 - GCode view now has line numbers
- solved a bug that made selection of objects on canvas impossible if there is an object of type FlatCAMScript or FlatCAMDocument opened
2019-11-22 16:31:40 +02:00
Marius Stanciu 0aff3a6d4c - working on adding line numbers to the TextPlainEdit 2019-11-22 11:00:39 +02:00
Marius Stanciu d327160ab9 - optimized the storage of the Gerber mark shapes by making them one layer only
- optimized the Distance Tool such that the distance utility geometry will be shown even when the mark shapes are plotted.
2019-11-17 00:21:47 +02:00
Marius Stanciu 6c594d048e - added all the recognized extensions to the save dialog filters; latest extension used will be preselected next time a save operation occur 2019-11-15 17:12:39 +02:00
Marius Stanciu dfbd4452a1 - fixed an issue in the FlatCAMObj.FlatCAMGerber.convert_units() which needed to be updated after changes elsewhere 2019-11-13 02:59:47 +02:00
Marius Stanciu eafa6350b7 - finished improving the show of text files in FlatCAM (CNC Code, Source files) 2019-11-13 02:26:03 +02:00
Marius Stanciu 63e22cf3ee - trying to improve the performance of View CNC Code command by using QPlainTextEdit; made the mods for it
- when using the Find function in the TextEditor and the result reach the bottom of the document, the next find will be the first in the document (before it defaulted to the beginning of the document)
2019-11-13 02:06:16 +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 ee8719093c - fixed a new bug that did not allow to open the FlatCAM Preferences files by doubleclick in Windows
- added a new feature: Tools Database for Geometry objects; resolved issue #308
2019-11-09 18:04:49 +02:00
Marius Stanciu 892c9130f2 - made the 'M2' Gcode command footer optional, default is False (can be set using the TclCommand: set_sys cncjob_footer True)
- added a setting in Preferences to force the GCode output to have the Windows line-endings even for non-Windows OS's
2019-11-07 17:07:45 +02:00
Marius Stanciu 26d2831ded - added the '.ngc' fiel extension to the GCode Save file dialog filter 2019-11-07 12:57:25 +02:00
Marius Stanciu 0fd2037edc - fixed bug in the Paint Tool that did not allow choosing a Paint Method that was not Standard
- made sure that in the FlatCAMGeometry.merge() all the source data is deepcopy-ed in the final object
2019-11-06 22:18:33 +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 e96129b5d1 - wip 2019-11-04 21:28:11 +02:00
Marius Stanciu d2d5371148 - fixed a bug in SolderPaste Tool that did not allow to view the GCode 2019-10-30 00:49:44 +02:00
Marius Stanciu 9ea39c138e - a bug fix in Geometry Object
- fixed some missing properties in Tool Calculators
2019-10-29 03:15:58 +02: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 cff0787107 - finished the GUI layout for the Calibrate Excellon Tool 2019-10-22 16:17:13 +03:00
Marius Stanciu 9aeffa4fda - fixed issue in Gerber Object UI of not updating the value of CutZ entry on TipDia or TipAngle entries change. Fixed issue #324 2019-10-21 16:58:02 +03:00
Marius Stanciu 9f99520683 - fixed a bug in milling holes due of a message wrongly formatted 2019-10-17 15:29:52 +03:00
Marius Stanciu 313acd0a25 - replaced some of the icons that did not looked Ok on the dark theme
- added a new toolbar button for the Copy object functionality
2019-10-16 04:13:12 +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 5f769105bc - fixed a whole load of PyQT signal problems generated by recent changes to the usage of SpinBoxes; added a signal returnPressed for the FCSpinner and for FCDoubleSpinner
- fixed issue in Paint Tool where the first added tool was expected to have a float diameter but it was a string
- updated the translation files to the latest state in the app
2019-10-15 02:35:10 +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 5580c49a92 - changed some of the signals from returnPressed to editingFinished due of now using the SpinBoxes 2019-10-14 06:49:40 +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 168f4a7646 - fixed the Export PNG function when using the 2D legacy graphic engine
- added a new capability to toggle the grid lines for both graphic engines: menu link in View and key shortcut combo ALT+G
2019-10-13 06:53:16 +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 2ea45c5d58 - added a Bookmark Manager and a Bookmark menu in the Help Menu
- added an initial support for rows drag and drop in FCTable in GUIElements; it crashes for CellWidgets for now, if CellWidgetsare in the table rows
2019-10-11 17:43:04 +03:00
Marius Stanciu e6a5e32002 - wip; Tool Move problem: it tries to select all objects, even those that are disabled. 2019-10-10 13:00:44 +03:00
Marius Stanciu d815ae8a6a - made sure that is the text in the source file of a FlatCAMDocument is HTML is loaded as such 2019-10-07 13:34:22 +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 ce9c15a2ed - made the Rules Check Tool document window Read Only 2019-10-06 04:46:25 +03:00
Marius Stanciu fa7511e129 - added display of the results for the Rules Check Tool in a formatted way 2019-10-06 04:13:19 +03:00
Marius Stanciu 01a9763ad6 - in Gerber isolation section, the tool dia value is updated when changing from Circular to V-shape and reverse
- in Tool Film, when punching holes in a positive film, if the resulting object geometry is the same as the source object geometry, the film will not ge generated
2019-10-04 20:43:22 +03:00
Marius Stanciu 6d2ed26e0e - small GUI changes in Optimal Tool and in Film Tool
- some PEP8 corrections
- some code annotations to make it easier to navigate in the FlatCAMGUI.py
- fixed exit FullScreen with Escape key
2019-10-04 15:24:38 +03:00
Marius Stanciu fb0edc6c18 - added more editing features in the Selected Tab for the FlatCAMDocument object 2019-10-03 21:44:37 +03:00
Marius Stanciu 1d2c046ecc - changes for the Document object 2019-10-03 17:15:21 +03:00
Marius Stanciu 5143cafc59 - fixed the FlatCMAScript object when loading it from a project 2019-10-02 22:59:50 +03:00
Marius Stanciu b9b0c8fee8 - fixed the FlatCMAScript object saving when project is saved (loading a project with this script object is not working yet) 2019-10-02 18:11:06 +03:00
Marius Stanciu a75bdfb29d - changed the name of the new object FlatCAMNotes to a more general one FlatCAMDocument
- changed the way a new FlatCAMScript object is made, the method that is processing the Tcl commands when the Run button is clicked is moved to the FlatCAMObj.FlatCAMScript() class
- reused the Multiprocessing Pool declared in the App for the ToolRulesCheck() class
- adapted the Project context menu for the new types of FLatCAM objects
- modified the setup_recent_files to accommodate the new FlatCAM objects
- made sure that when an FlatCAM script object is deleted, it's associated Tab is closed
2019-10-02 17:58:48 +03:00
Marius Stanciu 83f229ed9e - fixed bug in Geometry Editor that did not allow the copy of geometric elements
- created a new class that holds all the Code Editor functionality and integrated as a Editor in FlatCAM, the location is in flatcamEditors folder
- remade all the functions for view_source, scripts and view_code to use the new TextEditor class; now all the Code Editor tabs are being kept alive, before only one could be in an open state
2019-10-02 05:47:18 +03:00
Marius Stanciu ee0742db7a - added two new FlatCAM objects: FlatCAMScript and FlatCAMNotes 2019-10-01 18:24:15 +03:00
Marius Stanciu c685f41db0 - made those settings just added for Gerber, to be updated on object creation
- added the Geo Tolerance parameter to those that are converted from MM to INCH
2019-10-01 17:07:27 +03:00
Marius Stanciu b444e1e552 - added new settings for the Gerber newly introduced feature to isolate with the V-Shape tools (tip dia, tip angle, tool_type and cut Z) in Edit -> Preferences -> Gerber Advanced 2019-10-01 15:32:31 +03:00
Marius Stanciu 6d3770ee3f - when in Gerber UI is selectd the V-Shape tool, all those parameters (tip dia, dip angle, tool_type = 'V' and cut Z) are transferred to the generated Geometry and prefilled in the Geoemtry UI 2019-10-01 02:23:44 +03:00
Marius Stanciu e0e2aabf99 - fixed the FCSpinner and FCDoubleSpinner GUI elements to select all on first click and deselect on second click in the Spinbox LineEdit
- for Gerber object in Selected Tab added ability to chose a V-Shape tool and therefore control the isolation better by adjusting the cut width of the isolation in function of the cut depth, tip width of the tool and the tip angle of the tool
2019-10-01 01:38:18 +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 0f91d4dff0 - added a Copy All button in the Code Editor, clicking this button will copy all text in the editor to the clipboard
- added a 'Milling Type' radio button in Geometry Editor Preferences to contorl the type of geometry will be generated in the Geo Editor (for conventional milling or for the climb milling)
- added the functionality to allow climb/conventional milling selection for the geometry created in the Geometry Editor
- now any Geometry that is edited in Geometry editor will have coordinates ordered such that the resulting Gcode will allow the selected milling type in the 'Milling Type' radio button in Geometry Editor Preferences (which depends also of the spindle direction)
- some strings update
- French Google-translation at 100%
- German Google-translation update to 100%
2019-09-26 17:46:25 +03:00
Marius Stanciu 61e2792047 - unfortunately the fix for issue where while zooming the mouse cursor shape was not updated braked something in way that Matplotlib work with PyQt5, therefore I removed it 2019-09-25 03:26:34 +03:00
Marius Stanciu 0fe502d068 - 26% in Google-translated French translation and updated some strings too 2019-09-23 20:17:34 +03:00
Marius Stanciu b5e9997713 - in legacy graphic engine, fixed issue with Delete shortcut key trying to delete twice 2019-09-23 17:52:34 +03:00
Marius Stanciu ae7fec6dd1 - optimized the Gerber mark shapes display
- fixed a color format bug in Tool Move for 3D engine
- made sure that when the Tool Move is used on a Gerber file with mark shapes active, those mark shapes are deleted before the actual move
2019-09-23 17:08:46 +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 c17d05600b - in legacy graphic engine, fixed bug that made the old object disappear when a new object was loaded
- in legacy graphic engine, fixed bug that crashed the app when creating a new project
2019-09-23 01:25:06 +03:00
Marius Stanciu 6238b07826 - fixed crash when trying to set a workspace in FlatCAM in the Legacy engine 2D mode by disabling this function for the case of 2D mode
- updated the translation files
2019-09-22 17:59:01 +03:00
Marius Stanciu 961c4bca2f - fixed the MultiColor plot option Gerber selected tab to work in legacy graphic engine
- documented some methods in the ShapeCollectionLegacy class
2019-09-22 14:03:20 +03:00
Marius Stanciu f00559bf6a - made hover shapes work in legacy graphic engine
- fixed bug in display of the apertures marked in the Aperture table found in the Gerber Selected tab and through this made it to also work with the legacy graphic engine
- fixed annotation in Mark Area Tool in Gerber Editor to work in legacy graphic engine
2019-09-22 13:12:21 +03:00
Marius Stanciu 5a4f5dbe2f - fixed zoom directions legacy graphic engine (previous commit)
- fixed display of MultiGeo geometries in legacy graphic engine
- fixed Paint tool to work in legacy graphic engine
2019-09-22 02:38:56 +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 9aef293a26 - fixed Measuring Tool in legacy graphic engine
- fixed Gerber plotting
- fixed Geometry plotting
2019-09-21 13:07:30 +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 14bc9f2dfc - work on ShapeCollectionLegacy 2019-09-20 18:45:36 +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 727cee7aec - fixed some issues recently introduced in the TclCommands CNCJob, DrillCNCJob adn write_gcode; changed some parameters names 2019-09-16 17:20:56 +03:00
Marius Stanciu be4d4387f4 - more GUI optimizations related to being part of the Advanced category or not
- added possibility to change the positive SVG exported file color in Tool Film
2019-09-16 16:04:47 +03:00
Marius Stanciu 8cba74647f - made all TclCommands not to be plotted automatically
- made sure that all TclCommands are not threaded
2019-09-16 01:39:11 +03:00