Commit Graph

419 Commits

Author SHA1 Message Date
Marius Stanciu f40bc17284 - added the .gcode extension to the GCode saving dialog filter 2019-11-15 11:26:18 +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 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 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 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 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 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 9ea39c138e - a bug fix in Geometry Object
- fixed some missing properties in Tool Calculators
2019-10-29 03:15:58 +02:00
Marius Stanciu 23065aa033 - Calibrate Excellon Tool: working on self.calculate_factors() method 2019-10-29 00:11:32 +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 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 f9ad83ba29 - Copper Fill Tool: some PEP8 corrections 2019-10-28 03:06:37 +02:00
Marius Stanciu fcfcac1da8 - minor change 2019-10-26 00:43:15 +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 ae7fbdf7c0 - QRCode Tool: change the plot method parameter 2019-10-25 02:54:13 +03:00
Marius Stanciu 7181d55368 - small update 2019-10-25 01:30:23 +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 ee61ba63fa - working on QRCode Tool; finished offseting the goemetry both in apertures and in solid_geometry; updated the source_file of the source object 2019-10-24 19:24:59 +03:00
Marius Stanciu 6f1dc76d64 - working on QRCode Tool; finished adding the QRCode geometry to the selected Gerber object and also finished adding the 'follow' geometry needed when exporting the Gerber object as a Gerber file in addition to the 'solid' geometry in the obj.apertures 2019-10-24 18:52:53 +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 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 70fbb7f852 - start working on QRCode Tool - serching for alternatives 2019-10-23 17:58:06 +03:00
Marius Stanciu bf670d7967 - start working on QRCode Tool - not working yet 2019-10-22 17:32:33 +03:00
Marius Stanciu cff0787107 - finished the GUI layout for the Calibrate Excellon Tool 2019-10-22 16:17:13 +03:00
Marius Stanciu ee6e6c424a - working on the Calibrate Excellon Tool 2019-10-22 02:36:38 +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 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 4be989fa5c - adjusted the layout in NCC Tool 2019-10-15 17:46:09 +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 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 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 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 0ca078abf2 - more fixes in Rules Check Tool 2019-10-12 05:47:50 +03:00
Marius Stanciu bd5dd2f68e - fixed Tool Move to work only for objects that are selected but also plotted, therefore disabled objects will not be moved even if selected 2019-10-10 19:33:30 +03:00
Marius Stanciu 851a4b8554 - fixed ToolPanelize to use FCDoubleSpinner in some places 2019-10-10 00:30:07 +03:00
Marius Stanciu 47773e0f82 - updated the Rules Check Tool - solved some issues 2019-10-09 03:42:01 +03:00
Marius Stanciu 272c5c7453 - updated the Rules Check Tool - solved some issues 2019-10-09 03:38:08 +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 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 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 5cec1dfeab - updated Optimal Tool to display both points coordinates that made a distance (and the minimum) not only the middle point (which is still the place where the jump happen) 2019-10-07 01:56:30 +03:00
Marius Stanciu 4de25b48a1 - fixed an conflict in a signal usage that was triggered by Tool SolderPaste when a new project was created 2019-10-07 00:37:39 +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 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 d103c2d234 - working in adding to the Optimal Tool the rest of the distances found in the Gerber and the locations associated; added GUI 2019-10-06 02:54:53 +03:00
Marius Stanciu 9506095ca2 - fixed an issue with the tool table context menu in Paint Tool
- made some changes in the GUI in Paint Tool, NCC Tool and SolderPaste Tool
2019-10-05 22:58:54 +03:00
Marius Stanciu 18c72e4286 - optimized the Transformation Tool both in GUI and in functionality and replaced the entries with QSpinBox 2019-10-05 22:01:02 +03:00
Marius Stanciu 4a5e08feea - remade the Tool Calculators to use the QSpinBox in order to simplify the user interaction and remove possible errors
- remade: Tool Cutout, Tool 2Sided, Tool Image, Panelize Tool, NCC Tool, Paint Tool  to use the QSpinBox GUI elements
2019-10-05 17:08:51 +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 a90e7629dc - optimized Rules Check Tool so it runs faster when doing Copper 2 Copper rule 2019-10-04 03:15:31 +03:00
Marius Stanciu 67b0a81f17 - updated the Film Tool and added the ability to generate Punched Positive films (holes in the pads) when a Gerber file is the film's source. The punch holes source can be either an Excellon file or the pads center 2019-10-04 02:59:11 +03:00
Marius Stanciu d7649d2118 - preparing ToolMove to switch for multiprocessing 2019-10-03 01:47:03 +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 225634aea2 - some fixes in Rules Check Tool and added a QSignal that is fired at the end of the job 2019-09-30 23:55:14 +03:00
Marius Stanciu 2d408f7c3c - fixes to cover all possible situations for the Minimum Annular Ring Rule in Rules Check Tool 2019-09-30 23:24:54 +03:00
Marius Stanciu d002efa9ee - in Rules Check Tool added the functionality for Copper to Outline Clearance, Silk to Silk Clearance, Silk to Solder Mask Clearance, Silk to Outline Clearance, Minimum Solder Mask Sliver, Minimum Annular Ring 2019-09-30 22:40:18 +03:00
Marius Stanciu ddb8a90fae - in Rules Check Tool added the functionality for Copper to Copper Clearance 2019-09-30 20:26:09 +03:00
Marius Stanciu e8faeb2c94 - added support to use Multi Processing (multi core usage, not simple threading) in Rules Check Tool
- in Rules Check Tool added the functionality for the following rules: Hole Size, Trace Size, Hole to Hole Clerance
2019-09-30 19:10:46 +03:00
Marius Stanciu 01adca5714 - in Optimal Tool added the display of the locations where the minimum distance was detected 2019-09-30 07:27:17 +03:00
Marius Stanciu b226177448 - in Tool Distance and Tool Minimal Distance made the entry fields read-only 2019-09-30 04:58:26 +03:00
Marius Stanciu cc9ae05e22 - in Optimal Tool added display of how frequent that minimum distance is found 2019-09-30 04:52:18 +03:00
Marius Stanciu 4936e5b46c - changed a tooltip in Optimal Tool 2019-09-30 04:16:05 +03:00
Marius Stanciu 35ca487122 - small change in the UI layout for Check Rules Tool by adding a new rule (Check trace size) 2019-09-30 04:13:55 +03:00
Marius Stanciu 3211fedca0 - made the Minimum Distance Tool more precise for the Excellon Editor since in the Excellon Editor the holes shape are represented as a cross line but in reality they should be evaluated as circles 2019-09-30 03:57:15 +03:00
Marius Stanciu 34062e8296 - completed the Minimum Distance Tool by adding the usage in Editors 2019-09-30 03:32:02 +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 aa7b2426e7 - setup signals in the Rules Check Tool GUI 2019-09-29 03:28:01 +03:00
Marius Stanciu 364e9ad15e - work done for the GUI layout of the Rule Check Tool 2019-09-29 02:46:59 +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 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 bf60c98b6c - started to work on a new FlatCAM tool: Rules Check 2019-09-27 17:45:30 +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 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 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 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 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 42d26c1323 - fixed display of distance labels and code optimizations in ToolPaint and NCC Tool 2019-09-22 03:54:25 +03:00
Marius Stanciu 03dd0ee8b6 - fixed CutOut Tool to work in legacy graphic engine 2019-09-22 02:52:40 +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 e8109d2007 - fixed Gerber Editor to work in legacy graphic engine
- fixed NCC tool to work in egacy graphic engine
2019-09-22 02:03:19 +03:00
Marius Stanciu 399b0b45c6 - fixed drawing of selection box when dragging mouse on screen and the selection shape drawing on the selected objects
- fixed the moving drawing shape in Tool Move in legacy graphic engine
- fixed moving geometry in Tool Measurement in legacy graphic engine
2019-09-21 22:00:02 +03:00