Commit Graph

941 Commits

Author SHA1 Message Date
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
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 3c38d1a22e - updated the other languages and the .POT file 2019-09-26 17:52:35 +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 36f9b9bd7a - French translation at 33% 2019-09-25 04:17:18 +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 4bd8475893 - fixed the fullscreen method to show the application window in fullscreen wherever the mouse pointer it is therefore on the screen we are working on; before it was showing always on the primary screen 2019-09-24 13:30:51 +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 9eefec7498 - added a final fix that allow full coverage of the screen in FullScreen in Windows and still the menus are working 2019-09-23 06:18:36 +03:00
Marius Stanciu 5f6a7eebf5 - fixed the FullScreen option not working for the 3D graphic engine (due bug of Qt5 when OpenGL window is fullscreen) by creating a sort of fullscreen 2019-09-23 05:45:52 +03:00
Marius Stanciu 95ce59c0bf - added the new keywords to the default keywords list 2019-09-23 04:19:15 +03:00
Marius Stanciu 504c11f1fa - updated strings in the translations and the .POT file 2019-09-23 04:16:37 +03:00
Marius Stanciu 27b7a7dce6 - added a new TclCommand named "bounds" which will return a list of bounds values from a supplied list of objects names. For use in Tcl Scripts. 2019-09-23 04:07:24 +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 e349953637 - 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-23 00:17:45 +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 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 eeae3ff6c5 - updated the files: setup_ubuntu.sh and requirements.txt 2019-09-22 14:19:13 +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 b0b2e37ac6 - adjusted axis at startup for legacy graphic engine plotcanvas
- when the graphic engine is changed in Edit -> Preferences -> General -> App Preferences, the application will restart
2019-09-22 04:34:19 +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 63b261685d - fixed Geometry Editor to work in legacy graphic engine
- fixed Excellon Editor to work in legacy graphic engine
2019-09-22 00:05:35 +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
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 3f70c156a0 - work on ShapeCollectionLegacy 2019-09-20 18:23:54 +03:00
Marius Stanciu 3a54eaa5d8 - made the mouse cursor snap to the grid when grid snapping is active
- changed the axis color to the one used in the OpenGL graphic engine
2019-09-20 18:07: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