Commit Graph

373 Commits

Author SHA1 Message Date
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 67d31982ef - Tool Fiducials - added GUI in Preferences and entries in self.defaults dict
- Tool Fiducials - updated the source_file object for the modified Gerber files
2019-11-22 04:18:48 +02:00
Marius Stanciu 70f6469ea8 - Tool Fiducials - added the GUI and the shortcut key 2019-11-21 01:44:55 +02:00
Marius Stanciu 3df0c8871c - fixed issue #335. The FCDoubleSPinBox (and FCSpinBox) value was not used when the user entered data but just hovered away the mouse expecting the data to be already confirmed 2019-11-15 22:07:23 +02:00
Marius Stanciu 175e2f7af2 - made sure that the 'default' postprocessor file is always loaded first such that this name is always first in the GUI comboboxes
- added a class in GUIElements for a TextEdit box with line numbers and highlight
2019-11-14 12:24:49 +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 548d16a7d5 - added two new postprocessor files for ISEL CNC and for BERTA CNC
- clicking on a FCTable GUI element empty space will also clear the focus now
2019-11-13 01:29:50 +02:00
Marius Stanciu 8d6df5493c - fixed GUI in 2Sided Tool
- extending the Copper Thieving Tool - wip
2019-11-11 04:54:47 +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 38ab16dbef - the "CRTL+S" key combo when the Preferences Tab is in focus will save the Preferences instead of saving the Project 2019-11-06 00:46:56 +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 c85e397eca - started to add a Tool Database 2019-11-05 02:36:46 +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 cd7620c801 - getting rid of all the Options GUI and related functions as it is no longer supported 2019-11-04 22:06:06 +02:00
Marius Stanciu 08e740d45b - fixed a small issue with clicking in a disabled FCDoubleSpinner or FCSpinner still doing a selection 2019-11-03 13:33:48 +02:00
Marius Stanciu eb091f3990 - fixed a bug in SolderPaste Tool that did not allow to view the GCode 2019-11-03 13:19:48 +02:00
Marius Stanciu a0e142f6e9 - converted SolderPaste Tool to usage of SpinBoxes; changed the SolderPaste Tool UI in Preferences too 2019-10-30 00:13:28 +02:00
Marius Stanciu 3913231d4c - small changes 2019-10-29 17:43:53 +02:00
Marius Stanciu b994ee9639 - in Tools: Paint, NCC and Copper Fill, when using the Area Selection, now the selected aras will stay drawn as markers until the user click RMB
- in legacy2D graphic engine, adding an utility geometry no longer draw the older ones, overwriting them
2019-10-28 15:03:21 +02:00
Marius Stanciu c2c275e9ed - fixed an error in the FCDoubleSpinner class when FlatCAM is run on system with locale that use the comma as decimal separator 2019-10-26 20:24:18 +03:00
Marius Stanciu d1f40c769f - Copper Fill Tool: added GUI category in Edit -> Preferences window
- QRCode Tool: added a selection limit parameter to control the selection shape vs utility geo
2019-10-26 00:08:50 +03:00
Marius Stanciu 4a3a0a5669 - Copper Fill Tool: added possibility to select between a bounding box rectangular or convex hull when the reference is the geometry of the source Gerber object
- Copper Fill Tool: cleanup on not regular tool exit
2019-10-25 23:08:44 +03: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 228dcfdac1 - QRCode Tool: shortcut key for this tool is now ALT+Q while PDF import Tool was relegated to CTRL+Q combo key shortcut 2019-10-25 16:32:10 +03:00
Marius Stanciu 97809b6de1 - QRCode Tool: added ability to save the generated QRCode as SVG file or PNG file
- QRCode Tool: added the feature to save the PNG file with transparent background
- QRCode Tool: added GUI category in Preferences window
2019-10-25 16:16:43 +03:00
Marius Stanciu dfb8d21d1c - QRCode Tool: added ability to add negative QRCodes (perhaps they can be isolated on copper?); added a clear area surrounding the QRCode in case it is dropped on a copper pour (region); fixed the Gerber export
- QRCode Tool: all parameters are hard-coded for now
2019-10-25 01:20:52 +03:00
Marius Stanciu f91352a9b6 - added some placeholder texts in the TextBoxes.
- working on QRCode Tool; addded the utility geometry and intial functional layout
2019-10-24 17:42:21 +03:00
Marius Stanciu bf670d7967 - start working on QRCode Tool - not working yet 2019-10-22 17:32:33 +03:00
Marius Stanciu 3ca4ab72d7 - started to work to a new tool: Calibrate Excellon Tool 2019-10-20 05:25:54 +03:00
Marius Stanciu 8797793472 - reverted change in tool dia being able to take only positive values in Gerber Object UI 2019-10-20 02:58:43 +03:00
Marius Stanciu db31b057a1 - updated the new objects icons for Gerber, Geometry and Excellon
- RELEASE 8.98
2019-10-19 15:28:57 +03:00
Marius Stanciu b058f65108 - finished the Objects menu by adding the ability of actions to be checked so they will show the selected status of the objects and by adding to actions to (de)select all objects
- fixed and optimized the click selection on canvas
- fixed Gerber parsing for very simple Gerber files that have only one Polygon but many LPC zones
2019-10-19 00:29:29 +03:00
Marius Stanciu 7eca6085be - finished the update of the Romanian translation. 2019-10-18 17:04:13 +03:00
Marius Stanciu 9285da8443 - finished the update on German translation. Part of it was corrected by Jens Karstedt 2019-10-18 15:52:45 +03:00
Marius Stanciu 3a8799b859 - changed the Panelize tool icon
- corrected some strings
2019-10-16 04:24:02 +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 dff5b262eb - added a secondary link in the bookmark manager
- fixed the bookmark manager order of bookmark links; first two links are always protected from deletion or drag-and-drop to other positions
2019-10-15 01:05:27 +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 4ce84ec00a - converted all ObjectUI entries to FCDoubleSpinner and FCSpinner 2019-10-14 05:54:51 +03:00
Marius Stanciu 6fcfcefd8a - modified the result highlight color in Check Rules Tool
- added the Check Rules Tool parameters to the unit conversion list
- converted more of the Preferences entries to FCDoubleSpinner and FCSpinner
2019-10-14 04:40:59 +03:00
Marius Stanciu 86d5d93495 - added the Preferences for Check Rules Tool and for Optimal Tool and also updated the Film Tool to use the default settings in Preferences 2019-10-14 02:19:48 +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 280311f7d6 - changed the grid colors for 3D graphic engine when in Dark mode 2019-10-13 13:52:22 +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 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 3bebc16725 - optimized the Move Tool
- added support for key-based panning in 3D graphic engine. Moving the mouse wheel while pressing the CTRL key will pan up-down and while pressing SHIFT key will pan left-right
2019-10-12 16:31:44 +03:00
Marius Stanciu 1ad7b7716b - modified the Bookmark manager to be installed as a widget tab in Plot Area; fixed the drag & drop function for the table rows that have CellWidgets inside
- marked in gray color the rows in the Bookmark Manager table that will populate the BookMark menu
- made sure that only one instance of the BookmarkManager class is active at one time
2019-10-12 01:35:25 +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 c3a7725a39 - small change 2019-10-09 15:32:40 +03:00
Marius Stanciu 6c205eb37e - fixed the FCDoubleSpinner to only allow the amount of decimals already set with set_precision() 2019-10-09 14:00:17 +03:00
Marius Stanciu fdf98442d1 - few changes in strings 2019-10-09 05:17:13 +03:00
Marius Stanciu 4b636bceea - made FCDoubleSpinner to use either comma or dot as a decimal separator 2019-10-09 05:10:56 +03:00
Marius Stanciu 9650696a13 - wip 2019-10-09 04:19:21 +03:00
Marius Stanciu bb88c43b36 - wip 2019-10-08 17:33:18 +03:00
Marius Stanciu aa99ed4fff - small GUI changes 2019-10-08 16:40:25 +03:00
Marius Stanciu 1668939df7 - more changes in Preferences GUI, replacing the FCEntries with Spinners
- some small fixes in toggle units conversion
2019-10-08 16:00:57 +03:00
Marius Stanciu fbf982ab8e - in Preferences General, Gerber, Geometry, Excellon, CNCJob sections made all the input fields of type SpinBox (where possible)
- updated the Distance Tool utility geometry color to adapt to the dark theme canvas
2019-10-08 05:25:27 +03:00
Marius Stanciu 24723509f8 - in Preferences General, Gerber, Geometry, Excellon, CNCJob sections made all the input fields of type SpinBox (where possible)
- updated the Distance Tool utility geometry color to adapt to the dark theme canvas
2019-10-08 04:17:08 +03:00
Marius Stanciu 031a3a141e - added inverted icons 2019-10-07 18:52:05 +03:00
Marius Stanciu 5a6c1471e3 - small changes: reduced the thickness of the axis in 3D mode from 3 pixels to 1 pixel 2019-10-07 04:24:47 +03:00
Marius Stanciu 23da38d8f3 - added a dark theme to FlatCAM (only for canvas). The selection is done in Edit -> Preferences -> General -> GUI Settings 2019-10-07 04:06:00 +03:00
Marius Stanciu aafe2c9e89 - updated Tool Optimal with display of all distances (and locations of the middle point between where they happen) found in the Gerber Object 2019-10-06 17:37:33 +03:00
Marius Stanciu da09202f5f - added a new tool in the Geometry Editor named Explode which is the opposite of Union Tool: it will explode the polygons into lines 2019-10-06 01:32:21 +03:00
Marius Stanciu 9e83528448 - added the Distance Tool, Distance Min Tool, Jump To and Set Origin functions to the Edit Toolbar 2019-10-04 23:47:42 +03:00
Marius Stanciu f06888e4fb - added a Toggle Notebook button named 'NB' in the QMenBar which toggle the notebook 2019-10-04 17:44:12 +03:00
Marius Stanciu 55fdd59b94 - added a new menu category in the MenuBar named 'Objects'. It will hold the objects found in the Project tab. Useful when working in FullScreen 2019-10-04 17:18:07 +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 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 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 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 d3cad737cc - modified the Distance Tool such that the numbe of decimals all over the tool is set in one place by the self.decimals
- added a new tool named Minimum Distance Tool who will calculate the minimum distance between two objects; key shortcut: SHIFT + M
- finished the Minimum Distance Tool in case of using it at the object level (not in Editors)
2019-09-30 03:02:04 +03:00
Marius Stanciu bacb8a7184 - changed the name of the Measurement Tool to Distance Tool. Moved it's location to the Edit Menu
- added Angle parameter which is continuously updated to the Distance Tool
2019-09-29 05:13:36 +03:00
Marius Stanciu 32ff417a2c - fixed a bug in Excellon Editor that crashed the app when editing the first tool added automatically into a new black Excellon file
- made sure that if the big mouse cursor is selected, the utility geometry in Excellon Editor has a thicker line width (2 pixels now) so it is visible over the geometry of the mouse cursor
2019-09-28 21:29:23 +03:00
Marius Stanciu 161dbdcb2d - fixed the ToolMeasurement geometry not being displayed 2019-09-28 04:23:10 +03:00
Marius Stanciu a2bef40097 - added a new tool named "Optimal Tool" which will determine the minimum distance between the copper features for a Gerber object, in fact determining the maximum diameter for a isolation tool that can be used for a complete isolation 2019-09-28 03:51:39 +03:00
Marius Stanciu c5ecc7ad88 - created the GUI for the Rule Check Tool
- if there are (x, y) coordinates in the clipboard, when launching the "Jump to" function, those coordinates will be preloaded in the Dialog box.
- when the combo SHIFT + LMB is executed there is no longer a deselection of objects
- when the "Jump to" function is called, the mouse cursor (if active) will be moved to the new position and the screen position labels will be updated accordingly
- changed the icon for Open Script and reused it for the Check Rules Tool
2019-09-28 00:34:18 +03:00
Marius Stanciu 537b843a04 - made the mouse cursor (big, small) change in real time for both graphic engines 2019-09-27 17:19:44 +03:00
Marius Stanciu 46e7be20e2 - optimized the toggle axis command
- added posibility of using a big mouse cursor or a small mouse cursor. The big mouse cursor is made from 2 infinite lines. This was implemented for both graphic engines
- added ability to change the cursor size when the small mouse cursor is selected in Preferences -> General
2019-09-27 04:42:28 +03:00
Marius Stanciu 9c8c36adbb - optimized the toggle grid command 2019-09-27 01:15:29 +03:00
Marius Stanciu c863f1f819 - changed some strings (that should not have been included for translation) and updated language files and the .POT file 2019-09-26 20:00:09 +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 3941544558 - in legacy graphic engine fixed the axis toggle
- French Google-translation at 48%
2019-09-25 17:25:46 +03:00
Marius Stanciu 4e8fbaf974 - fixed the 'Jump To' function to work in legacy graphic engine
- in legacy graphic engine fixed the mouse cursor shape when grid snapping is ON, such that it fits with the shape from the OpenGL graphic engine
2019-09-25 15:02:59 +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 1ee7f9bf1e - fixed setup_ubuntu.sh to include the matplotlib package required by the Legacy (2D) graphic engine
- in legacy graphic engine, fixed issue where immediately after changing the mouse cursor snapping the mouse cursor shape was not updated
- in legacy graphic engine, fixed issue where while zooming the mouse cursor shape was not updated
- in legacy graphic engine, fixed issue where immediately after panning finished the mouse cursor shape was not updated
2019-09-24 15:47:33 +03:00
Marius Stanciu b06b2cd795 - trying to fix conflicts with the jpcgt/FlatCAM Beta branch 2019-09-24 12:24:07 +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 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