Commit Graph

493 Commits

Author SHA1 Message Date
Marius Stanciu f7084f4e56 - fixed some decimals issues in NCC Tool, Paint Tool and Excellon Editor (they were still using the harcoded values)
- some small updates in the NCC Tool
2019-12-30 01:52:03 +02:00
Marius Stanciu c0ec3b6546 - Buffer sub-tool in Transform Tool: added the possibility to apply a factor effectively scaling the aperture size thus the copper features sizes
- in Transform Tool adjusted the GUI
2019-12-30 01:18:56 +02:00
Marius Stanciu 7bd441eccc - in Paint Tool Preferences allowed to add a list of initial tools separated by comma
- in Geometry Paint Tool fixed the Overlap rate to work between 0 and 99.9999%
2019-12-29 22:51:22 +02:00
Marius Stanciu 47fe73a91b - more updates to the Preferences window and in some other parts of the GUI
- updated the translations (less Russian)
2019-12-28 20:38:44 +02:00
Marius Stanciu 3c991e1c2d - updated all the translations files
- fixed the big mouse cursor in OpenGL(3D) graphic mode to get the set color
- fixed the cursor to have the set color and set cursor width in the Legacy(2D) graphic engine
- in Legacy(2D) graphic mode fixed the cursor toggle when the big cursor is activated
- in Legacy(2D) fixed big mouse cursor to snap to the grid
- RELEASE 8.991
2019-12-28 03:59:05 +02:00
Marius Stanciu 217316c732 - fixed an error in the Gerber parser; it did not took into consideration the aperture size declared before the beginning of a Gerber region. Detected for Gerber files generated by KiCAD 5.x
- in Panelize Tool made sure that for Gerber objects if one of the apertures is without geometry then it is ignored
2019-12-26 03:15:17 +02:00
Marius Stanciu 0268a02f3b - changed the extension of the Tool Database file to FlatDB for easy recognition (in the future double clicking such a file might import the new tools in the FC database)
- modified the ToolDB class and changed some strings
- Preferences classes now have access to the App attributes through app.setup_obj_classes() method
- moved app.setup_obj_classes() upper in the App.__init__()
- added a new Preferences setting allowing to modify the mouse cursor color
- remade the GUI in Preferences -> General grouping the settings in a more clear way
- made available the Jump To function in Excellon Editor
- added a clean_up() method in all the Editor Tools that need it, to be run when aborting using the ESC key
2019-12-26 01:47:50 +02:00
Marius Stanciu fcc52a2682 - fixed an issue in old default file detection and in saving the factory defaults file
- in Preferences window removed the Import/Export Preferences buttons because they are redundant with the entries in the File -> Menu -> Backup. and added a button to Restore Defaults
- when in Basic mode the Tool type of the tool in the Geometry UI Tool Table after isolating a Gerber object is automatically selected as 'C1'
- let the multiprocessing Pool have as many processes as needed
- added a new Preferences setting allowing a custom mouse line width (to make it thicker or thinner)
2019-12-25 17:51:37 +02:00
Marius Stanciu b1b140634b - in Tool Transform added a new feature named 'Buffer'. For Geometry and Gerber objects will create (and replace) a geometry at a distance from the original geometry and for Excellon will adjust the Tool diameters 2019-12-23 22:59:01 +02:00
Marius Stanciu 73d41816d6 - fixed a typo in Distance Tool 2019-12-21 01:31:52 +02:00
Marius Stanciu 80f1d30a28 - added Preferences values for PDF margins when saving text in Code Editor as PDF
- when clicking Cancel in Preferences now the values are reverted to what they used to be before opening Preferences tab and start changing values
2019-12-19 16:26:19 +02:00
Marius Stanciu 04d30fb1b4 - in 2-Sided Tool added a way to calculate the bounding box values for a selection of objects, and also the centroid 2019-12-19 04:12:06 +02:00
Marius Stanciu 4efc453b84 - fixed a bug in the new feature 'extra buffering'
- fixed the creation of CNCJob objects out of multigeo Geometry objects (objects with multiple tools)
- optimized the NCC Tool
2019-12-18 17:53:41 +02:00
Marius Stanciu 74b3a38a71 - more optimizations in NCC Tool
- optimizations in Paint Tool
- maximum range for Cut Z is now zero to deal with the situation when using V-shape with tip-dia same value with cut width
2019-12-17 01:38:39 +02:00
Marius Stanciu 6c2d628c6c - fixed the Defaults upgrade overwrting the new version number with the old one
- fixed issue with clear_polygon3() - the one who makes 'lines' and fixed the NCC Tool
2019-12-16 14:52:58 +02:00
Marius Stanciu 8361ee7897 - prepared the application for usage of dark icons in case of using the dark theme
- updated the languages
- RELEASE 8.99
2019-12-15 16:28:36 +02:00
Marius Stanciu 1517686ced - more strings updated; finished the Romanian translation update 2019-12-14 00:04:52 +02:00
Marius Stanciu e397e26484 - some strings updated; update on the Romanian translate 2019-12-13 18:36:57 +02:00
Marius Stanciu a4127dcdcd - small changes in ToolFilm.py 2019-12-12 03:35:30 +02:00
Marius Stanciu 6d826fa143 - added option to save objects as PDF files in File -> Save menu 2019-12-12 03:18:52 +02:00
Marius Stanciu 1cb66f3faf - finished the Calibration Tool
- changed the Scale Entry in Object UI to FCEntry() GUI element in order to allow expressions to be entered. E.g: 1/25.4
2019-12-12 01:55:04 +02:00
Marius Stanciu cd4d0cefb8 - some more work in Calibration Tool 2019-12-11 17:54:33 +02:00
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 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 face1d0f64 - some fixes on the app.jump_to() method
- made sure that the ToolFilm will not start saving a file if there are no objects loaded
2019-12-09 21:53:57 +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 f2d7151f93 - Calibration Tool - more work on it 2019-12-09 02:23:30 +02:00
Marius Stanciu 8969c03021 - updated the border for fit view on OpenGL graphic mode
- Calibration Tool - added preferences values
- Calibration Tool - more work on it
2019-12-09 01:56:45 +02:00
Marius Stanciu 3201359c8a - Calibrate Tool - working on it 2019-12-08 15:12:05 +02:00
Marius Stanciu ee1665fe6a - Calibrate Tool - working on it 2019-12-07 10:52:55 +02:00
Marius Stanciu b1d249cff8 - renamed Calibrate Excellon Tool to a simpler Calibrate Tool
- Calibrate Tool - when generating verification GCode it will always load into an Editor from which it can be edited and/or saved. On save the editor will close.
2019-12-07 01:07:52 +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 d683402884 - few bugs solved regarding the newly created empty objects 2019-12-06 21:53:03 +02:00
Marius Stanciu 0d09f10a88 - in Properties Tool added new information's for the tools in the CNCjob objects 2019-12-06 21:39:06 +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 fa99f97586 - Copper Thieving Tool - added a default value for the mask clearance when generating pattern plating mask 2019-12-05 03:14:07 +02:00
Marius Stanciu efb82abac6 - Copper Thieving Tool - added units label for the pattern plated area
- Properties Tool - added a new parameter, the copper area which show the area of the copper features for the Gerber objects
2019-12-05 02:26:30 +02:00
Marius Stanciu 00e6990254 - in NCC Tool, the new Geometry object that is created on copper clear now has the solid_geometry attribute where the geometry is stored not only in the obj.tools attribute 2019-12-05 01:16:17 +02:00
Marius Stanciu 2fc13c0719 - modified the GUI in all tools making the text of the buttons bold and adding a new button named Reset Tool which have to reset the tool GUI and variables (need to check all tools to see if happen)
- when the Tool tab is in focus, clicking on canvas will no longer change the focus to Project tab
- Copper Thieving Tool - when creating the pattern platting mask will make a new Gerber object with it
2019-12-05 00:06:25 +02:00
Marius Stanciu 951562fbae - fixed the Copy Object function to copy also the source_file content
- Copper Thieving Tool - when the clearance value for the pattern plating mask is negative it will be applied to the origin soldermask too
2019-12-04 20:00:05 +02:00
Marius Stanciu 9b48db7f54 - Copper Thieving Tool - updated the way plated area is calculated making it a bit more precise but still it is a bit bigger than the actual area 2019-12-04 17:54:05 +02:00
Marius Stanciu 92ea7e83be - in Copper Thieving Tool added the display of the patterned plated area (approximative area) 2019-12-04 17:41:00 +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 Stanciu 0de96a377e - fixed bug in FCSpinner and FCDoubleSpinner GUI elements, that are now the main GUI element in FlatCAM, that made partial selection difficult
- updated the Paint Tool in Geometry Editor to use the FCDoublepinbox
- added the possibility for suffix presence on the FCSpinner and FCDoubleSpinner GUI Elements
- added the '%' symbol for overlap fields; I still need to divide the conntet by 100 to get the original decimal
2019-12-04 14:55:01 +02:00
Marius Stanciu b1547bf6b9 - added some geometry parameters in Cutout Tool as a convenience, to be passed to the generated Geometry objects 2019-12-03 23:44:53 +02:00
Marius Stanciu 8d45f77085 - some changes in the UI layout in Cutout Tool 2019-12-03 17:48:17 +02:00
Marius e971dc17ba - various small fixes 2019-12-03 16:26:53 +02:00
Marius Stanciu fc7d3b3fba - Tool Copper Thieving - added pattern plating mask generation feature 2019-12-03 01:39:19 +02:00
Marius Stanciu 462e9b4bd8 - fixed issue #343; updated the Image Tool 2019-12-02 16:40:59 +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 58f24cbb37 - in Tool Film added the page size and page orientation in case of saving the film as PDF file
- the application workspace has now a lot more options selectable in the Edit -> Preferences -> General -> GUI Preferences
2019-11-27 03:44:28 +02:00
Marius Stanciu f1af9d7999 - updated the Film Tool to allow exporting PDF and PNG file (besides the SVG file) 2019-11-26 16:37: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 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 f44e24695d - in Tool Fiducials added a new fiducial type: chess pattern
- work in Calibrate Excellon Tool
2019-11-23 17:19:56 +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 c7fafe0b87 - updated requirements.txt and setup_ubuntu.sh files 2019-11-21 23:57:30 +02:00
Marius Stanciu 3a635117df - Tool Fiducials - added choice of shapes: circular or non-standard cross
- Tool Fiducials - finished the work on adding soldermask openings
- Tool Fiducials - finished the tool
2019-11-21 23:50:13 +02:00
Marius Stanciu c9f8cf8abe - Tool Fiducials - finished the part with adding copper fiducials: manual and auto 2019-11-21 17:54:08 +02:00
Marius Stanciu 70f6469ea8 - Tool Fiducials - added the GUI and the shortcut key 2019-11-21 01:44:55 +02:00
Marius Stanciu 004ede957d - starting to work on Tool Fiducials - created the file 2019-11-20 03:03:12 +02:00
Marius Stanciu 4c1fdd2e2d - fixed bug in Tool Subtract that did not allow subtracting Gerber objects 2019-11-20 00:12:34 +02:00
Marius Stanciu 75273272e1 - working on the Calibrate Excellon Tool - remade the UI 2019-11-19 00:41:41 +02:00
Marius Stanciu 92b1ad6f05 - finished Copper Thieving Tool improvements 2019-11-18 23:03:04 +02:00
Marius Stanciu 8888869d3b - finished the Lines option in the Copper Thieving Tool; still have to add threading to maximize performance 2019-11-18 18:29:55 +02:00
Marius Stanciu 057ab93ef8 - finished the Dots and Squares options in the Copper Thieving Tool
- working on the Lines option in Copper Thieving Tool
2019-11-18 17:44:52 +02:00
Marius Stanciu b41ecd87f8 - updated the make_freezed.py file to make sure that all the required files are included
- updated the setup_ubuntu.sh to include the sudo command (courtesy of Krishna Torque on bitbucket)
2019-11-17 15:58:58 +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 021e094b73 - fixed issue #341 that affected both postprocessors that have inlined feedrate: marlin and repetier. THe used feedrate was the Feedrate X-Y and instead had to be Feedrate Z. 2019-11-16 22:48:51 +02:00
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