Commit Graph

577 Commits

Author SHA1 Message Date
Marius Stanciu 1fc70fd3cf - minor work in GCode Editor 2020-07-31 14:08:53 +03:00
Marius Stanciu 593e6a80e5 - fixed an exception that was raised in Geometry object when using an Offset 2020-07-29 17:18:02 +03:00
Marius Stanciu 445b4300f5 - Gerber parser - a single move with pen up D2 followed by a pen down D1 at the same location is now treated as a Flash; fixed issue #441 2020-07-27 03:25:38 +03:00
Marius a24b09d8ad - Tools Tab is hidden when entering into a Editor and showed on exit (this needs to be remade such that the toolbars state should be restored to whatever it was before entering in the Editor) - changed the ChangeLog 2020-07-25 12:43:11 +03:00
Marius Stanciu 64529c4cfd - wip 2020-07-25 12:42:27 +03:00
Marius e7e1d959fd Merge remote-tracking branch 'origin/Beta_8.994' into Beta_8.994
# Conflicts:
#	CHANGELOG.md
2020-07-25 12:41:23 +03:00
Marius Stanciu 8354bce680 - Tools Tab is hidden when entering into a Editor and showed on exit (this needs to be remade such that the toolbars state should be restored to whatever it was before entering in the Editor) 2020-07-25 12:39:39 +03:00
Marius Stanciu 5142b51590 - in import SVG and import DXF methods made sure that any polygons that are imported as polygons will survive and only the lines are optimized (changed the behavior of the above made modification) 2020-07-23 01:01:40 +03:00
Marius Stanciu b8fb64a143 - added a Laser preprocessor named 'Z_laser' which will change the Z to the Travel Z on each ToolChange event allowing therefore control of the dot size
- by default now a new blank Geometry object created by FlatCAM is of type multigeo
- made sure that optimizations of lines when importing SVG or DXF as lines will not encounter polygons but only LinesStrings or LinearRings, otherwise having crashes
- fixed the import SVG and import DXF, when importing as Geometry to be imported as multigeo tool
- fixed the import SVG and import DXF, the source files will be saved as loaded into the source_file attribute of the resulting object (be it Geometry or Gerber)
2020-07-23 00:44:33 +03:00
Marius Stanciu cf78211a6f - wip in the GCode Editor 2020-07-22 17:08:40 +03:00
Marius Stanciu 9e8ab610b4 - working on a proper GCode Editor 2020-07-22 15:49:52 +03:00
Marius Stanciu 65d4f70b21 - made sure there are no issues when plotting the Excellon object in one thread and trying to build the UI in another by using a signal 2020-07-21 15:58:22 +03:00
Marius Stanciu 786423eb57 - fixed some issues in Excellon Editor due of recent changes
- moved the Gerber colors fill in the AppObject.on_object_created() slot and fixed some minor issues here
2020-07-21 15:52:53 +03:00
Marius Stanciu 8a95580f15 - fixed issues with detecting older Preferences files 2020-07-21 14:17:58 +03:00
Marius Stanciu 676645d6f5 - made sure that the Preferences files are deleted on new version install, while the application is in Beta status 2020-07-21 13:07:47 +03:00
Marius Stanciu 687efd1fc0 - Excellon UI: made sure that when the Multicolor checkbox is unchecked, the color is updated in the Color column of the tools table 2020-07-21 07:20:14 +03:00
Marius Stanciu 617b483267 - Excellon UI: added a column which will color each row/tool of that column in the color used when checking Multicolor checkbox 2020-07-21 06:49:49 +03:00
Marius Stanciu e147ef1994 - Excellon UI: fixed plot checkbox performing an extra plot function which was not required 2020-07-21 06:12:44 +03:00
Marius Stanciu 51290a6b8b - Excellon UI in Legacy Mode (2D): fixed the Solid checkbox functionality 2020-07-21 06:08:48 +03:00
Marius Stanciu e57820f707 - fixed MultiColor checkbox in Excellon Object to work in Legacy Mode (2D)
- modified the visibility change in Excellon UI to no longer do plot() when doing visibility toggle for one of the tools but only a visibility change in the shapes properties
2020-07-21 06:01:04 +03:00
Marius Stanciu e99dd967fe - updated the FCRadio class with a method that allow disabling certain options
- the Path optimization options for Excellon and Geometry objects are now available depending on the OS platform used (32bit vs 64bit)
2020-07-21 00:57:26 +03:00
Marius Stanciu a3e1570747 - added a control in Preferences -> Gerber Tab for Gerber colors storage usage
- made sure that the defaults on first install will set the number of workers to half the number of CPU's on the system but no less than 2
2020-07-21 00:04:18 +03:00
Marius Stanciu ebdb2b3ca0 - fixed a bug in the FlatCAMGerber.on_mark_cb_click_table() method when moving a Gerber object
- added a way to remember the colors set for the Gerber objects; it will remember the order that they were loaded and set a color previously given
2020-07-20 19:21:17 +03:00
Marius Stanciu 8409c74e23 - added some icons in the Code Editor
- replaced some icons in the app
- in Code Editor, when changing text, the Save Code button will change color (text and icon) to red and after save it will revert the color to the default one
- in Code Editor some methods rework
2020-07-18 00:26:03 +03:00
Marius Stanciu 144a89f686 - added a new method for GCode generation for Geometry objects
- added multiple algorithms for path optimization when generating GCode from an Geometry object beside the original Rtree algorithm: TSA, OR-Tools Basic, OR-Tools metaheuristics
- added controls for Geometry object path optimization in Preferences
2020-07-16 04:55:58 +03:00
Marius Stanciu 6c3774be7a - a new icon for Search in DB 2020-07-15 21:27:01 +03:00
Marius Stanciu 0fc6f41177 - added some icons to more push buttons inside the app
- a change of layout in Tools Database
2020-07-15 21:11:47 +03:00
Marius Stanciu 5b80760ba7 - Tool Drilling - brushing through code and solved the report on estimation of execution time
- Tool Drilling - more optimizations regarding of using Toolchange as opposed to not using it
- modfied the preprocessors to work with the new properties for Excellon objects
- added to preprocessors information regarding the X,Y position at the end of the job
- Tool Drilling made sure that on Toolchange event after toolchange event the tool feedrate is set
2020-07-15 20:16:57 +03:00
Marius Stanciu 7b891900be - added Editor Push buttons in Geometry and CNCJob UI's 2020-07-15 03:31:39 +03:00
Marius Stanciu 66adab95ca - added icons to some of the push buttons 2020-07-15 02:23:45 +03:00
Marius Stanciu e67e676e45 - Tool Database - more changes to the UI 2020-07-14 23:33:43 +03:00
Marius Stanciu e0af0b2a2f - Tools Database - some fixes in the UI (some of the widgets had duplicated names)
- Tools Database - made sure the on save the tools are saved only with the properties that relate to their targeted area of the app
- Tools Database - changes can be done only for one tool at a time
2020-07-14 18:22:24 +03:00
Marius Stanciu 5748eb049b - Tools Database - remade the UI
- made sure that the serializable attributes are added correctly and only once (self.ser_attrs)
2020-07-14 16:46:01 +03:00
Marius Stanciu 5badd7a26b - Gerber UI - optimized the mark shapes to use only on ShapeCollection 2020-07-14 14:20:19 +03:00
Marius Stanciu c6baa8ca60 - Multiple Tools fix - fixed issue with converting slots to drills selection being cleared when togglinh all rows by clicking on the header
- Multiple Tools fix - fixes for when having multiple tools selected which created issues in tool tables for many tools
2020-07-13 15:49:11 +03:00
Marius Stanciu 1c77e3cc2a - Drilling Tool - now slots are converted to drills if the checkbox is ON for the tool investigated
- Drilling Tool - fixes due of changes in properties (preferences)
- fixed the Drillcncjob TCL command
2020-07-13 15:19:24 +03:00
Marius Stanciu 22d05935e8 - fixed a bug in Tools Database: due of not disconnecting the signals it created a race that was concluded into a RuntimeError exception (an dict changed size during iteration)
- Drilling Tool - working in adding tools auto-load from Tools DB
- some updates to the Excellon Object options
- Drilling Tool - manual add from Tools DB is working
2020-07-13 03:04:44 +03:00
Marius Stanciu 0d886955f8 - when creating a new FlatCAM object, the options will be updated with FlatCAM tools properties that relate to them
- updated the Tools DB class by separating the Tools DB UI into it's own class
- Tools DB - added the parameters for Drilling Tool
2020-07-12 18:30:24 +03:00
Marius Stanciu 329bb04b3c - Gerber UI - optimized the mark shapes to use only on ShapeCollection 2020-07-12 01:36:21 +03:00
Marius Stanciu eee56a8f2f - Geometry UI - moved the UI for polishing from Isolation Tool to Geometry UI (actually in the future Milling Tool) where it belongs 2020-07-11 03:51:25 +03:00
Marius Stanciu ddfc8cf6dc - Isolation Tool - modified the UI; preparing to add new feature of polishing at the end of the milling job
- Tool Paint - fixed an issue when launching the tool and an object other than Geometry or Excellon is selected
2020-07-11 03:27:28 +03:00
Marius Stanciu 9c928e7ce8 - Drilling Tool - changes in UI 2020-07-11 02:57:19 +03:00
Marius Stanciu 8a4de3b44e - Drilling Tool - minor fixes 2020-07-11 01:50:41 +03:00
Marius Stanciu 13bcc036df - moved all Excellon Advanced Prefeences to Drilling Tool Preferences
- updated Drilling Tool to use the new settings
- updated the Excellon Editor: the default_data dict is populated now on Editor entry
- Excellon Editor: added a new functionality: conversion of slots to drills
- Excellon UI: added a new feature that is grouped in Advanced Settings: a toggle tools table visibility checkbox
2020-07-11 01:42:44 +03:00
Marius Stanciu f53ffe54d9 - Tool Drilling - fixed incorrect annotations in CNCJob objects generated; one drawback is that now each tool (when Toolchange is ON) has it's own annotation order which lead to overlapping in the start point of one tool and the end of previous tool
- Tool Drilling - refactoring methods and optimizations
2020-07-10 17:05:32 +03:00
Marius Stanciu 24192540d7 - in Gerber and Excellon UI added buttons to start the Editor
- in all Editors Selected Tab added a button to Exit the Editor
2020-07-10 05:03:54 +03:00
Marius Stanciu 0dee41e03c - Tool Drilling - moved some of the Excellon Preferences related to drilling operation to it's own group Drilling Tool Options
- optimized the CNCJob UI to look like other parts of the app
2020-07-10 04:39:25 +03:00
Marius Stanciu 391a28282e - Tool Drilling - added new feature to drill the slots 2020-07-09 16:54:15 +03:00
Marius Stanciu 494963ed04 - working in cleaning up the Excellon UI (Selected Tab)
- finished the clean-up in Excellon UI
2020-07-09 05:58:11 +03:00
Marius Stanciu fd3fe0530c - CNCJob object - now it is possible for CNCJob objects originated from Excellon objects, to toggle the plot for a selection of tools 2020-07-09 04:34:23 +03:00
Marius Stanciu 4216333645 - Tool Drilling - remade the methods used to generate GCode from Excellon, to parse the GCode. Now the GCode and GCode_parsed are stored individually for each tool and also they are plotted individually
- Tool Drilling now works - I still need to add the method for converting slots to drill holes
2020-07-09 03:53:41 +03:00
Marius Stanciu a0fea17aed - working on Tool Drilling 2020-07-08 21:35:24 +03:00
Marius Stanciu 45472f6193 - working on Tool Drilling - remaking the way that the GCode is stored, each tool will store it's own GCode 2020-07-08 17:39:33 +03:00
Marius Stanciu 5e9455991f - added as ToolTip for the the Preprocessor combobox items, the actual name of the items 2020-07-08 16:20:48 +03:00
Marius Stanciu 6edd7f051a - Tool Drilling - working on the UI
- Tool Drilling - added more tool parameters; laying the ground for adding "Drilling Slots" feature
2020-07-08 15:51:03 +03:00
Marius Stanciu f0fba5ccd1 - fixed the Panelize Tool so the box object stay as selected on new objects are loaded; any selection shape on canvas is deleted when clicking Panelize 2020-07-07 16:23:22 +03:00
Marius Stanciu e7c369ab8e - updated the Panelize Tool to save the source code for the panelized Excellon objects so it can be saved from the Save project tab context menu entry
- updated the Panelize Tool to save the source code for the panelized Geometry objects as DXF file
2020-07-07 15:52:58 +03:00
Marius Stanciu 2dfc0caed7 - Turkish translation updated by Mehmet Kaya for the 8.993 version of strings 2020-07-06 23:32:24 +03:00
Marius Stanciu cb69216f92 - Convert Any to Excellon. Finished Gerber object conversion to Excellon. Flash's are converted to drills. Traces in the form of a linear LineString (no changes in direction) are converted to slots. 2020-07-06 00:20:20 +03:00
Marius Stanciu 0c957a3365 - working in making a new functionality: Convert Any to Excellon. Finished Geometry object conversion to Excellon. 2020-07-03 03:20:56 +03:00
Marius Stanciu 27216c52e2 - modified the Gerber export method to take care of the situation where the exported Gerber file is a SVG/DXF file imported as Gerber 2020-07-02 21:35:34 +03:00
Marius Stanciu 4bce56308c - added Turkish translation - courtesy of Mehmet Kaya 2020-07-02 21:24:34 +03:00
Marius Stanciu e1dab238a7 - fixed importing DXF file as Gerber method such that now the resulting Gerber object is correctly created having the geometry attributes like self.apertures and self.follow_geometry 2020-07-02 17:15:13 +03:00
Marius Stanciu ce4b6a5a85 - trying to optimize the resulting geometry in DXF import (and in SVG import) by merging contiguous lines; reduced the lines to about one third of the original 2020-07-02 05:53:59 +03:00
Marius Stanciu 2fb786f498 - fixed the SVG parser so the SVG files with no information regarding the 'height' can be opened in FlatCAM; fixed issue #433 2020-06-30 00:03:06 +03:00
Marius Stanciu 249ece72e9 - fixed the DXF parser to work with the latest version of ezdxf module (issues for the ellipse entity and modified attribute name for the knots_values to knots)
- fixed the DXF parser to parse correctly the b-splines by not adding automatically a knot value 0f (0, 0) when the spline is not closed
2020-06-29 00:40:49 +03:00
Marius Stanciu ce5ad816c5 - Drilling Tool - UI is working as expected; I will have to propagate the changes to other tools too, to increase likeness between different parts of the app 2020-06-27 01:06:10 +03:00
Marius Stanciu 315ab77ebe - wip for Tool Drilling 2020-06-25 17:25:40 +03:00
Marius Stanciu 7387553101 - made sure that when trying to view the source but no object is selected, the messages are correct 2020-06-25 14:38:26 +03:00
Marius Stanciu 6db9aa041f - working on Tool Drilling 2020-06-23 01:17:40 +03:00
Marius Stanciu a833b3e3d4 - wip 2020-06-21 08:00:36 +03:00
Marius Stanciu c1a6bcc9f0 - put the bases for a new Tool: Milling Holes Tool 2020-06-18 23:43:54 +03:00
Marius Stanciu 755aa48490 - Panelize Tool - fixed to work for panelizing Excellon objects with the new data structure storing drills and tools in the obj.tools dictionary 2020-06-18 20:24:02 +03:00
Marius Stanciu 8dc4eecbf4 - Panelize Tool - add a new option for the panels of type Geometry named Path Optimiztion. If the checkbox is checked then all the LineStrings that are overlapped in the resulting multigeo Geometry panel object will keep only one of the paths thus minimizing the tool cuts. 2020-06-18 18:50:02 +03:00
Marius Stanciu 7be4d98172 - Cutout Tool - made sure that all the paths generated by this tool are contiguous which means that two lines that meet at one end will become onle line therefore reducing unnecessary Z moves 2020-06-18 14:44:29 +03:00
Marius Stanciu 79fec61934 - fixed bug in the Cutout Tool that did not allowed the manual cutous to be added on a Geometry created in the Tool
- fixed bug that made the selection box show in the stage of adding manual gaps
- updated Cutout Tool UI
- Cutout Tool - in manual gap adding there is now an option to automatically turn on the big cursor which could help
- Cutout Tool - fixed errors when trying to add a manual gap without having a geometry object selected in the combobox
2020-06-18 14:26:24 +03:00
Marius Stanciu e70c795961 - modified generate_from_excellon_by_tool() method in camlib.CNCJob() such that when Toolchange option is False, since the drills will be drilled with one tool only, all tools will be optimized together 2020-06-17 17:36:27 +03:00
Marius Stanciu c9d66381bf - added fuse tools control in Preferences UI for the Excellon objects: if checked the app will try to see if there are tools with same diameter and merge the drills for those tools; if not the tools will just be added to the new combined Excellon 2020-06-17 10:36:02 +03:00
Marius Stanciu c839428a83 - added the multi-save capability if multiple CNCJob objects are selected in Project tab but only if all are of type CNCJob 2020-06-17 00:38:19 +03:00
Marius Stanciu 0a64b02397 - Tool Punch Gerber - updated the UI
- Tool Panelize - updated the UI
- Tool Extract Drills - updated the UI
- Tool QRcode - updated the UI
- Tool SolderPaste - updated the UI
- Tool DblSided - updated the UI
2020-06-16 23:25:02 +03:00
Marius Stanciu 651b3137e9 - minor fix in App Tools that were updated to have UI in a separate class 2020-06-16 15:14:34 +03:00
Marius Stanciu 6ec57391f4 - fixed Extract Drills Tool to work with the new Excellon data format 2020-06-16 12:40:11 +03:00
Marius Stanciu 441b553fa8 - more typos fixed in Excellon parser, slots processing 2020-06-16 12:27:48 +03:00
Marius Stanciu ba931a6adc - fixed some problems (typos, missing data) generated by latest changes 2020-06-16 11:59:51 +03:00
Marius Stanciu 949c265378 - changed the data structure for the Excellon object; modified the Excellon parser and the Excellon object class
- fixed partially the Excellon Editor to work with the new data structure
- fixed Excellon export to work with the new data structure
- fixed all transformations in the Excellon object attributes; still need to fix the App Tools that creates or use Exellon objects
2020-06-16 03:47:26 +03:00
Marius Stanciu bb24a45f5a - working on the Drilling Tool - started to create a new data structure that will hold the Excellon object data 2020-06-15 19:33:35 +03:00
Marius Stanciu 30d5400da1 - created a new App Tool named Drilling Tool where I will move the drilling out of the Excellon UI 2020-06-15 19:14:50 +03:00
Marius Stanciu 87524bcfc9 - Tool Isolation - fixed a UI minor issue: 'forced rest' checkbox state at startup was always enabled 2020-06-15 07:27:41 +03:00
Marius Stanciu ed9fd94624 - Tools Database - added a context menu action to Save the changes to the database even if it's not in the Administration mode 2020-06-15 07:17:15 +03:00
Marius Stanciu 5757d856d5 - Isolation Tool - fixed to work with selection of tools in the Tool Table (previously it always used all the tools in the Tool Table) 2020-06-15 06:56:06 +03:00
Marius Stanciu 4891cde1f9 - Paint Tool - refurbished the 'rest machining' for the entire tool 2020-06-15 06:37:20 +03:00
Marius Stanciu 9968fd14f2 - in Paint Tool and NCC Tool updated the way the selected tools were processed and made sure that the Tools Table rows are counted only once in the processing
- modified the UI in Paint Tool such that in case of using rest machining the offset will apply for all tools
- Paint Tool - made the rest machining function for the paint single polygon method
2020-06-15 03:34:34 +03:00
Marius Stanciu 5dcc31ef8b - modified the Paint, NCC and Isolation Tools that when no tools is selected in the Tools Table, a message will show that no Tool is selected and the Geometry generation button is disabled 2020-06-14 21:24:23 +03:00
Marius Stanciu 14425d1b25 - modified the Isolation Tool UI: now the tools can be reordered (if the order UI radio is set to 'no') 2020-06-14 16:51:44 +03:00
Marius Stanciu c0a4e2f3cc - in Paint and NCC Tools made sure that using the key ESCAPE to cancel the tool will not create mouse events issues
- some updates in Tcl commands Paint and CopperClear data dicts
2020-06-14 15:59:06 +03:00
Marius Stanciu 1fb1b1cdbe - NCC Tool - now the tools can be reordered (if the order UI radio is set to 'no')
- remade the UI in Paint Tool and the tools in tools table ca now be reordered (if the order UI radio is set to 'no')
- some updates in NCC Tool using code from Paint Tool
2020-06-14 14:29:57 +03:00
Marius Stanciu e24b148e3a - fixed issue #428 - Cutout Tool -> Freeform geometry was not generated due of trying to get the bounds of the solid_geometry before it was available 2020-06-14 04:13:37 +03:00
Marius Stanciu 881d461b58 - NCC Tool - remade and optimized the copper clearing with rest machining: now it works as expected with a reasonable performance 2020-06-14 03:59:27 +03:00
Marius Stanciu 6db5def032 - made sure that clicking the icons in the status bar works only for the left mouse click
- if clicking the activity icon in the status bar and there is no object selected then the effect will be a plot_all with fit_view
- modified the FCLabel GUI element
2020-06-14 00:59:24 +03:00
Marius Stanciu a465475eb6 - when opening a new tab in the PlotTabArea the coordinates toolbars will be hidden and shown after the tab is closed 2020-06-13 20:42:47 +03:00
Marius Stanciu 4823b198bb - added a new string in the tooltip for the button that adds tool from database specifying the tools database administration is done in the menu 2020-06-13 20:17:58 +03:00
Marius Stanciu 39210fcfbf - moved the init of activity view in the MainGUI file from the APP.__init__() 2020-06-13 20:12:34 +03:00
Marius Stanciu c44f395625 - made the coordinates / delta coordinates / grid toolbar / actions toolbar visibility an option, controlled from the infobar (Status bar) context menu. How it's at app shutdown it's restored at the next application start 2020-06-13 19:50:55 +03:00
Marius Stanciu 69d0b3ad3f - updated the FCTable GUI element to work correctly when doing drag&drop for the rows
- updated the Geometry UI to work with the new FCTable
2020-06-13 18:06:33 +03:00
Marius Stanciu 32dd8870f8 - modified the Tools Database such that there is now a way to mark a tool as meant to be used in a certain part of the application; it will disable or enable parts of the parameters of the tool 2020-06-13 01:03:36 +03:00
Marius Stanciu e85b6f8d87 - Geometry UI - made again the header clickable and first click selects all rows, second click will deselect all rows.
- Geometry UI - minor updates in the layout; moved the warning text to the tooltip of the generate_cncjob button
- Geometry UI - working in making the modification of tool parameters such that if there is a selection of tools the modification in the Tool parameters will be applied to all selected
2020-06-13 00:17:17 +03:00
Marius Stanciu 1ea168fd4b - NCC Tool - fixed the non-rest copper clearing to work as expected: each tool in the tool table will make it's own copper clearing without interference from the rest of the tools 2020-06-12 22:26:17 +03:00
Marius Stanciu 0a125ea75f - NCC Tool - optimized tool reset code 2020-06-12 11:15:49 +03:00
Marius Stanciu 5cf363a8db - NCC Tool - allow no tool at NCC Tool start (the Preferences have no tool) 2020-06-12 05:53:31 +03:00
Marius Stanciu 1f9b0a2747 - NCC Tool optimization - moved the UI in its own class
- NCC Tool optimization - optimized the Tool edit method
2020-06-12 05:47:50 +03:00
Marius Stanciu ee4b765225 - finished tool reordering in Geometry UI 2020-06-12 04:47:08 +03:00
Marius Stanciu 3ef6abaa71 - continue - work in tool reordering in Geometry UI 2020-06-10 12:31:11 +03:00
Marius Stanciu 7f082760bb - working on the tool reordering in the Geometry UI 2020-06-10 10:25:48 +03:00
Marius Stanciu a3fd6e9f87 - fixed bug in the Isolation Tool that in certain cases an empty geometry was present in the solid_geometry which mae the CNCJob object generation to fail. It happen for Gerber objects created in the Gerber Editor 2020-06-10 03:27:53 +03:00
Marius Stanciu 0643971b01 - added ability to merge tools when merging Geometry objects if they share the same attributes like: diameter, tool_type or type
- added a control in Edit -> Preferences -> Geometry to control if to merge/fuse tools during Geometry merging
2020-06-10 00:23:08 +03:00
Marius Stanciu 99e274c82d - fixed a possible problem in generating bounds value for a solid_geometry that have empty geo elements 2020-06-09 13:10:26 +03:00
Marius Stanciu 24d639e1de - added a protection when trying to edit a Geometry object that have multiple tools but no tool is selected 2020-06-09 00:02:16 +03:00
Marius Stanciu 850b80bb41 - more refactoring in the app Editors 2020-06-08 19:53:31 +03:00
Marius 05df0a61c2 - renamed the GeoEditor class/file to appGeoEditor from FlatCAMGeoEditor making it easier to see in the IDE tree structure
- some refactoring that lead to a working solution when using the Python 3.8 + PyQt 5.15
2020-06-08 19:46:18 +03:00
Marius Stanciu d97d3eabd2 - minor changes in the way that the tools are installed and connected 2020-06-08 19:28:39 +03:00
Marius Stanciu c915ea8f6d - optimized GUI in Alignment Tool 2020-06-07 23:34:33 +03:00
Marius Stanciu 9c81991d3d - optimized the GUI in Film Tool 2020-06-07 23:21:22 +03:00
Marius Stanciu e2df2c3b62 - fixed bug: on first ever usage of FlatCAM beta the last loaded language (alphabetically) is used instead of English (in current state is Russian)
- made sure the the GUI settings are cleared on each new install
- added a new signal that is triggered by change in visibility for the Shell Dock and will change the status of the shell label in the status bar. In this way the label will really be changed each time the shell is toggled
2020-06-07 22:32:36 +03:00
Marius Stanciu 329a3262ee - made sure that the message that exclusion areas are deleted is displayed only if there are shapes in the exclusion areas storage 2020-06-07 17:28:09 +03:00
Marius Stanciu 5ce7011123 - changed the Excellon defaults for zeros suppression to TZ (assumed that most Excellon without units in header will come out of older Eagle) and the Excellon export default is now with coordinates in decimal 2020-06-07 17:06:23 +03:00
Marius Stanciu a4179d58a4 - fixed a small issue in Gerber file opener filter that did not see the *.TOP extension or *.outline extension 2020-06-07 15:51:39 +03:00
Marius Stanciu 039500b43f - fixed issue with trying to access GUI from different threads by adding a new signal for printing to shell messages 2020-06-07 15:30:46 +03:00
Marius Stanciu 2c2db0efe2 - refactoring in camlib.py. Made sure that some conditions are met, if some of the parameters are None then return failure. Modifications in generate_from_geometry_2 and generate_from_multitool_geometry methods 2020-06-07 14:52:06 +03:00
Marius Stanciu ea1b47bf89 - added a GUI element in the Preferences to control the possibility to edit with mouse cursor objects in the Project Tab. It is named: "Allow Edit" 2020-06-07 00:19:33 +03:00
Marius Stanciu 427f2bcbe0 - fixed the color set for the application objects
- made some reverts regarding the mods in the quit_application() method - problems when freezed
RELEASE 8.993
2020-06-06 02:36:53 +03:00
Marius Stanciu 6d8ccaca85 - small fix
RELEASE 8.993
2020-06-05 21:07:10 +03:00
Marius Stanciu cdc7880395 RELEASE 8.993 2020-06-05 20:41:12 +03:00
Marius Stanciu fc60677cb8 - remade the ReadMe tab
- Tool Isolation - added a GUI element to control if the isolation of a polygon, when done with rest, should be done with the current tool even if its interiors (holes in it) could not be isolated or to be left for the next tool
- updated all the translation strings to the latest changes
2020-06-05 20:38:13 +03:00
Marius Stanciu 951744d6fa - added mouse events disconnect in the quit_application() method 2020-06-05 07:19:53 +03:00
Marius Stanciu 2107a4766f - changed how the import of svg.path module is done in the ParseSVG.py file
- Tool Isolation - new feature that allow to isolate interiors of polygons (holes in polygons). It is possible that the isolation to be reported as successful (internal limitations) but some interiors to not be isolated. This way the user get to fix the isolation by doing an extra isolation.
2020-06-05 07:10:18 +03:00
Marius Stanciu 487e7bbfe8 - in Tool Calculators fixed an application crash if the user typed letters instead of numbers in the boxes. Now the boxes accept only numbers, dots, comma, spaces and arithmetic operators
- NumericalEvalEntry allow the input of commas now
- Tool Calculators: allowed comma to be used as decimal separator
2020-06-05 04:43:41 +03:00
Marius Stanciu fb602d6f9b - fixed a small issue in the Panelization Tool that blocked the usage of a Geometry object as panelization reference 2020-06-05 04:09:29 +03:00
Marius Stanciu bfdaa73798 - fixed a small issue in the Panelization Tool that blocked the usage of a Geometry object as panelization reference 2020-06-05 03:37:01 +03:00
Marius Stanciu 4809f11c00 - updated the French translation strings - from @micmac (Michel Maciejewski) 2020-06-04 20:15:36 +03:00
Marius Stanciu dc8a34bc16 - improved the Isolation Tool - rest machining: test if the isolated polygon has interiors (holes) and if those can't be isolated too then mark the polygon as a rest geometry to be isolated with the next tool and so on 2020-06-04 11:56:08 +03:00
Marius Stanciu 4b01fd5473 - updated the Italian translation - contribution by Golfetto Massimiliano
- made the timing for the object creation to be displayed in the shell
2020-06-04 02:53:06 +03:00
Marius Stanciu 0e007bbcbc - updated the Italian translation - contribution by Golfetto Massimiliano 2020-06-03 22:52:13 +03:00
Marius Stanciu adfd6d40b9 - made sure that if the user closes the app with an editor open, before the exit the editor is closed and signals disconnected 2020-06-03 22:47:29 +03:00
Marius Stanciu bbf878bebb - updated the language translation strings (and Google_Translated some of them) 2020-06-03 21:08:06 +03:00
Marius Stanciu 2eecb20e95 - remade file names in the app
- fixed the issue with factory_defaults being saved every time the app start
- fixed the preferences not being saved to a file when the Save button is pressed in Edit -> Preferences
- fixed and updated the Transform Tools in the Editors
2020-06-03 20:35:59 +03:00
Marius Stanciu 378a497935 - made sure that the status bar label for preferences is updated also when the Preferences Tab is opened from the Edit -> Preferences 2020-06-03 04:32:56 +03:00
Marius Stanciu b23bd5f590 - made the delayed Gerber buffering to use multiprocessing but I see not much performance increase 2020-06-03 04:26:56 +03:00
Marius Stanciu 89d2de48da - added a new feature for Gerber parsing: if the NO buffering is chosen in the Gerber Advanced Preferences there is now a checkbox to activate delayed buffering which will do the buffering in background allowing the user to work in between. I hope that this can be useful in case of large Gerber files. 2020-06-03 04:02:04 +03:00
Marius Stanciu c5c11efeed - minor issue in Paint Tool 2020-06-03 03:18:59 +03:00
Marius Stanciu 86e36d3ca6 - updated Transform Tool to have a selection of possible references for the transformations that are now selectable in the GUI
- Transform Tool - compacted the UI
2020-06-03 02:41:25 +03:00
Marius Stanciu f5c84fdc49 - maintenance_2 2020-06-02 18:29:45 +03:00
Marius 5abb7866d8 - maintenance_1 2020-06-02 18:24:44 +03:00
Marius Stanciu 7f06677791 - replaced the icon for the Editor in Toolbar (both for the normal icons and for icons in dark theme) 2020-06-02 17:53:32 +03:00
Marius Stanciu e239afd69b - fixed some more strings
- updated the Google-translations for the German, Spanish, French
- updated the Romanian translation
2020-06-02 17:39:48 +03:00
Marius Stanciu 4630695c84 - modified behavior of object comboboxes in Paint, NCC and CutOut Tools: now if an object is selected in Project Tab and is of the supported kind in the Tool, it will be auto-selected 2020-06-02 14:30:52 +03:00
Marius Stanciu c56f12c5d8 - updated the translation files to the latest changes 2020-06-02 05:20:28 +03:00
Marius Stanciu 7b4e3b42bf - fixed spacing in the status toolbar icons 2020-06-02 02:37:54 +03:00
Marius Stanciu 5542e62455 - Tcl Command Follow - fixed to work in the new configuration
- Etch Compensation Tool - added a new etchant: alkaline baths
2020-06-02 02:10:38 +03:00
Marius 2624df10bf - Tcl Shell - added a button to delete the content of the active line
- Tcl Command Isolate - fixed to work in the new configuration
2020-06-02 01:36:25 +03:00
Marius Stanciu 6b247ff5e1 - remade visibility as threaded - it seems that I can't really squeeze more performance from this 2020-06-01 23:55:47 +03:00
Marius Stanciu 1b8dd5c76d - changed colors for the status bar labels and added some of the new icons in the gray version 2020-06-01 23:32:11 +03:00
Marius Stanciu 0f04eb1215 - changed the status bar label to have an icon instead of text
- added a label in status bar that will toggle the Preferences tab
- made some changes such that that the label in status bar for toggling the Preferences Tab will be updated in various cases of closing the tab
2020-06-01 23:09:15 +03:00
Marius Stanciu cb5a20fda6 - some fixed due of recent changes and some strings changed
- added a validator for the FCColorEntry GUI element such that only the valid chars are accepted
2020-06-01 21:22:03 +03:00
Marius Stanciu 54407f6e50 - made Progressive plotting work in Isolation Tool
- fix an issue with progressive plotted shapes not being deleted on the end of the job
2020-06-01 20:37:31 +03:00
Marius Stanciu aef1607fd5 - in Preferences replaced the widgets that sets colors with a compound one (from David Robertson) 2020-06-01 19:21:51 +03:00
Marius Stanciu 907de3fa9e - in Preferences replaced some widgets with a new one that combine a Slider with a Spinner (courtesy of David Robertson) 2020-06-01 18:06:12 +03:00
Marius Stanciu 8f20ff0107 - reverted the class methods in AppTool
- added a button for Transformations Tool in the lower side (common) of the Object UI
- some other UI changes
- after using Isolation Tool it will switch automatically to the Geometry UI
2020-06-01 16:17:14 +03:00
Marius Stanciu 57a969afdd - more changes in strings throughout the app
- made some minor changes in the GUI of the FlatCAM Tools
- in Tools Database made sure that each new tool added has a unique name
- in AppTool made some methods to be class methods
2020-06-01 06:16:14 +03:00
Marius Stanciu c1fb0b5cdb - fixed the warning that old preferences found even for new installation
- in Paint Tool fixed the message to select a polygon when using the Selection: Single Polygon being overwritten by the "Grid disabled" message
2020-06-01 03:45:34 +03:00
Marius Stanciu 440d0dde02 - made the Distance Tool display the angle in values between 0 and 359.9999 degrees
- changed some strings
2020-06-01 01:21:53 +03:00
Marius Stanciu 8eee9a9dcf - made last filter selected for open file to be used next time when opening files (for Excellon, GCode and Gerber files, for now) 2020-05-31 03:14:33 +03:00
Marius Stanciu ede90d6775 - structural changes in Preferences from David Robertson 2020-05-31 01:55:11 +03:00
Marius Stanciu 808e1c5875 - fixed NCC Tool behavior when selecting tools for Isolation operation 2020-05-30 23:58:20 +03:00
Marius Stanciu eee6b931c7 - made the Shell Dock always show docked 2020-05-30 21:28:39 +03:00
Marius Stanciu f74379de3e - added a Multi-color checkbox for the Excellon UI (this way colors for each tool are easier to differentiate especially when the diameter is close) 2020-05-30 20:23:47 +03:00
Marius Stanciu 44191a5e07 - optimized the Gerber UI
- added a Multi-color checkbox for the Geometry UI (will color differently tool geometry when the geometry is multitool)
2020-05-30 18:17:40 +03:00
Marius Stanciu d8bf1a8a4e - In Tool Isolation made sure that the use of ESC key while some processes are active will disconnect the mouse events that may be connected, correctly 2020-05-30 17:15:42 +03:00
Marius Stanciu 23ee9c8ad1 - modified the Tool Database such that when a tool shape is selected as 'V' any change in the Vdia or Vangle or CutZ parameters will update the tool diameter value 2020-05-30 15:04:42 +03:00
Marius Stanciu 9eea4f6333 - Isolation Tool: updated the tools dict with the common parameters value on isolating
- Fixed a recent change that made the edited Geometry objects in the Geometry Editor not to be plotted after saving changes
2020-05-30 14:33:02 +03:00
Marius Stanciu 0d57852ec5 - Isolation Tool: removed the tools that have empty geometry in case of rest machining
- Isolation Tool: solved some naming issues
2020-05-30 11:25:18 +03:00
Marius Stanciu 15d94404a7 - made confirmation messages for the values that are modified not to be printed in the Shell
- Isolation Tool: working on the Rest machining: almost there, perhaps I will use multiprocessing
2020-05-30 03:06:47 +03:00
Marius Stanciu 14e6d5f63a - updated the Etch Compensation Tool by adding a new possibility to compensate the lateral etch (manual value)
- updated the Etch Compensation Tool such that the resulting Gerber object will have the apertures attributes ('size', 'width', 'height') updated to the changes
2020-05-29 20:45:03 +03:00
Marius Stanciu ffa063286f - refactored some methods from App class and moved them to plotcanvas (plotcanvaslegacy) class
- added an label with icon in the status bar, clicking it will toggle (show status) of the X-Y axis on cavnas
- optimized the UI, added to status bar an icon to toggle the axis
2020-05-29 18:39:19 +03:00
Marius Stanciu 15ec620cae - overloaded the App inform signal to allow not printing to shell if a second bool parameter is given; modified some GUI messages to use this feature 2020-05-29 14:41:02 +03:00
Marius Stanciu 527c4126b2 - optimized UI in Tool Isolation 2020-05-29 05:59:57 +03:00
Marius Stanciu 8d160a6d8c - clicking on the activity icon will replot all objects 2020-05-29 05:43:21 +03:00
Marius Stanciu 57a3c48f2f - some changes in the UI; added in the status bar an icon to control the Shell Dock 2020-05-29 05:34:53 +03:00
Marius Stanciu 52dbb1aa6d - fixed the Tool Isolation when using the 'follow' parameter
- in Isolation Tool when the Rest machining is checked the combine parameter is set True automatically because the rest machining concept make sense only when all tools are used together
2020-05-29 04:02:09 +03:00
Marius Stanciu 8d16bebf44 - fixed issues in the Tool Subtract
- remade Tool Subtract to use multiprocessing when processing geometry
- the resulting Gerber file from Tool Subtract has now the attribute source_file populated
2020-05-29 00:50:19 +03:00
Marius Stanciu 8e687c5054 - fixed some issues related to using the new Numerical... GUI elements 2020-05-28 04:22:46 +03:00
Marius Stanciu 5d813c1224 - updated the Tool Database class to have the Isolation Tool data
- Isolation Tool - made to work the adding of tools from database
2020-05-28 02:40:25 +03:00
Marius Stanciu b106081311 - made the visibility change (when using the Spacebar key in Project Tab) to be not threaded and to use the enabled property of the ShapesCollection which should be faster 2020-05-28 01:54:33 +03:00
Marius Stanciu 90eb581a34 - working on Isolation Tool: made to work the Isolation with multiple tools without rest machining 2020-05-27 05:11:54 +03:00
Marius Stanciu 66ceb5a360 - minor UI changes 2020-05-27 00:36:10 +03:00
Marius Stanciu c27a2d29e7 - all tuple entries in the Preferences UI are now protected against letter entry
- all entries in the Preferences UI that have numerical entry are protected now against letters
- cleaned the Preferences UI in the Gerber area
2020-05-27 00:27:10 +03:00
Marius dbd1098329 - working on Isolation Tool: added a Preferences section in Edit -> Preferences and updated their usage within the Isolation tool 2020-05-26 17:21:49 +03:00
Marius Stanciu 2084db5d22 - made the Project Tree items not editable by clicking on selected Tree items (the object rename can still be done in the Selected tab) 2020-05-26 00:58:06 +03:00
Marius Stanciu d2cdd55164 - working on Isolation Tool: made to work the tool parameters data to GUI and GUI to data
- Isolation Tool: reworked the GUI
- if there is a Gerber object selected then in Isolation Tool the Gerber object combobox will show that object name as current
2020-05-26 00:46:28 +03:00
Marius Stanciu 9fc3113459 - added a dialog in Menu -> Help -> ReadMe? 2020-05-25 21:50:49 +03:00
Marius Stanciu 43d8734a8a - created a new tool: Isolation Routing Tool: work in progress
- some fixes in NCC Tool
2020-05-25 20:05:41 +03:00
Marius Stanciu ee845e7571 - changed and added some icons
- fixed the Shortcuts Tab to reflect the actual current shortcut keys
- started to work on moving the Isolation Routing from the Gerber Object UI to it's own tool
2020-05-25 16:02:48 +03:00
Marius Stanciu 1a4fa4317a - added a Toggle All checkbox to Corner Markers Tool
- added an Icon to the MessageBox that asks for saving if the user try to close the app and there is some unsaved work
2020-05-25 04:46:03 +03:00
Marius Stanciu 1b1dd23082 - modified the Etch Compensation Tool and added conversion utilities from Oz thickenss and mils to microns 2020-05-25 04:16:42 +03:00
Marius Stanciu 5f81d415a0 - updated the GUI fields for the Scale and Offset in the Object UI to allow only numeric values and operators in the list [/,*,+,-], spaces, dots and comma 2020-05-25 03:37:34 +03:00
Marius Stanciu 84ffa68cb0 - fixed a small bug in the Geometry UI that made updating the storage from GUI not to work
- some small changes in Gerber Editor
2020-05-25 03:00:19 +03:00
Marius Stanciu 2623bb0a65 - updated the Gerber parser such that it will parse correctly Gerber files that have only one solid polygon inside with multiple clear polygons (like those generated by the Invert Tool) 2020-05-25 00:37:54 +03:00
Marius Stanciu a6bdf04937 - fixed unreliable work of Gerber Editor and optimized the App.editor2object() method 2020-05-24 23:03:27 +03:00
Marius Stanciu 8165c797a4 - changes some icons
- added a new GUI element which is a evaluated LineEdit that accepts only float numbers and /,*,+,-,% chars
- finished the Etch Compensation Tool
2020-05-24 04:22:49 +03:00
Marius Stanciu 34b82286ca - fixed a issue when testing for Exclusion areas overlap over the Geometry object solid_geometry 2020-05-23 04:46:50 +03:00
Marius Stanciu 2e8d5b3b96 - added the Exclusion zones processing to Geometry GCode generation 2020-05-23 04:32:57 +03:00
Marius Stanciu 48fbc10f6d - fixed the algorithm for calculating closest points in the Exclusion areas 2020-05-22 22:48:11 +03:00
Marius Stanciu 51c9023bbe - added the Exclusion zones processing to Excellon GCode generation
- fixed a non frequent plotting problem for CNCJob objects made out of Excellon objects
2020-05-21 21:49:48 +03:00
Marius Stanciu facbdf0fd7 - updated all the language strings to the latest changes; updated the POT file
- fixed a possible malfunction in Tool Punch Gerber
2020-05-19 02:28:06 +03:00
Marius Stanciu 7c0d2fb292 - updated the Italian language (translation incomplete) 2020-05-19 02:06:56 +03:00
Marius Stanciu c2690abcf4 - fixed issue #417 2020-05-19 00:27:24 +03:00
Marius Stanciu 49911c2390 - fixes due of recent changes 2020-05-19 00:13:37 +03:00
Marius Stanciu da81fb89b8 - added icon in status bar for HUD; clicking on it will toggle the HUD (heads up display) 2020-05-18 23:35:33 +03:00
Marius Stanciu 49eb883cb1 - added confirmation messages for toggle of HUD, Grid, Grid Snap, Axis 2020-05-18 22:10:45 +03:00
Marius Stanciu 10cb6149fb - moved more methods out of App_Main class 2020-05-18 21:53:52 +03:00
Marius Stanciu 04b8de9fd3 - working on a new Tool: Etch Compensation Tool -> installed the tool and created the GUI and class template 2020-05-18 19:54:43 +03:00
Marius Stanciu dc72bea2d6 - updated the language translation files to the latest changes (no translation) 2020-05-18 19:22:23 +03:00
Marius Stanciu 9c707e0682 - solved a circular import 2020-05-18 19:09:37 +03:00
Marius Stanciu d61ca10e75 - more refactoring; solved some issues introduced by the refactoring 2020-05-18 18:45:53 +03:00
Marius Stanciu 2bcdeff7ef - moved all the new_object related methods in their own class AppObjects.AppObject 2020-05-18 17:31:02 +03:00
Marius Stanciu 710a84b442 - more refactoring class names
- moved some of the methods from the App class to the ObjectCollection class
2020-05-18 16:39:26 +03:00
Marius Stanciu a0a805217d - removed reference to postprocessors and replaced it with preprocessors 2020-05-18 16:11:02 +03:00
Marius Stanciu ba3f10d355 - renamed classes to have shorter names and grouped 2020-05-18 16:02:41 +03:00
Marius Stanciu 4c83e87feb - moved some of the GUI related methods from FlatCAMApp.App to the flatcamGUI.FlatCAMGUI class
- moved Shortcuts Tab creation in it's own class
2020-05-18 15:43:07 +03:00
Marius Stanciu a9c777030b - modified the GUI for Film and Panelize Tools 2020-05-18 06:48:30 +03:00
Marius Stanciu af2cc005b0 - made the workspace label in the status bar clickable and also added a status bar message on status toggle for workspace 2020-05-18 06:08:43 +03:00
Marius Stanciu 1085d26b7b - fixed the PDF Tool when importing as Gerber objects
- moved all the parsing out of the PDF Tool to a new file ParsePDF in the flatcamParsers folder
- trying to fix the pixmap load crash when running a FlatCAMScript
2020-05-18 05:46:57 +03:00
Marius Stanciu 4cfecfa70a - reverted the previous changes to object collection; it is better to create empty methods in FlatCAMScript and FlatCAMDocument objects 2020-05-17 21:56:44 +03:00
Marius Stanciu c1941bc882 - fixed the object collection methods that return a list of objects or names of objects such that they have a parameter now to allow adding to those lists (or not) for the objects of type Script or Document. Thus fixing some of the Tcl commands such Set Origin 2020-05-17 19:48:46 +03:00
Marius Stanciu 9a53edd017 - grid snap toolbar is now always active 2020-05-17 19:16:49 +03:00
Marius Stanciu 18e128c57b - now the Edit command (either from Menu Edit ->Edit Object) or through the shortcut key (E key) or project tab context menu works also for the CNCJob objects (will open a text Editor with the GCode) 2020-05-17 16:26:25 +03:00
Marius Stanciu 0aeef246ea - fixed the workspace being always A4
- added a label in the status bar to show if the workplace is active and what size it is
2020-05-17 15:53:13 +03:00
Marius Stanciu 29ce53b577 - solved the issue with the GUI in the Notebook being expanded too much in width due of the FCDoubleSpinner and FCSpinner sizeHint by setting the sizePolicy to Ignored value 2020-05-17 05:40:52 +03:00
Marius Stanciu d0e80043a4 - added a menu entry in Menu -> View for Toggle HUD 2020-05-17 04:02:50 +03:00
Marius Stanciu 28f0c9c276 - added new FlatCAM Tool: Corner Markers Tool which will add line markers in the selected corners of the bounding box of the targeted Gerber object 2020-05-17 03:27:26 +03:00
Marius Stanciu fa33a5f487 - worked on the NCC Tool; added a new clear method named 'Combo' which will go through all methods until the clear is done
- added a Preferences parameter for font size used in HUD
2020-05-16 19:13:05 +03:00
Marius Stanciu ceef0849b2 - updated the French translation strings, made by @micmac (Michel) 2020-05-13 14:59:51 +03:00
Marius Stanciu 41922f5c7c - updated the Distance Tool such that the right click of the mouse will cancel the tool unless it was a panning move
- modified the PlotCanvasLegacy to decide if there is a mouse drag based on the distance between the press event position and the release event position. If the distance is smaller than a delta distance then it is not a drag move.
2020-05-13 00:59:35 +03:00
Marius Stanciu 7ec3fa73af - the HUD display state is now persistent between app restarts 2020-05-13 00:08:56 +03:00
Marius Stanciu ce9b18f9ed - modified the Tcl command Paint "single" parameter. Now it's value is a tuple with the x,y coordinates of the single polygon to be painted. 2020-05-12 16:51:54 +03:00
Marius Stanciu 6aacd4d978 - fixed recent issues introduced in Tcl command Drillcncjob
- updated the Cncjob to use the 'endxy' parameter which dictates the x,y position at the end of the job
- now the Tcl commands Drillcncjob and Cncjob can use the toolchangexy and endxy parameters with or without parenthesis (but no spaces allowed)
2020-05-12 13:59:11 +03:00
Marius Stanciu 267db756e1 - fixed the Tcl command Cncjob: there was a problem reported as issue #416. The command did not work due of the dpp parameter
- modified the Tcl command Cncjob such that if some of the parameters are not used then the default values will be used (set with set_sys)
- modified the Tcl command Drillcncjob to use the defaults when some of the parameters are not used
2020-05-12 03:12:21 +03:00
Marius Stanciu 4ff5fb6b55 Merged in new_snap_widget (pull request #10)
New snap widget
2020-05-11 22:29:32 +00:00
Marius Stanciu eb56c249b5 - pass 2020-05-12 01:27:53 +03:00
Marius Stanciu 086526441d - pass 2020-05-12 01:26:35 +03:00
Marius Stanciu d739a5b05d - re-added the position labels in the status bar; they will be useful if HUD is Off (Altium does the same :) so learn from the best) 2020-05-12 01:21:29 +03:00
Marius Stanciu 3a337212f0 - fix issue in Legacy2D graphic mode where the snap function was not accessible when the PlotCanvasLegacy class was created
- modified the HUD in Legacy2D when using Dark Theme to use different colors
- modified how the graphic engine change act in Preferences: now only by clicking Apply(or Save) the change will happen. And there is also a message asking for confirmation
2020-05-12 01:09:00 +03:00
Marius Stanciu 40c52455e1 - made sure that the corner snap buttons are shown only in Editors
- changed the HUD color when using Dark theme
2020-05-11 22:56:06 +03:00
Marius Stanciu 3c0ee97c61 - Snap Toolbar is now visible in Fullscreen
- in Fullscreen now the Notebook is available but it will be hidden on Fullscreen launch
- fixed some minor issues (in the HUD added a separating line, missing an icon in toolbars on first launch)
2020-05-11 20:10:27 +03:00
Marius Stanciu d7677b5e08 - remade the Snap Toolbar presence; now it is always active and situated in the Status Bar 2020-05-11 18:02:34 +03:00
Marius Stanciu 46367c433f - removed the labels in status bar that display X,Y positions and replaced it with a HUD display on canvas (combo key SHIFT+H) will toggle the display of the HUD
- made the HUD work in Legacy2D mode
- fixed situation when the mouse cursor is outside of the canvas and no therefore returning None values
2020-05-11 07:29:46 +03:00
Marius Stanciu f81be6f0a9 - fixed the problem with using comma as decimal separator in Grid Snap fields 2020-05-10 13:50:24 +03:00
Marius Stanciu 541813c22b - finished the GUI for exclusion areas both in the Excellon and Geometry Objects. Need to think if to make it visible only in Advanced Mode 2020-05-10 01:05:02 +03:00
Marius Stanciu 0e07ea1541 - modified the GUI for Exclusion areas; now the shapes are displayed in a Table where they can be selected and deleted. Modification applied for Geometry Objects only (for now).
- fixed and error when converting units, error that acted when in those fields that accept lists of tools only one tool was added
2020-05-09 05:18:05 +03:00
Marius Stanciu ee69744d6e - removed the Apply theme button in the Preferences; it is now replaced by the more general buttons (either Save or Apply)
- added a confirmation/warning message when applying a new theme
2020-05-08 22:01:18 +03:00
Marius Stanciu 484fb51bf0 - added a parameter to the FlatCAMDefaults class, whenever a value in the self.defaults dict change it will call a callback function and send to it the modified key
- optimized and fixed some issues in the self.on_toggle_units() method
- the Exclusion areas will have all the orange color but the color of the outline will differ according to the type of the object from where it was added (cosmetic use only as the Exclusion areas will be applied globally)
2020-05-08 01:41:40 +03:00
Marius Stanciu eea80aafc3 - added the ability to add exclusion areas from the Excellon object too. Now there is a different in color to differentiate from which type of object the exclusion areas were added but they all serve the same purpose 2020-05-07 01:38:08 +03:00
Marius Stanciu 4ece23c456 - added a fix so the app close is now clean, with exit code 0 as set 2020-05-07 00:46:02 +03:00
Marius Stanciu a161354c25 - solved issue with new parameter end_xy when it is None
- solved issue with applying theme and not making the change in the Preferences UI. In Preferences UI the theme radio is always Light (white)
- now the annotations will invert the selected color in the Preferences, when selecting Dark theme
2020-05-06 16:37:48 +03:00
Marius Stanciu afbe2d974f - handled the New project event and the object deletion (when all objects are deleted then the exclusion areas will be deleted too) 2020-05-06 04:11:31 +03:00
Marius Stanciu 343d4ee534 - changed the above: too many shapes collections and the performance will go down. Created a class Exclusion areas that holds all the require properties and the Object UI elements will connect to it's methods. This way I can apply this to Excellon object too (who are a special type of Geometry Object) 2020-05-06 03:44:56 +03:00
Marius Stanciu 91493b2fbc - wip in adding Exclusion areas in Geometry object; each Geometry object has now a storage for shapes (exclusion shapes, should I make them more general?) 2020-05-06 02:10:18 +03:00
Marius Stanciu ed105eecad - fixed an issue that made the preprocessors comboxes in Preferences not to load and display the saved value fro the file
- some PEP8 corrections
2020-05-05 01:39:01 +03:00
Marius Stanciu 88dc9aa702 - in detachable tabs, Linux loose the reference of the detached tab and on close of the detachable tabs will gave a 'segmantation fault' error. Solved it by not deleting the reference in case of Unix-like systems
- some strigns added to translation strings
2020-05-04 18:28:45 +03:00
Marius Stanciu 59a2414723 - protected a dict in VispyVisuals from issuing errors of keys changed while iterating through it 2020-05-03 17:38:41 +03:00
Marius Stanciu 17a2c0e4c1 - updated the translation files
- changed the line endings for Makefile and setup_ubuntu.sh files
2020-05-03 16:48:17 +03:00
Marius 83a515eeee Merge remote-tracking branch 'remotes/jpcgt/flatcam/Beta' into Beta
# Conflicts:
#	CHANGELOG.md
#	FlatCAMApp.py
#	locale/de/LC_MESSAGES/strings.mo
#	locale/de/LC_MESSAGES/strings.po
#	locale/en/LC_MESSAGES/strings.mo
#	locale/en/LC_MESSAGES/strings.po
#	locale/es/LC_MESSAGES/strings.mo
#	locale/es/LC_MESSAGES/strings.po
#	locale/fr/LC_MESSAGES/strings.mo
#	locale/fr/LC_MESSAGES/strings.po
#	locale/hu/LC_MESSAGES/strings.mo
#	locale/hu/LC_MESSAGES/strings.po
#	locale/it/LC_MESSAGES/strings.mo
#	locale/it/LC_MESSAGES/strings.po
#	locale/pt_BR/LC_MESSAGES/strings.mo
#	locale/pt_BR/LC_MESSAGES/strings.po
#	locale/ro/LC_MESSAGES/strings.mo
#	locale/ro/LC_MESSAGES/strings.po
#	locale/ru/LC_MESSAGES/strings.po
2020-05-03 16:36:23 +03:00
Marius Stanciu 77f6e19267 - small changes to allow making the x86 installer that is made from a Python 3.5 run FlatCAM beta
- fixed multiple parameter 'outname' in the Tcl commands OpenGerber and OpenGcode
- added more examples in the scripts Examples: isolate and cutout examples
- updated the Italian translation
- updated the translation files
2020-05-03 16:14:25 +03:00
Marius Stanciu 87f0d01edc - updated Italian translation 2020-05-02 22:56:17 +03:00
Marius Stanciu 2da0853b23 - working on a new feature: adding interdiction area for Gcode generation. They will be added in the Geometry Object 2020-05-02 22:53:48 +03:00
Marius Stanciu e159bc3b45 - updated the Italian translation done by user @pcb-hobbyst 2020-05-02 16:55:52 +03:00
Marius Stanciu ada271cbd6 - modified the Cutout Tool to generate multi-geo objects therefore the set geometry parameters will populate the Geometry Object UI
- modified the Panelize Tool to optimize the output from Cutout Tool such that there are no longer overlapping cuts
- some string corrections
2020-05-02 15:56:30 +03:00
Marius Stanciu 48b3f8d65a - fixed bug in Gerber Editor in which the units conversion wasn't calculated correct
- fixed bug in Gerber Editor in which the QThread that is started on object edit was not stopped at clean up stage
- fixed bug in Gerber Editor that kept all the apertures (including the geometry) of a previously edited object that was not saved after edit
2020-05-02 04:54:09 +03:00
Marius Stanciu bdf2192d00 - changed the icons for the grid snap in the status bar
- moved some of the methods from FlatCAMApp.App to flatcamGUI.FlatCAMGUI class
2020-05-02 00:09:48 +03:00
Marius Stanciu f4617034af - added in Gerber editor a method for zoom fit that takes into consideration the current geometry of the edited object 2020-05-01 17:42:16 +03:00
Marius Stanciu 37c6bb2c61 - solve parenting issues when trying to load a FlatScript from Menu -> File -> Scripting
- added a first new example script and added some files to work with
- added a new parameter that will store the home folder of the FlatCAM installation so we can access the example folder
2020-05-01 17:10:42 +03:00
Marius Stanciu f47396a6e5 - added some ToolTips (strings needed to be translated too) for the Cut Z entry in Geometry Object UI that explain why is sometime disabled and reason for it's value (sometime is zero) 2020-05-01 13:26:35 +03:00
Marius Stanciu 6d2ffe9c95 - fixed a small issue in loading the Projects 2020-05-01 00:31:21 +03:00
Marius Stanciu 1bbbb70fc8 - fixed issue #409; problem was due of an assert I used in the handler of the Menu ->Options -> Flip X(Y) menu entry
- activated and updated the editing in the Aperture Table in the Gerber Editor; not all parameters can be edited for every type of aperture
- some strings updated
2020-05-01 00:16:24 +03:00
Marius Stanciu 40535b9ffe - fixed bug in Tools DB that crashed when a tool is copied
- in Tools Database added a Save Button whose color is changed in Red if the DB was modified and back to default when the DB is saved.
- fixed bug in Tool DB that crashed the app when the Tool Name was modified but there was no tree item (a tool in the list) selected in the Tree widget (list of tools)
- now on tool add and tool copy, the last item (tool, which is the one added) is autoselected; o tool delete always the first item (tool) is selected
2020-04-30 19:34:05 +03:00
Marius Stanciu 98541775d4 - made some corrections - due of recent refactoring PyCharm reported errors all over (not correct but it made programming difficult)
- modified the requirements.txt file to force svg.path module to be at least version 4.0
2020-04-30 12:47:07 +03:00
Marius Stanciu 65717ddce1 - some more strings changed -> updated the translations
- replaced some FormLayouts with Gridlayouts in Tool Cutout.
2020-04-30 00:05:12 +03:00
Marius Stanciu 804b62af7f - solved the problem with not closing all the tabs in Plot Area when creating a New Project; the issue was that once a tab was removed the indexes are remade (when tab 0 is removed then tab 1 becomes tab 0 and so on) 2020-04-29 21:43:28 +03:00
Marius Stanciu a233d49bd9 - fixed units conversion issue
- updated the units conversion method to convert all the convertible parameters in the Preferences
2020-04-29 19:05:18 +03:00
Marius Stanciu a029d5d9ed - updated the French, German and Spanish Google translations
- updated the Romanian translation
2020-04-29 13:31:16 +03:00
Marius Stanciu c9f6c7efcb - fixed a SyntaxError Exception when checking for types of found old preferences 2020-04-29 12:57:39 +03:00
Marius Stanciu b8d85d2be2 - fixed the merge methods for all FlatCAM objects 2020-04-29 11:10:43 +03:00
Marius Stanciu 2ca6e2e3f1 - modified the method that detects which tab was closed in the Plot Area so it will no longer depend on it's translated text but on it's objectName set on the QTab creation 2020-04-29 10:48:47 +03:00
Marius Stanciu a5384d50d8 - more PEP8 changes
- in PreferencesUI.PreferencesUIManager class I removed the need to pass reference to the App class since it this was available through the 'ui' parameter
- some fixes due to recent refactoring
- minor bugs fixed (not so visible)
- promoted some methods to be static
- set the default layout on first run to the 'minimal' value
2020-04-29 10:09:07 +03:00
Marius Stanciu e1bc55a090 - added a try-except clause in the FlatCAMTranslation.restart_program() when closing the Listener and the thread that runs it to adjust to MacOS usage 2020-04-29 07:37:33 +03:00
Marius Stanciu 907e4bc6d9 - disabled a skip_quotes method in ToolShell.FCShell class so I can now use quotes to enclose file paths with spaces inside 2020-04-28 21:08:40 +03:00
Marius Stanciu 35674c9647 - in SVG parser modified some imports to be one on each line
- fixed the Tcl Command BBox (leftovers from recent global changes)
- fixed some typos in strings reported by @pcb-hobbyst on FlatCAM forum
2020-04-28 19:34:23 +03:00
Marius Stanciu f03d6bfda4 - added a new package to be installed in Linux to make available the black theme for FlatCAM beta
- moved all the 'share' resources (icons) to the 'assets/resources' folder
- some more fixes to problems generated by latest changes in the open handlers
- modified the make_freezed.py script for the new location of the icons
- added a fix for the ConnectionRefusedError in Linux that is issued when first running after a FlatCAM crash
2020-04-28 17:23:49 +03:00
Marius Stanciu eed7e3d620 - some minor changes in the Python version detection
- added a new Tcl Command named SetPath which will set a path to be used by the Tcl commands. Once set will serve as a fallback path in case that the files fail to be opened first time. It will be persistent, saved in preferences.
- added the GUI for the new Open Example in the FIle -> Scripting menu.
- I am modifying all the open ... handlers to add a parameter that will flag if the method was launched from Tcl Shell. This way if the method will fail to open the filename (which include the path) it will try to open from a set fallback path.
- fixed issue #406, bug introduced recently (leftover changes).
- modified the ImportSVG Tcl command name to OpenSVG (open_svg alias)
- added a new Tcl command named OpenDXF (open_dxf alias)
- fixed some errors in Scripting features
- added a new Tcl command named GetPath as a convenient way to get the current default path stored in App.defaults['global_tcl_path']
2020-04-28 14:37:34 +03:00
Marius Stanciu 2549e9925e - handled a possible situation in App.load_defaults() method
- fixed some issues in FlatCAMDB that may appear in certain scenarios
2020-04-28 09:48:49 +03:00
Marius Stanciu fe2d232f60 - minor changes
- moved the ObjectCollection class to the flatcamObjects folder where it belongs
2020-04-27 14:05:40 +03:00