Commit Graph

155 Commits

Author SHA1 Message Date
Marius Stanciu 5a0390f2a4 - fixed the scale, mirror, rotate, skew functions to work with Geometry Objects of multi-geometry type. 2019-01-29 15:56:49 +02:00
Marius Stanciu f6271033b3 - fixed issue in Tool Calculators when a float value was entered starting only with the dot.
- added protection for entering incorrect values in Offset and Scale fields for Gerber and Geometry objects (in Selected Tab)
2019-01-29 01:03:21 +02:00
Marius Stanciu c80271935e - minor changes 2019-01-28 16:31:06 +02:00
Marius Stanciu 8145ff9aac - fixed the FlatCAMGerber.merge() function
- added a new menu entry for the Gerber Join function: Edit -> Conversions -> "Join Gerber(s) to Gerber" allowing joining Gerber objects into a final Gerber object
2019-01-28 02:01:53 +02:00
Marius Stanciu 4f7b2bbb34 - added options for trace segmentation that can be useful for auto-levelling (code snippet from Lei Zheng from a rejected pull request on FlatCAM https://bitbucket.org/realthunder/ ) 2019-01-27 05:03:23 +02:00
Marius Stanciu c4a9c8bd77 - added more key shortcuts into the application; they are now displayed in the GUI menu's
- reorganized the Edit -> Preferences -> Global
- redesigned the messagebox that is showed when quiting ot creating a New Project: now it has an option ('Cancel') to abort the process returning to the app
2019-01-27 03:32:09 +02:00
Marius Stanciu c0031235cd - fixed grbl_laser postprocessor file
- updated function for copy of an Excellon object for the case when the object has slots
- updated FlatCAMExcellon.merge() function to work in case some (or all) of the merged objects have slots
2019-01-26 09:08:41 +02:00
Marius Stanciu d88d334867 - make sure to copy the options attribute to the final object in the case of: FlatCAMGeometry.merge(), FlatCAMGerber.merge() and for the Panelize Tool 2019-01-25 15:27:46 +02:00
Marius Stanciu 766e15ae38 - changed some tooltips
- added tooltips in Excellon tool table headers
- in Excellon Tool Table the columns are now only selectable by clicking on the header (sorting is done automatically)
- if CNCJob from Excellon then hide the CNC tools table in CNCJob Object
2019-01-21 23:44:22 +02:00
Marius Stanciu b9a062a84e - when saving HPGL code it will be saved as a file with extension .plt
- the units mentioned in HPGL format are only METRIC therefore if FlatCAM units are in INCH they will be transform to METRIC
- the minimum unit in HPGL is 0.025mm therefore the coordinates are rounded to a multiple of 0.025mm
2019-01-20 04:11:34 +02:00
Marius Stanciu 7ea6ee4a85 - fixed the HPGL code geometry rendering when travel
- fixed the message box layout when asking to save the current work
- made sure that whenever the HPGL postprocessor is selected the Toolchange is always ON and the MultiDepth is OFF
- the HPGL postprocessor entry is not allowed in Excellon Object postprocessor selection combobox as it is only applicable for Geometry
2019-01-20 02:46:42 +02:00
Marius Stanciu 4b6df74c2e - added initial implementation of HPGL postprocessor 2019-01-19 02:31:47 +02:00
Marius Stanciu 5b7fe5ef11 - modified the first line in the Gcode header to show the FlatCAM version and version_date 2019-01-09 21:55:09 +02:00
Marius Stanciu ddf4884051 - fixed cutting from copper features when doing Gerber isolation with multiple passes 2019-01-07 21:38:34 +02:00
Marius Stanciu c7db9aa566 - fixed the Marlin postprocessor detection in GCode header
- the version date in GCode header is now the one set in FlatCAMApp.App.version_date
- fixed bug in postprocessor files: number of drills is now calculated only for the Excellon objects in toolchange function (only Excellon objects have drills)
2019-01-07 02:56:55 +02:00
Marius Stanciu 954bd9097a - fixed the Join function to work on Gerber and Excellon, Gerber and Gerber, Excellon and Excelon combination of objects. The merged property is the solid_geometry and the result is a FlatCAMGeometry object. 2019-01-07 01:23:04 +02:00
Marius Stanciu 3ea1f4e62c - fixed cncjob TclCommand - it used the default values for parameters
- fixed the layout in ToolTransform
- fixed the initial text in the ToolShell
2019-01-06 20:40:05 +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
Idechix 665060a185 Merged in idechix/flatcam (pull request #79)
adding GUI interface for mirror and auto offset functions
2018-05-31 15:37:04 +00:00
Marius Stanciu 9e79843026 Merged in marius_stanciu/flatcam_mpl/Port_to_Python3k (pull request #84)
Conversion from Python2 code to Python3 code
2018-05-31 13:15:50 +00:00
Marius Stanciu d8ea4a268c - hopefully this will solve the conflict 2018-05-31 01:19:11 +03:00
Marius Stanciu 0b49a061be - hopefully this will solve the conflict 2018-05-31 01:14:04 +03:00
Marius Stanciu 969eb933fb - hopefully this will solve the conflict 2018-05-31 01:11:17 +03:00
Marius Stanciu 8a9c4b4648 Merged in marius_stanciu/flatcam_mpl/fix_calls_to_info() (pull request #96)
Fix issue #254
2018-05-30 20:04:27 +00:00
Marius Stanciu c85a142759 - fixing issue #254
- replaced (as per advice from @jpcgt) the lines with app.info call
to using a signal which is safe to use in a threaded environment,
app.inform.emit()
2018-05-30 22:52:50 +03:00
Marius Stanciu a6a26de0d3 Merge https://bitbucket.org/jpcgt/flatcam/src/master into Port_to_Python3k
# Conflicts:
#	ObjectCollection.py
2018-05-30 20:38:43 +03:00
Marius Stanciu 4cf06b71e8 - for whatever reason, using directly the name of the object in a
QtGui.QStadardItem is creating issues in the tests. Converting it to a
string solve this. After solving the conflict in the pull request this
modification was lost so I am doing it again.
- the FlatCAMObj.FlatCAMGerber.isolate() method is having the line
app.obj.info() which randomly create issues due of using QPixMaps outside
of the GUI thread.
2018-05-30 18:39:04 +03:00
Marius Stanciu 41dffe44d4 Merge https://bitbucket.org/marius_stanciu/flatcam_mpl/src/master into Port_to_Python3k 2018-05-30 17:54:34 +03:00
Marius Stanciu 3b9767cc6f - I've finally run the tests with OK result (56 tests in 102.937 sec)
- I had to play with module imports as they created a lot of error in
the tests although in reality the program worked OK.
- I've fixed some mistakes in TcL commands (they were testing isinstance
against the like of Geometry instead of FlatCAMGeometry)
- I've had to add some fixes in ObjectCollections.py (error on
create_index() method but Marco already fixed this in the checkbox
in project tab pull request and knew about this.
- Although at some point the tests run fine, I've made some checkings
on my own over the Tcl commands and discovered errors which I fixed as
mentioned above.
- conclusion is that tests are just a must and do not cover everything
(like saving projects which at some point by juggling with imports I
braked and tests were 100% OK)
2018-05-30 02:17:34 +03:00
Marius Stanciu 1242382002 Merged in marius_stanciu/flatcam_mpl/table_tool_new_column (pull request #88)
Table tool new column show number of drills for each tool
2018-05-29 15:55:25 +00:00
Marius Stanciu 4c0884e16d - when using .keys method (in Python3 is no longer atomic operation) to
make it more resilient to multithreading I've added the more costing
operation of copy().
2018-05-29 03:42:35 +03:00
Marius Stanciu 5c6b68d7cb - forgot to make the changes to sorted_tools in generate_milling method
from FlatCAMObj.py
2018-05-28 13:55:20 +03:00
Marius Stanciu bc4411d566 - added a new column in the TableTool where I show the number of drill
holes for each tool.
2018-05-27 12:07:57 +03:00
Marius Stanciu a4bbb98bf1 - converted from Python2 code to Python3 code
- in camlib.py, CNCJob class -> generate_from_excellon_by_tool() was
failing in the line to sort the tools due of been unable to compare
between dict's. I replaced that section.
2018-05-26 04:43:40 +03:00
Jakob Staudt c34c59f870 Changed Indentation to Spaces 2018-05-24 10:16:48 +00:00
Jakob Staudt 20bc6b4da5 Fixed Indentation Error in line 1077 2018-05-24 10:04:47 +00:00
Jakob Staudt 6877d0cd9b Added postprocessing GUI and Code 2018-05-24 11:57:42 +02:00
Jakob Staudt bdc2d8cc59 Added postprocessing GUI and Code 2018-05-24 11:52:02 +02:00
Idechix 2a2d8d75cc adding GUI interface for mirror and auto offset functions 2018-05-19 12:21:27 +02:00
mquezada e971372d7c Incorporating comments and functionality frpm JP. Removed need to use tab_change signal, removed inheritance dependency on QAbstractItemModel, implemented option_changed property. 2018-05-04 19:41:20 -04:00
Juan Pablo Caram 62f0662083 Support to mill all holes from the command line. Fixes #218. 2017-05-05 16:20:14 -04:00
Matthieu Berthomé 231a37274c convert values given by save file dialog to unicode 2017-03-24 14:29:30 +01:00
Juan Pablo Caram fb6e1135e9 Added comments. 2016-11-01 00:34:46 -04:00
Juan Pablo Caram f6d9901365 Added "connect" option for painting polygons. 2016-10-27 17:34:41 -04:00
Juan Pablo Caram 0b26a90175 Support for parallel-line painting. 2016-10-27 16:57:36 -04:00
Juan Pablo Caram 38c44749f1 Multiple polygon painting functional and with unittests. 2016-09-25 13:11:03 -04:00
Juan Pablo Caram 8afb0704fd Functional select-all for painting (#210). 2016-09-23 14:04:31 -04:00
Juan Pablo Caram 9f4ee91b0e Comments at top of files. Also fixes #214. 2016-09-22 10:17:51 -04:00
Juan Pablo Caram dbe0105f9b Fixes SVG parser to produce polygons. Fixes #212. 2016-09-21 13:01:51 -04:00
Juan Pablo Caram 7474609776 Added feature: Select all polygons for painting and shell support with "paint" command. 2016-09-19 16:44:29 -04:00
Juan Pablo Caram a9b4ff767b Some cleanup to shell tests. 2016-07-03 15:59:25 -04:00
Juan Pablo Caram b4017cfec2 Update instead of setting options when reading project. Fixes #204. 2016-07-02 17:36:19 -04:00
Juan Pablo Caram d1442a4900 Cleaned up G-code parser. Fixed dwell command. Fixes #184. 2016-06-04 16:45:52 -04:00
Juan Pablo Caram 6136afe84c Added dwell (G4) post processing option to gcode. 2016-06-03 22:19:47 -04:00
Juan Pablo Caram 36d0a2e029 Cleaned up tests for shell. Added test steps for gerber flow. 2016-06-03 17:15:35 -04:00
Kamil Sopko 980638630d cleanups
implement TclCommand.TclCommandSignaled as proof of concept (not usefull)
bypass using threads  within obj.generatecncjob(use_thread = False, **args)
reimplement some more shell commands  to  OOP style
2016-03-19 15:13:07 +01:00
Juan Pablo Caram 0cc60576ab Reverted changes to read_form_item(). See #193. 2016-02-29 13:59:20 -05:00
Kamil Sopko c3e544ac6c FlatCAMObj - to_form,read_form,read_form_item cleanups for better debuging and cleanup Excellon merge method
FlatCAMApp - fix  accidentall delete issue, change  calling  to  understand FlatCAMObj changes
2016-02-23 12:21:57 +01:00
Kamil Sopko 62816a614e OK python does not allow overloading for methods 2016-02-21 17:17:05 +01:00
Kamil Sopko 84322882e9 fix FlatCamObj.offset - offset does not work on joined geometries, if tree was not flat it send list into affinity.translate.
implement FlatCAMExcellon.merge - to be able join more excellons  into  one job
2016-02-21 17:03:59 +01:00
Marius Stanciu a7b29065df Solved issue #188: Order of the drill bits in Gcode generation from Excellon file
The tools are ordered by diameter as I found that the tools order in the Excellon file is not always diameter based. There is also a plated / no-plated holes criteria.
The tools in the GUI tool-list are selected all by default.
If the user wants to select only some tools, he should be carefull when selecting the tools as the order of the selection will be the actual order of the tools in G-code.
2016-02-14 07:40:32 +02:00
Juan Pablo Caram af46cae5c7 Default value for depth/cut now positive. Added note to tooltip. 2015-11-01 18:11:17 -05:00
Juan Pablo Caram 051b82009d Multiple depth cut functional. 2015-11-01 18:06:20 -05:00
Juan Pablo Caram b52863a6af Added comments. 2015-10-31 18:58:46 -04:00
Juan Pablo Caram 8f5cc7a02d Option to override user's defaults. Needed for unit testing. 2015-10-28 12:00:56 -04:00
Juan Pablo Caram a2ac2b12be Support for milling holes from the shell, command "millholes". 2015-10-03 20:03:53 -04:00
Juan Pablo Caram f503dabc7e Spindle speed for G-code from geometry and excellon. Solves #124. 2015-09-05 17:41:00 -04:00
Juan Pablo Caram 0077aaea14 Started solution to #145. 2015-08-30 18:22:54 -04:00
Jørn Sandvik Nilsson 44f5da3326 Added parameter "spindlespeed" to cncjob and drillcncjob. Will generate gcode "M03 S4000" (4000 rpm), or "M03" if omitted. 2015-07-17 09:49:24 +02:00
phdussud f5e481d1fa Best effort to generate isolation path cutting on the conventional side 2015-06-20 17:50:02 -07:00
phdussud bc524684ab Implemented issue #137 2015-05-28 16:07:06 -07:00
jpcaram b89a04d1e2 Prepend to gcode. Impements issue #115. 2015-02-13 14:47:00 -05:00
jpcaram 9dec4ff32f Activity shown for CNC Job generation via context manager. 2015-02-13 14:37:54 -05:00
jpcaram 41e63c4390 Added paint_connect to standard paint algorithm. Resolves issue #103. 2015-02-07 18:41:29 -05:00
jpcaram 6e8f82c487 Tool change support fixes. 2015-02-07 13:41:56 -05:00
jpcaram bba4f3a8bb Tool change support for gcode from excellon. Untested. 2015-02-07 13:32:58 -05:00
jpcaram a34ca26a24 Introduce activity monitor FlatCAMProcess.py. 2015-02-01 20:03:03 -05:00
jpcaram f92255b8f9 Fixed bug introduced to clear_poly() in previous commit. 2015-01-30 15:17:57 -05:00
jpcaram c2c7a83855 Seed painting algorithm working with optimizations. 2015-01-29 17:02:06 -05:00
jpcaram 6b51f03db2 "Paint connect" functional. Added to seed-based painting and unit-tested. "Path connect" still pending. Disabled. "Path connect" unit test added. 2015-01-25 16:55:22 -05:00
Juan Pablo Caram d002b6c5c6 Hid offset and scale tools from CNCJob GUI. Such features are not implemented for CNCJob objects. 2015-01-19 11:53:28 -05:00
Juan Pablo Caram 34a6b60053 Fixed Geometry merging. Solves issue #99. 2015-01-18 20:23:37 -05:00
jpcaram 4c234fcd55 Fixes polygon finding for painting. Function find_polygon made a method of Geometry. Solves Issue #96. 2015-01-14 20:24:37 -05:00
Juan Pablo Caram d0eff0f25d Cleanup. 2015-01-07 09:38:46 -05:00
jpcaram 55bf206060 Cleanup. 2015-01-01 17:32:56 -05:00
jpcaram 97a1e17b0d Fixed bug preventing from saving G-Code. 2014-12-19 13:40:14 -05:00
Juan Pablo Caram f68cffcfb2 Hole milling is functional. Solves issue #74. 2014-12-09 21:30:01 -05:00
Juan Pablo Caram fe2b4c7478 Added Feed Method for clearing polygon. Some minor correction to Geometry.plot() 2014-12-07 14:53:33 -05:00
Juan Pablo Caram cea41c827e Merge Geometry. Excellon coordinate parse fix. New GCode generation algorithm. Improved status bar. 2014-11-16 18:32:15 -05:00
Juan Pablo Caram 5659c3e7bd Fixed Gerber parser: Now buffers current path with previous tool on tool change. 2014-11-13 15:06:43 -05:00
Juan Pablo Caram 73aa0c38a0 Basic geometry editor for goemetry objects started. 2014-10-28 17:39:38 -04:00
Juan Pablo Caram 63a97bb15b Functioning shell. Version check from flatcam.org. Usage report on version check. 2014-10-13 18:16:43 -04:00
Juan Pablo Caram b2cc2f3fdb Major work on the command line tool. Version check on the new website. 2014-09-21 21:51:50 -04:00
Juan Pablo Caram 8cb509d6f3 Initial implementation of console. 2014-09-13 17:29:07 -04:00
Juan Pablo Caram 16734f5d1a Convertion to Qt. Major refactoring. 2014-06-13 15:21:11 -04:00
Juan Pablo Caram 74a1331a7a Typo fix in ObjectCollection.py 2014-05-05 10:15:57 -04:00
Juan Pablo Caram 582e472e12 Use of logging instead of print statements. 2014-05-02 22:10:04 -04:00
Juan Pablo Caram 0bdc3b19f0 Major modifications to data/gui interactions. In progress. 2014-04-25 01:24:03 -04:00
Juan Pablo Caram e0d2daca6c Optimized Gerber parser. Some minor improvements to Excellon parser. 2014-04-18 20:20:17 -04:00