Commit Graph

187 Commits

Author SHA1 Message Date
Marius Stanciu 496be49027 - made sure that the timeout parameter used by some Tcl Commands is seen as an integer in all cases
- minor changes in Paint Tool
2020-04-10 18:54:04 +03:00
Marius Stanciu 42949021b1 - fixed the Tcl Command Delete to have an argument -f that will force deletion evading the popup (if the popup is enabled). The sme command without a name now will delete all objects
- fixed the Tcl Command JoinExcellons
- fixed the Tcl Command JoinGeometry
- fixed the Tcl Command Mirror
- updated the Tcl Command Mirror to use a (X,Y) origin parameter. Works if the -box parameter is not used.
- updated the Tcl Command Offset. Now it can use only -x or -y parameter no longer is mandatory to have both. The one that is not present will be assumed 0.0
- updated the Tcl Command Panelize. The -rows and -columns parameters are no longer both required. If one is not present then it is assumed to be zero.
- updated the Tcl Command Scale. THe -origin parameter can now be a tuple of (x,y) coordinates.
- updated the Tcl Command Skew. Now it can use only -x or -y parameter no longer is mandatory to have both. The one that is not present will be assumed 0.0
- updated the help for all the Tcl Commands
2020-04-09 04:13:04 +03:00
Marius Stanciu b11ac0ca4d - added a minor change to the ListSys Tcl command 2020-04-06 19:04:32 +03:00
Marius Stanciu 3d39916b5f - minor changes to increase compatibility with Python 3.8 2020-04-01 18:45:20 +03:00
Marius Stanciu 7415ebc8af - fixed bugs in cncjob TclCommand 2020-03-20 17:12:20 +02:00
Marius Stanciu 70d3895799 - working on a new type of database 2020-03-01 00:52:24 +02:00
Marius Stanciu 8a6ada1984 - added a new parameter named 'End Move X,Y' for the Geometry and Excellon objects. Adding a tuple of coordinates in this field will control the X,Y position of the final move; not entering a value there will cause not to make an end move 2020-02-26 04:43:54 +02:00
Marius Stanciu 1e9232aeaa - updated the Excellon UI to hold data for each tool
- in Excellon UI removed the tools table column for Offset Z and used the UI form parameter
- updated the Excellon Editor to add for each tool a 'data' dictionary
- updated all FlatCAM tools to use the new confirmation message that show if the entered value is within range or outside
2020-02-17 04:43:01 +02:00
Marius Stanciu e3be6ff22f - applied the fix for above bug to the TclCommand Drillcncjob too 2020-02-10 04:30:32 +02:00
Marius Stanciu 5ff9f953c6 - working in NCC Tool 2020-01-08 17:14:10 +02:00
Marius Stanciu e090b96c7c - modified Toggle Workspace function to work in the new Preferences UI configuration
- cleaned the app from progress signal usage since it is not used anymore
2020-01-03 01:41:03 +02:00
Marius Stanciu b5d69f493d - added ability for Tcl commands to have optional arguments with None value (meaning missing value). This case should be treated for each Tcl command in execute() method 2020-01-01 22:24:43 +02:00
Marius Stanciu 0447839e43 - modified the extracut and multidepth parameters in Cncjob Tcl command like for dwell and toolchange 2020-01-01 21:17:47 +02:00
Marius Stanciu 779a6a75d4 - modified the Drillcncjob and Cncjob Tcl commands to be allowed to work without the 'dwell' and 'toolchange' arguments. If 'dwelltime' argument is present it will be assumed that the 'dwell' is True and the same for 'toolchangez' parameter, if present then 'toolchange' will be assumed to be True, else False 2020-01-01 20:42:59 +02:00
Marius Stanciu a738ed7305 - in NCC Tool I've added a warning so the user is warned that the NCC margin has to have a value of at least the tool diameter that is doing an iso_op job in the Tool Table 2020-01-01 19:08:15 +02:00
Marius Stanciu 3475ae00cd - fixed bug in NCC Tool: after trying to add a tool already in the Tool Table when trying to change the Tool Type the GUI does not change
- final fix for app not quiting when running a script as argument, script that has the quit_flatcam Tcl command; fixed issue #360
- fixed issue #363. The Tcl command drillcncjob does not create tool cut, does not allow creation of gcode, it forces the usage of dwell and dwelltime parameters
2020-01-01 16:13:33 +02:00
Marius Stanciu 258bd529d2 - some fixes in the NCC Tcl command (using the bool() method on some params) 2019-12-30 23:33:22 +02:00
Marius Stanciu 841e1f3eeb - fixed Tcl commands that use the overlap parameter to switch from fraction to percentage
- in Transform Tool mae sure that the buffer sub-tool parameters are better explained in tooltips
2019-12-30 22:04:39 +02:00
Marius Stanciu 5f739d1baf - if extracut_length is zero then the extracut will cut up until the first point in path no matter what the distance is 2019-12-10 23:57:00 +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 e54dd14e6c - updated Tcl commands to make use of either 0 or False for False value or 1 or True for True in case of a parameter with type Bool 2019-12-08 22:11:39 +02:00
Marius Stanciu 00d331a775 - updated the CNCJob and Drillcncjob Tcl Commands to use 0 and 1 as values for the parameters that are stated as of bool type, beside the normal keywords of False and True 2019-12-07 01:27:49 +02:00
Marius Stanciu 2ca509ca04 - few bugs solved regarding the newly created empty objects 2019-12-06 23:00:43 +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 a542e6a696 Merged jpcgt/flatcam/Beta into Beta 2019-12-02 21:50:28 +02:00
Chris Breneman f2b9ba28a0 Remove math import 2019-12-02 14:23:30 -05:00
Marius Stanciu c439009251 - added 3 new tcl commands: export dxf, export excellon and export gerber 2019-12-02 20:54:18 +02:00
Chris Breneman 155f6e66df Add dwell and dwelltime options to drillcncjob command to match cncjob
command.  Also add missing import to drillcncjob.
2019-11-27 16:04:38 -05: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 50abe2883d - fixed some TclCommands: MillDrills and OpenGerber 2019-11-19 23:22:14 +02:00
Marius Stanciu f707a9f06f Merge remote-tracking branch 'remotes/jpcgt/flatcam/Beta' into Beta
# Conflicts:
#	tclCommands/TclCommandMillDrills.py
2019-11-19 23:20:09 +02:00
Eric Varsanyi b13d238070 Misc fixes to TCL glue 2019-11-18 19:30:16 -06:00
Marius Stanciu f20d5aaaca - converted setup_ubuntu.sh to Linux line endings 2019-11-15 23:51:12 +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 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 d0e5b6c83a - fixed imports in all TclCommands 2019-10-25 02:10:52 +03:00
Marius Stanciu bf670d7967 - start working on QRCode Tool - not working yet 2019-10-22 17:32:33 +03:00
Marius Stanciu b00c1018e4 - enhanced the Tool Film adding the Film adjustments and added the GUI in Preferences
- set the GUI layout in Preferences for a new category named Tools 2
2019-10-13 18:13:39 +03:00
Marius Stanciu 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 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 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 4540066731 - added a new TclCommand named quit_flatcam which will ... quit FlatCAM from Tcl Shell or from a script 2019-09-19 04:04:18 +03:00
Marius Stanciu 1d26247fc4 - FlatCAM can be run in HEADLESS mode now. This node can be selected by using the --headless=1 command line argument or by changing the line headless=False to True in config/configuration.txt file. In this mod the Sys Tray Icon menu will hold only the Run Scrip menu entry and Exit entry. 2019-09-19 03:55:47 +03:00
Marius Stanciu fe97364ba5 - fixed issue #313 where TclCommand drillcncjob is spitting errors in Tcl Shell which should be ignored 2019-09-17 02:58:01 +03:00
Marius Stanciu f51a3fa038 - made the splashscreen to be showed on the current monitor on systems with multiple monitors
- added a new entry in Menu -> View -> Redraw All which is doing what the name says: redraw all loaded objects
- fixed issue where in TCl Shell the Windows paths were not understood due of backslash symbol understood as escape symbol instead of path separator
- made sure that in for the TclCommand cncjob and for the drillcncjob if one of the args is stated but no value then the value used will be the default one
- made available the TSA algorithm for drill path optimization when the used OS is 64bit. When used OS is 32bit the only available algorithm is TSA
2019-09-16 23:27:02 +03:00
Marius Stanciu 727cee7aec - fixed some issues recently introduced in the TclCommands CNCJob, DrillCNCJob adn write_gcode; changed some parameters names 2019-09-16 17:20:56 +03:00
Marius Stanciu e9751e41b8 - added a new parameter named 'muted' for the TclCommands: cncjob, drillcncjob and write_gcode. Setting it as -muted 1 will disable the error reporting in TCL Shell 2019-09-16 04:23:16 +03:00
Marius Stanciu 61120911c6 - fixed Scripts repeating multiple time when the Code Editor is used. This repetition was correlated with multiple openings of the Code Editor window (especially after an error)
- added the autocomplete keywords that can be changed to the defaults dictionary
- modified the TclCommand New so it will no longer close all tabs when called (it closed the Code Editor tab which may have been holding the code that run)
2019-09-16 04:03:19 +03:00
Marius Stanciu 4c1163eedd - added the outname parameter (and established an default name when outname not used) for the AlignDrillGrid and AlignDrill TclCommands 2019-09-16 03:12:37 +03:00
Marius Stanciu 7aebf1c60a - added new TclCommands: NewExcellon, NewGerber
- fixed the TclCommand open_project
2019-09-16 02:57:46 +03:00
Marius Stanciu 8cba74647f - made all TclCommands not to be plotted automatically
- made sure that all TclCommands are not threaded
2019-09-16 01:39:11 +03:00
Marius Stanciu 2f553c9005 - added a new TclCommand named PlotObjects which will plot a list of FlatCAM objects
- made that after opening an object in FlatCAM it is not automatically plotted. If the user wants to plot it can use the TclCommands PlotAll or PlotObjects
- modified the TclCommands that open files to not plot the opened files automatically
2019-09-16 00:47:15 +03:00
Marius Stanciu 8b3e1b5a77 - fixed the TclCommand cncjob to use the -outname parameter
- added some more keywords in the data_model for auto-completer
2019-09-15 16:46:48 +03:00
Marius Stanciu 30f00abce8 - fixed issue in ToolPaint that could not allow area painting of a geometry that was a list and not a Geometric element (polygon or MultiPolygon)
- fixed UI showing before the initialization of FlatCAM is finished when the last state of GUI was maximized
- finished updating the TclCommand cncjob to work for multi-geo Geometry objects with the parameters from the args
2019-09-15 13:37:06 +03:00
Marius Stanciu 21ca024324 - update the Tcl Command isolate to be able to isolate exteriors, interiors besides the full isolation, using the iso_type parameter 2019-09-15 05:19:02 +03:00
Marius Stanciu 0c62be61df - established a TODO 2019-09-15 05:12:57 +03:00
Marius Stanciu a25a70c0e1 - refactored FlatCAMGeometry.mtool_gen_cncjob() method
- fixed the TclCommandCncjob to work for multigeometry Geometry objects; still I had to fix the list of tools parameter, right now I am setting it to an empty list
2019-09-15 05:00:20 +03:00
Marius Stanciu 57f4762261 - added to the NonCopperClear.clear_copper() a parameter to be able to run it non-threaded 2019-09-14 18:27:08 +03:00
Marius Stanciu d22592e64c - small changes in the TclCommands: MillDrills, MillSlots, DrillCNCJob: the new parameter for tolerance is now named: tooldia
- cleaned up the 'About FlatCAM' window, started to give credits for the translation team
2019-09-12 17:28:56 +03:00
Marius Stanciu 8e2cca827a - added a new parameter in the TclCommands: DrillCNCJob, MillDrills, MillSlots named tol (from tolerance). If the diameters of the milled (drilled) dias are within the tolerance specified of the diameters in the Excellon object than those diameters will be processed. This is to help account for rounding errors when having units conversion 2019-09-12 02:07:32 +03:00
Marius Stanciu 90b9e2da05 - modified the TclCommand DrillCncJob to have as parameter a list of tool diameters to be drilled instead of tool indexes 2019-09-11 21:40:18 +03:00
Marius Stanciu 90a8b44cdf - fixed some minor errors in the new TclCommands: MillDrills and MillSlots 2019-09-11 17:59:24 +03:00
Marius Stanciu dce347d9be - changed the resulting object name from TclCommand MillSlots 2019-09-11 17:51:56 +03:00
Marius Stanciu 0fc3743e91 - modified the MillDrills and MillSlots TclCommands to accept as parameter a list of tool dimaeters to be milled instead of tool indexes 2019-09-11 17:50:52 +03:00
Marius Stanciu 1ef9e95143 - changed the name of TclCommand MillHoles to MillDrills and added a new TclCommand named MillSlots 2019-09-11 17:34:01 +03:00
Marius Stanciu 4440298327 - fixed the TclCommand MillHoles 2019-09-11 07:06:32 +03:00
Marius Stanciu 7f3e3cb061 - fixed a small typo in TclCommandCopperCLear 2019-09-10 04:37:00 +03:00
Marius Stanciu ba1e0bc94b - fixed Tcl Command CncJob
- fixed crash due of Properties Tool trying to have a convex hull area on FlatCAMCNCJob objects which is not possible due of their nature
- modified Tcl Command SubtractRectangle
- fixed and modernized the Tcl Command Scale to be able to scale on X axis or on Y axis or on both and having as scale reference either the (0, 0) point or the minimum point of the bounding box or the center of the bounding box.
- fixed and modernized the Tcl Command Skew
2019-08-26 00:40:35 +03:00
Marius Stanciu 65ab17e308 - fixed Tcl Command AddPolygon, AddPolyline 2019-08-25 21:33:46 +03:00
Marius Stanciu 61df272bbc - added new capability in NCC Tool when the reference object is of Gerber type and fixed some newly introduced errors 2019-08-25 18:13:13 +03:00
Marius Stanciu 354946025c - finished adding the TclCommandCopperClear that can be called with alias: 'ncc' 2019-08-25 16:05:03 +03:00
Marius Stanciu 8c0b8ed13d - initial add of a new Tcl COmmand named CopperClear
- remade the NCC Tool in preparation for the newly added TclCommand CopperClear
2019-08-25 04:45:16 +03:00
Marius Stanciu d606c836f4 - added a new TclCommand named Bbox who generate a bounding box. 2019-08-24 21:25:25 +03:00
Marius Stanciu a29f8ec43d - added a new TcL Command named Nregions who generate non-copper regions 2019-08-24 20:52:35 +03:00
Marius Stanciu 87d1558977 - modified the Paint Tool. Now the Single Polygon and Area/Reference Object painting works with multiple tools too. The tools have to be selected in the Tool Table.
- remade the TclCommand Paint to work in the new configuration of the the app (the painting functions are now in their own tool, Paint Tool)
- fixed a bug in the Properties Tool
2019-08-24 19:55:03 +03:00
Marius Stanciu 017d495a41 - fixed TclCommandFollow command; an older function name was used who yielded wrong results 2019-08-22 23:09:41 +03:00
Marius Stanciu 729b7cb11c - some changes in the app.on_togle_units() to make sure we don't try to convert empty parameters which may cause crashes on FlatCAM units change
- updated setup_ubuntu.sh file
- made sure to import certain libraries in some of the FlatCAM files and not to rely on chained imports
2019-07-09 13:58:33 +03:00
Marius Stanciu a5ffe475dd - fixed bug in ToolCutout where creating a cutout object geometry from another external isolation geometry failed
- fixed bug in cncjob TclCommand where the gcode could not be correctly generated due of missing bounds params in obj.options dict
- fixed a hardcoded tolerance in FlatCAMGeometry.generatecncjob() and in FlatCAMGeometry.mtool_gen_cncjob() to use the parameter from Preferences
2019-06-07 23:14:00 +03:00
Marius Stanciu 2a30101bb0 - TclCommand Geocutout is now creating a new geometry object when working on a geometry, preserving also the origin object 2019-06-03 04:47:29 +03:00
Marius Stanciu c409df0a8e - fixed issue with geometry name not being updated immediately after change while doing geocutout TclCommand
- some changes to enable/disable project context menu entry handlers
2019-06-02 14:04:14 +03:00
Marius Stanciu a545658d44 - fixed the Circle Steps parameter for both Gerber and Geometry objects not being applied and instead the app internal defaults were used.
- fixed the Tcl command Geocutout issue that gave an error when using the 4 or 8 value for gaps parameter
2019-05-19 17:15:24 +03:00
Marius Stanciu ecc2c90f2a - changed all the info messages that are of type warning, error or success so they have a space added after the keyword
- changed the Romanian translation by adding more diacritics
2019-03-29 00:26:00 +02:00
Marius Stanciu 9648bcd693 - added a header in the New Script 2019-03-25 03:14:55 +02:00
Marius Stanciu abfa78d898 - remade the layout in 2Sided Tool
- work in progress for translation in Romanian - 91%
2019-03-17 15:47:17 +02:00
Marius Stanciu 9d0bcf477a - removed the Open Gerber with 'follow' menu entry and also the open_gerber Tcl Command attribute 'follow'. This is no longer required because now the follow_geometry is stored by default in a Gerber object attribute gerber_obj.follow_geometry
- added a new parameter for the Tcl CommandIsolate, named: 'follow'. When follow = 1 (True) the resulting geometry will follow the Gerber paths.
2019-02-19 14:53:55 +02:00
Marius Stanciu 1a8db0b5d9 - fixed the Tcl Command Geocutout to work with Gerber objects too (besides Geometry objects) 2019-02-06 22:32:32 +02:00
Marius Stanciu 2ee80990e5 - added a new function (and shortcut key Escape) that when triggered it deselects all selected objects and delete the selection box(es)
- fixed bug in Excellon Gcode generation that made the toolchange X,Y always none regardless of the value in Preferences
2019-02-06 21:37:50 +02:00
Marius Stanciu 05ae92726c - renamed the theme to layout because it is really a layout change
- combined the geocutout and cutout_any TCL commands - work in progress
2019-02-06 16:59:17 +02:00
Marius Stanciu 6ea3499d39 - updated the new shortcut list with the shortcuts added lately
- now the special messages in the Shell are color coded according to the level. Before they all were RED. Now the WARNINGS are yellow, ERRORS are red and SUCCESS is a dark green. Also the level is in CAPS LOCK to make them more obvious
- some more changes to GUI interface (solved issues)
- added some status bar messages in the Geometry Editor to guide the user when using the Geometry Tools
- now the '`' shortcut key that shows the 'shortcut key list' in Editors points to the same window which is created in a tab no longer as a pop-up window. This tab can be detached if needed.
2019-02-03 15:13:09 +02:00
Marius Stanciu e0adb9b43b - corrected small type in list_sys Tcl command; added a protection of the Plot Area Tab after a successful edit. 2019-02-01 17:44:28 +02:00
Marius Stanciu 60614e4b45 - more fixes (didn't get it right before) 2019-01-31 02:50:03 +02:00
Marius Stanciu 4441e40042 - fixed postprocessor files to work with toolchange_xy parameter value = None (no values in Edit - Preferences fields) - actual fix
- fixed Tcl commands CncJob and DrillCncJob to work with toolchange
2019-01-31 01:45:14 +02:00
Marius Stanciu 3941d03702 - fixed TclCommand Cutout
- added a new TclCommand named CutoutAny. Keyword: cutout_any
2019-01-25 20:05:27 +02:00
Marius Stanciu 006b0c8ecb - modified the panelize TclCommand to take advantage of the new panelize() function; added a 'threaded' parameter (default value is 1) which controls the execution of the panelize TclCommand: threaded or non-threaded 2019-01-25 18:57:44 +02:00
Marius Stanciu e48d2d2f49 -clean-up before merge 2019-01-03 21:25:08 +02:00
Marius Stanciu 421e9766ea -clean-up before merge 2019-01-03 21:20:54 +02:00
Marius Stanciu 21406fcccf - some small corrections 2018-06-02 16:17:46 +03:00
Marius Stanciu ddda4773e3 - added the possibility of selecting which system parameters to list
starting with the letter(s) offered as argument. It's a way to narrow
the list down. If no selection letters are offered it will list on
screen the entire list of system parameters.
2018-06-02 16:11:40 +03:00
Marius Stanciu f026d8cae6 - addded a new TclCommand that list the names of the system parameters.
It is useful if we don't remember correctly the name of the system
parameter or if we want to look for a certain system parameter as the
list is big and it grows.
2018-06-02 15:06:20 +03:00