Commit Graph

57 Commits

Author SHA1 Message Date
Marius Stanciu
0caa2c97f6 - in SolderPaste Plugin fixed an issue where the new parameter 'margin' was taken from the current UI and applied to all tools (nozzles); now each nozzle use his 'margin' parameter
- in SolderPaste Plugin make sure that the preprocessor is set the same for all tools (nozzles) whenever is modified
- added 2 new preprocessor files for the SolderPaste Plugin (GRBL and MARLIN)
- in SolderPaste Plugin made sure that the start GCode is not added for each nozzle but only once at start
- in SolderPaste Plugin added a new parameter: 'Feedrate Rapids' which will set the feedrate for the fast moves as opposed with the previously used G0 command. This allows to fine tune the fast moves to reduce the vibrations
2022-04-25 00:01:11 +03:00
Marius Stanciu
f7f88a34be - completed the refactoring of object options property to obj_options in preprocessors too 2022-02-18 13:21:20 +02:00
Marius Stanciu
3d4e195ae1 - added a new preprocessor: default_laser
- in the app added a new tool type: "L" (laser) which when selected will autoselect the `default_laser` preprocessor in Milling Plugin
2022-02-10 14:01:32 +02:00
Marius Stanciu
7ac1ff6364 - made sure that for laser preprocessors, the laser is always turned off completely at the end of a job
- added a new script example
2022-01-31 04:13:41 +02:00
Marius Stanciu
7420ac9fd5 - fixed all the laser preprocessors to work correctly and the resulting GCode to be plotted
- made sure that when drilling and milling with a `laser` preprocessor the first move is not done with the laser on
2022-01-31 00:04:49 +02:00
Marius Stanciu
d6c345656c - finished implementing the new feature that add a new parameter laser minimum power for the Drillin, Milling Plugins and for the cncjob and drillcncjob Tcl commands:
- modified all the preprocessors that are for `laser` to use the new parameter: `laser minimum power`
2022-01-30 21:33:06 +02:00
Marius Stanciu
dbc2e5c381 - finished the UI for adding a new parameter that is used in conjunction with the laser preprocessors: laser minimum power parameter which should help in doing a full power up/down cycle (should prolong the lifetime for the laser diode)
- fixed some UI issues for the Milling and Drilling plugins when using a `laser` preprocessor
2022-01-30 19:03:20 +02:00
Marius Stanciu
71441a80e5 - fixed not adding the feedrate code in drillcncjob Tcl command
- fixed crash when trying to do a `select all` and there are app Scripts present
- updated the `drillcncjob` Tcl command to make a script exit in case of an error
2022-01-30 16:25:11 +02:00
Marius Stanciu
a0fb8b5413 - added a new preprocessor for Marlin that has movemements on the Z axis named Marlin_laser_Z
- cleaned up Marlin preprocessors
2022-01-29 13:51:41 +02:00
Marius Stanciu
4089438392 - in Milling Plugin there was issue that did not showed the Z focus parameter for the GRBL_laser_Z preprocessor
- updated the `GRBL_laser_Z` preprocessor to show more complete parameter information's in the header
2022-01-22 23:28:21 +02:00
Marius Stanciu
2bda71bcfe - fixed the GRBL_laser preprocessor such that it does not have a Z move at the end of the job due of the fact that this preprocessor has moves only in the X-Y plane
- in Milling Plugin made sure the preprocessors that have the `laser_z` in the name (case insensitive) have the ability to change the Z height at the end of the job (through End_Z parameter)
2022-01-22 21:39:19 +02:00
Marius Stanciu
62265f020d - added comments in the default preprocessors which will help other people create their own preprocessors 2022-01-19 03:02:41 +02:00
Marius Stanciu
cdf6872e5e - updated the header of the postprocessos with 'laser' to show essential informations like some of them do not move on the Z axis
- make sure that the laser postprocessor that do move on the Z axis (like 'GRBL_laser_Z') accept negative values for the Z focus
- fixed issue in highlighter such that the keywords that have an underscore included are highlighted
- rearranged the default keywords
- fixed the generatecncjob() method default parameters to reflect new data structure names
- in Geometry object the default self.options dictionary is updated with keys that reflect new data structure
2022-01-19 02:25:40 +02:00
Marius Stanciu
e219562bbb - added in CNCJob preferences new preferences that allow compensation for the CNC bed skew/tilt (axes not being square one to another)
- all pre-processors are altered such they can adjust the gcode to use the compensation values set in Preferences -> CNC-Job section
2022-01-09 19:44:56 +02:00
Marius Stanciu
4d60e5c197 - fixed errors in the Roland preprocessors
- fixed CNCJob plot scaling when using Roland preprocessors
- in Roland preprocessors added the use of spindlespeed
- made sure that the preprocessors that don't use the gcode_header still use the start gcode
2021-07-23 23:39:25 +03:00
Marius Stanciu
db2c70a0a2 - fixed the preprocessor for Roland MDX-20 X,Y moves 2021-07-22 00:01:46 +03:00
Marius Stanciu
1330b1047c - when using the NCCAD9 preprocessor (for Kosy machines) at GCode save the .knc extension will be automatically preselected
- added a preprocessor for Roland MDX-540
2021-07-21 23:56:53 +03:00
Marius Stanciu
d4d2a93c4e - minor changes 2021-07-18 15:06:20 +03:00
Marius Stanciu
7227ebce7b - finished preprocessor file for Kosy CNC machine (NCCAD9)
- fixed the gcode header export to work with the new data structure
2021-07-18 15:04:31 +03:00
Marius Stanciu
9c139d3ea2 - modified the Geometry UI tools table. Replaced the comboboxes with labels.
- Fixed the SolderPaste Plugin regarding the special designation 'SP' job type and 'DN' tool shape
- some fixes in the GCode Editor regarding the new changes in the data structure
2021-07-18 12:01:41 +03:00
Marius Stanciu
4e46eac61c 7.07.2021
- some changes in data tools structure ('tool_type' to ['data']['tools_mill_job_type])
- some strings changes

4.07.2021

- optimized the Milling Plugin preferences
- added more preferences for v-shape tools in the Milling Plugin Preferences
- deactivated the automatic disable of the Cut Z parameter when selecting a v-shape tool in Milling Plugin
- in Milling Plugin added some protections against receiving signals from widgets without objectName set
- in Milling Plugin made sure that the Custom offset field is displayed only when it is needed (selected from Offset Type combobox)
- added some requirements asked by vispy v0.7.0
- if the generated Gcode is empty then the app will know and will not create a CNCJob object
- modified the Tool Table in Milling Plugin: now the tool type parameter is part of the Tool parameters and no longer in the Tool Table
- working on a Kosy CNC machine preprocessor file
2021-07-07 01:16:15 +03:00
Marius Stanciu
ddc3343487 - small fix in the Toolchange_Manual preprocessor 2021-03-14 13:10:04 +02:00
Marius Stanciu
95fb418966 - upgraded the Drilling Plugin and all the related parts in the CNCJob Object and in all preprocessors. Now, the parent 'tools' attribute is inherited and also the GCode is stored here 2021-03-14 13:05:19 +02:00
Marius Stanciu
0986ef143c - aperture keys in the gerber 'tools' dictionary are now stored as integers instead of strings as before; need to check the application especially the Gerber Editor
- fixed issues in Gerber Editor (using the '0' insteadd of 'REG' type for apertures)
2021-03-04 17:45:47 +02:00
Marius Stanciu
6c3a99d876 - added a new preprocessor by Georg Ziegler, used with a laser (cleaned it for PEP8) 2021-01-29 00:23:35 +02:00
Marius Stanciu
025817b62d - updated the 'Default_no_M6' preprocessor by removing the Tx command in the Toolchange section to make it compatible with GRBL controllers
- added a new preprocessor named 'Check_points' which is to be used to check if the PCB is well aligned in position (used by at least the Corners Tool)
- Tool Corners - added a new feature that creates a verification GCode by moving in the locations positions; modfied the UI a bit
- Drilling Tool - removed the mandatory Toolchange event added even if the Toolchange was not selected
- Excellon and Geometry objects no longer have the self.options dict overwritten with the application defaults
- Drilling Tool - first tool that benefit from using the object options instead of application defaults; this is useful if an object is recreated on project load
- Drilling Tool - fixed it to update the UI form also for common parameters on object change
2020-12-11 17:22:53 +02:00
Marius Stanciu
c6160085ab - Milling Tool - various fixes
- Line_xyx preprocessor - fixed when using multidepth cut to use the right depth
2020-12-02 02:11:05 +02:00
Marius Stanciu
0a7e830a81 - fixed missing import in the preprocessors
- deleted the Toolchange_custom preprocessor because it is no longer used
2020-11-28 00:15:48 +02:00
Marius Stanciu
efa69d1941 - preprocessors are no longer ordered in the comboboxes so I had to sort them manually 2020-11-08 05:17:12 +02:00
Marius Stanciu
7f97e75d43 - reverted the preprocessors with no toolchange commands to the original but removed the M6 toolchange command 2020-10-25 00:39:32 +03:00
Marius Stanciu
5a6fad46ac - created two new preprocessors (from 'default' and from 'grbl_11') that will have no toolchange commands regardless of the settings in the software 2020-10-24 16:24:52 +03:00
Marius Stanciu
8a3770f169 - removed some brackets in the GRBL laser preprocessor due of GRBL firmware interpreting the first closing bracket as the comment end 2020-09-19 21:58:46 +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
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
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
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
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
2e8d5b3b96 - added the Exclusion zones processing to Geometry GCode generation 2020-05-23 04:32:57 +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
c5e4d72db8 - solved issue #381 where there was an error when trying to generate CNCJob out of an Excellon file that have a tool with only slots and no drills
- solved some issues in the preprocessors regarding the newly introduced feature that allow control of the final move X,Y positions
2020-02-28 17:59:15 +02:00
Marius Stanciu
69607816d0 - some small changes in preprocessors 2020-02-28 01:12:39 +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
124ba6cdc6 - adapted the GCode generation from Excellon to work with multiple tools data and modified the preprocessors header 2020-02-17 16:35:09 +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
d33505096c - modified the Excellon GCode generation so now it can use multi depth drilling; modified the preprocessors to show the number of passes 2020-02-08 22:38:08 +02:00
Marius Stanciu
48029da52b - added a new preprocessor file for using laser on a Marlin motion controller but with the laser connected to one of the FAN pins, named 'Marlin_laser_use_FAN_pin' 2020-02-08 20:38:51 +02:00
Marius Stanciu
9911402c95 - added a new preprocessor for using laser on a Marlin 3D printer named 'Marlin_laser'
- modified the Geometry UI when using laser preprocessors
2020-02-08 18:01:32 +02:00
Marius Stanciu
23a1495c32 - fixed the preprocessors with 'laser' in the name to use the spindle direction set in the Preferences
- increased the upper limit for feedrates by an order of magnitude
2020-02-03 14:46:39 +02:00