Commit Graph

979 Commits

Author SHA1 Message Date
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
e6ee0c67ec - changed the splash screen as it seems that FlatCAM beta will never be more than beta 2019-10-14 06:43:39 +03:00
Marius Stanciu
9432f22ab4 - updated the translation files (~ 89% translation level) 2019-10-14 06:26:15 +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
0ca078abf2 - more fixes in Rules Check Tool 2019-10-12 05:47:50 +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
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
4a872dd79f - fixed some issues in the Bookmark Manager 2019-10-11 18:02:26 +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
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
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
4b636bceea - made FCDoubleSpinner to use either comma or dot as a decimal separator 2019-10-09 05:10:56 +03:00
Marius Stanciu
272c5c7453 - updated the Rules Check Tool - solved some issues 2019-10-09 03:38:08 +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
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
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
ac1223b7f4 - updated the .POT file and worked a bit in the romanian translation 2019-10-07 04:11:19 +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
1a841e3fdc - changed the Jump To icon and reverted some changes to the parseGerber and ParseExcellon classes 2019-10-06 16:37:45 +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
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
e2d92612e8 - remade the Mark area Tool in Gerber Editor to be able to clear the markings and also to delete the marked polygons (Gerber apertures) 2019-10-06 02:24:25 +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
8413885d87 - changed some of the icons; added attributions for icons source in the About FlatCAM window 2019-10-06 00:06:48 +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
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
ba549705a2 - fixed a bug that when a Gerber object is edited and it has as solid_geometry a single Polygon, saving the result was failing due of len() function not working on a single Polygon 2019-10-04 21:11:02 +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
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
cd9f2886c8 - disabeld a log.debug in ObjectColection.get_by_name() 2019-10-04 17:20:58 +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
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
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
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
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
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
1067332292 - corrected the Readme 2019-09-29 05:14:15 +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
6554f1f6b6 - fixed a small bug that made app crash when the splash screen is disabled: it was trying to close it without being open 2019-09-29 00:36:01 +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
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
7b9907fa1d - if an object is edited but the result is not saved, the app will reload the edited object UI and set the Selected tab as active 2019-09-27 15:28:47 +03:00
Marius Stanciu
ca7863a371 - fixed issue with the old SysTray icon not hidden when the application is restarted programmatically 2019-09-27 12:42:16 +03:00
Marius Stanciu
2c9657d9eb - removed the line that remove the spaces from the path parameter in the Tcl commands that open something (Gerber, Gcode, Excellon) 2019-09-27 05:13:38 +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
f20a34c4d6 - RELEASE FlatCAM 8.97 2019-09-27 00:40:26 +03:00
Marius Stanciu
ac096fadbb - fixed issue when rebooting from within in cx_freezed state (it issued a startup arg with the path to FlatCAM.exe but that triggered the last sys.exit(2) that I had in the App.args_at_startup())
- modified the make_win script for the presence of MatPlotLib
2019-09-26 21:15:22 +03:00