Commit Graph

255 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
Juan Pablo Caram
2ed0f73f87 Support for LPD and LPC in Gerber. Major changes in Gerber parser. 2014-04-12 02:16:39 -04:00
Juan Pablo Caram
6c13b7dc59 Warning before overwriting. More flexible Excellon parser (tool numbers). Other small fixes. 2014-04-05 00:36:23 -04:00
Juan Pablo Caram
9740739f05 FlatCAMObjs now stored in ListStore. Expected to solve several issues. Some updates to the new architecture still pending. 2014-04-04 11:41:03 -04:00
Juan Pablo Caram
609561f7a3 Created class ObjectCollection to manage the list of objects in the program. Converted the program to use it. Not fully functional yet. 2014-04-02 19:53:00 -04:00
Juan Pablo Caram
23ba2105c1 Bug fix in Excellon parser. Was not supporting a '+' in from of numbers. 2014-03-28 18:14:21 -04:00