Marius Stanciu
c623b8d63c
- added support for Gerber format specification D (no zero suppression) - PCBWizard Gerber files support
2019-04-04 16:21:26 +03:00
Marius Stanciu
4bbdeaf844
- fixed the camlib.Geometry.import_svg() and camlib.Gerber.bounds() to work when importing SVG files as Gerber
2019-04-04 02:15:59 +03:00
Victor Benso
98370ada8d
Issue #282 - Shapely keeps crashing with some valid geometries, further tests needed
2019-04-03 00:46:19 -04:00
Marius Stanciu
79e5cce6f1
- added a fix in the Excellon parser by allowing a comma in the tool definitions between the diameter and the rest
2019-03-30 02:55:11 +02:00
Marius Stanciu
c5a77841f8
- update the TCL keyword list
...
- fix on the Gerber parser that makes searching for '%%' char optional when doing regex search for mode, units or image polarity. This allow loading Gerber files generated by the ECAD software TCl4.4
2019-03-29 13:02:53 +02:00
Marius Stanciu
e0417b034b
- modified Gerber parser to copy the follow_geometry in the self.apertures
...
- modified the Properties Tool to show the number of elements in the follow_geometry for each aperture
- modified the copy functions to copy the follow_geometry and also the apertures if it's possible (only for Gerber objects)
2019-03-29 02:13:20 +02: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
1aabb1c084
- added CNCJob geometry for the holes created by the drills from Excellon objects
2019-03-27 01:21:01 +02:00
Marius Stanciu
0002d32341
- fixed bug: after using Paint Tool shortcut keys are disabled
2019-03-26 22:39:49 +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
c0d21ee4e0
- made the layout combobox current item from Preferences -> General window to reflect the current layout
...
- remade the POT translate file
- work in progress in translation for Romanian language 44%
- fix for showing tools by activating them from the Menu - final fix.
2019-03-14 01:09:06 +02:00
Marius Stanciu
e54ee9b569
- fixed the Properties Project menu entry to work on the new way
...
- in Properties tool now the Gerber apertures show the number of polygons in 'solid_geometry' instead of listing the objects
2019-03-11 19:30:38 +02:00
Marius Stanciu
5a4d61ee8f
- grouped all parsers files in flatcamParsers folder
2019-03-11 12:28:44 +02:00
Marius Stanciu
29722de6ac
- fixed the Properties Project menu entry to work on the new way
...
- in Properties tool now the Gerber apertures show the number of polygons in 'solid_geometry' instead of listing the objects
2019-03-11 03:31:33 +02:00
Marius Stanciu
a6e23b28a7
- fix app crash for the case that there are no translation files
...
- fixed some forgotten strings to be prepared for internationalization in ToolCalculators
- fixed Tools menu no longer working due of changes
- added some test translation for the ToolCalculators (in Romanian)
- fixed bug in ToolCutOut where for each tool invocation the signals were reconnected
2019-03-10 17:12:58 +02:00
Marius Stanciu
53627b566c
- added a fix in the Gerber parser when adding the geometry in the self.apertures dict for the case that the current aperture is None (Allegro does that)
...
- finished support for internationalization by adding a set of .po/.mo files for the English language. Unfortunately the final action can be done only when Beta will be out of Beta (no more changes) or when I will decide to stop working on this app.
- changed the tooltip for 'feedrate_rapids' parameter to point out that this parameter is useful only for the Marlin postprocessor
2019-03-10 14:34:13 +02:00
Marius Stanciu
a4ae0f65ca
- finished preparing for internationalization for the files: camlib and objectColletion
2019-03-08 17:04:53 +02:00
Marius Stanciu
6ba037fd83
- fixed issue when doing th CTRL (or SHIFT) + LMB, the focus is automatically moved to Project Tab
...
- further work in internationalization, added a fallback to English language in case there is no translation for a string
2019-03-08 14:10:23 +02:00
Marius Stanciu
574184f44c
- fixed Measuring Tool - after doing a measurement the Notebook was switching to Project Tab without letting the user see the results
...
- more work on the translation engine; the app now restarts after a language is applied
- added protection against using Travel Z parameter with negative or zero value (in Geometry).
2019-03-08 01:32:18 +02:00
Marius Stanciu
996b63cf4e
- modified the grbl-laser postprocessor lift_code()
...
- treated an error created by Z_Cut parameter being None
- changed the hover and selection box transparency
2019-03-04 21:19:55 +02:00
Marius Stanciu
90ff773546
- fixed Excellon object move and all the other transformations
2019-03-04 04:41:04 +02:00
Marius Stanciu
06fb48eb6a
- minor UI changes for Gerber UI
...
- ~~after an object move, the apertures plotted shapes are deleted from canvas and the 'mark all' button is deselected~~
- after move tool action or any other transform (rotate, skew, scale, mirror, offset), the plotted apertures are kept plotted.
- changing units now will convert all the default values from one unit type to another
- prettified the selection shape and the moving shape
- initial work in object hovering shape
2019-03-04 03:47:19 +02:00
Marius Stanciu
d79d6cf2bc
- minor UI changes for Gerber UI
...
- after an object move, the apertures plotted shapes are deleted from canvas and the mark all button is deselected
- fixed offset, rotate, scale, skew for follow_geometry. Fixed the move tool also.
- fixed offset, rotate, scale, skew for 'solid_geometry' inside the self.apertures.
2019-03-03 16:35:15 +02:00
Marius Stanciu
9f60df850e
- progress in ToolChange Custom commands replacement and rename
2019-02-28 18:02:29 +02:00
Marius Stanciu
fb6edfc394
- made the Custom ToolChange Text area in CNCJob Selected Tab depend on the status of the ToolChange Enable Checkbox even in the init stage.
...
- added some parameters throughout camlib gcode generation functions; handled some possible errors (e.g like when attempting to use an empty Custom GCode Toolchange)
2019-02-27 01:45:32 +02:00
Marius Stanciu
874ce11d84
- work in progress to Toolchange_Custom code replacememnt -> finished the parse and replace function
2019-02-26 17:03:57 +02:00
Marius Stanciu
00340287a4
- fixed the geometry adding to the self.apertures in the case when regions are done without declaring any aperture first (Allegro does that). Now, that geometry will be stored in the '0' aperture with type REG
2019-02-26 13:22:43 +02:00
Marius Stanciu
74ecbabf1f
- added a function to read the parameters from ToolChange macro Text Box (I need to move it from CNCJob to Excellon and Geometry)
2019-02-26 02:24:56 +02:00
Marius Stanciu
11ef818f0d
- more modifications for the Gerber UI layout; made 'follow' an advanced Gerber option
2019-02-25 19:42:56 +02:00
Marius Stanciu
d43de2ea77
- fixed the Gerber object UI layout
...
- added ability to mark individual apertures in Gerber file using the Gerber Aperture Table
2019-02-25 16:28:32 +02:00
Marius Stanciu
a25fc1e88c
- fixed bug in Set Origin function
2019-02-24 17:10:01 +02:00
Marius Stanciu
945196a44c
- minor changes in Gerber parser
2019-02-24 01:30:57 +02:00
Marius Stanciu
1cab33314f
- reverted a change in GCode that might affect Gerber polarity change in Gerber parser
2019-02-23 21:32:13 +02:00
Marius Stanciu
3bad47b3be
- updated the Properties Tool to include more information's, also details if a Geometry is of type MultiGeo or SingleGeo
...
- remade the Preferences GUI to include the Advanced Options in a separate way so it is obvious which are displayed when App Level is Advanced.
2019-02-23 16:02:45 +02:00
Marius Stanciu
2843810ab3
- some GUI elements changes
2019-02-23 06:11:42 +02:00
Marius Stanciu
7272b46dd9
- added Repetier postprocessor file
...
- removed "added ability to regenerate objects (it's actually deletion followed by recreation)" because of the way Python pass parameters to functions by reference instead of copy
2019-02-22 16:54:58 +02:00
Marius Stanciu
d453c31bf5
- finished work in ToolSolderPaste
2019-02-21 23:48:13 +02:00
Marius Stanciu
d5768d3b34
- creating the camlib functions for the ToolSolderPaste gcode generation functions
2019-02-21 17:07:38 +02:00
Marius Stanciu
4ab2374903
- added protection against creating CNCJob from an empty Geometry object (with no geometry inside)
...
- changed the shortcut key for YOuTube channel from F2 to key F4
2019-02-21 01:14:55 +02:00
Marius Stanciu
3ee6eb4a87
- fixed a bug in rotate from shortcut function
...
- finished generating the solder paste dispense geometry
2019-02-20 03:27: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
cc2fe29942
- fixed an issue where the function handler that changed the layout had a parameter changed accidentally by an index value passed by the 'activate' signal to which was connected
...
- fixed bug in paint function in Geometry Editor that didn't allow painting due of overlap value
- added protections again wrong values for the Buffer and Paint Tool in Geometry Editor
- the Paint Tool in Geometry Editor will load the default values from Tool Paint in Preferences
- when the Tools in Geometry Editor are activated, the notebook with the Tool Tab will be unhidden. After execution the notebook will hide again for the Buffer Tool.
- changed the font in Tool names
- added in Geometry Editor a new Tool: Transformation Tool. It still has some bugs, though ...
2019-02-18 03:45:34 +02:00
Marius Stanciu
941cec30ae
- Serialized the source_file of the Objects so it is saved in the FlatCAM project and restored.
...
- if there is a single tool in the tool list (Geometry , Excellon) and the user click the Generate GCode, use that tool even if it is not selected
2019-02-16 21:03:27 +02:00
Marius Stanciu
326599e4a3
- changed some status bar messages
...
- New feature: added the capability to view the source code of the Gerber/Excellon file that was loaded into the app. The file is also stored as an object attribute for later use. THe view option is in the project context menu and in Menu -> Options -> View Source
2019-02-16 19:47:50 +02:00
Marius Stanciu
71d8b2df36
- fixed Excellon parser to detect correctly the units and zeros for Excellon's generated by Eagle 9.3.0
...
- modified the initial size of the canvas on startup
- modified the build file (make_win.py) to solve the issue with suddenly not accepting the version as Beta
2019-02-16 14:43:26 +02:00
Marius Stanciu
fa0ee40e90
- in Gerber aperture table now the values are displayed in the current units set in FlatCAM
2019-02-14 23:21:20 +02:00
Marius Stanciu
3a05ebaffb
- added total travel distance for CNCJob object created from Excellon Object in the CNCJob Selected tab
2019-02-14 01:21:24 +02:00
Marius Stanciu
f3b1b45968
- changed the layout in the Selected Tab UI
...
- started to add apertures table support
- finished Gerber aperture table display
2019-02-13 17:26:21 +02:00
Marius Stanciu
899e8b433d
- added new parameter for Excellon Object in Preferences: Fast Retract. If the checkbox is checked then after reaching the drill depth, the drill bit will be raised out of the hole asap.
...
- started to work on GUI forms simplification
- changed the Preferences GUI for Geometry and Excellon Objects to make a difference between parameters that are changed often and those that are not.
2019-02-13 14:30:29 +02:00
Marius Stanciu
c94679919d
- stored solid_geometry of Excellon object in the self.tools dictionary
...
- finished the solid_geometry restore after edit in Excellon Editor
- finished plotting selection for each tool in the Excellon Tool Table
- fixed the camlib.Excellon.bounds() function for the new type of Excellon geometry therefore fixed the canvas selection, too
2019-02-13 01:22:09 +02:00
Marius Stanciu
02793f7ae2
- starting to work on storing the solid_geometry for each tool in part in Excellon Object
2019-02-12 16:55:43 +02:00
Marius Stanciu
9b61e4cc37
- finished work on Offset parameter in Excellon Object (Excellon Editor, camlib, FlatCAMObj updated to take this param in consideration)
...
- fixed a bug where in Excellon editor when editing a file, a tool was automatically added. That is supposed to happen only for empty newly created Excellon Objects.
2019-02-12 15:12:12 +02:00
Marius Stanciu
d0641458e4
- whenever a FlatCAM tool is activated, if the notebook side is hidden it will be unhidden
...
- reactivated the Voronoi classed
- added a new parameter named Offset in the Excellon tool table - work in progress
2019-02-12 04:00:11 +02:00
Marius Stanciu
8f000c0a18
- in Excellon Editor added a protection for Tool_dia field in case numbers using comma as decimal separator are used. Also added a QDoubleValidator forcing a number with max 4 decimals and from 0.0000 to 9.9999
...
- in Excellon Editor added a shortcut key 'T' that popup a window allowing to enter a new Tool with the set diameter
- in App added a shortcut key 'T' that popup a windows allowing to enter a new Tool with set diameter only when the Selected tab is on focus and only if a Geometry object is selected
- changed the shortcut key for Transform Tool from 'T' to 'ALT+T'
- fixed bug in Geometry Selected tab that generated error when used tool offset was less than half of either total length or half of total width. Now the app signal the issue with a status bar message
- added Double Validator for the Offset value so only float numbers can be entered.
- in App added a shortcut key 'T' that popup a windows allowing to enter a new Tool with set diameter only when the Tool tab is on focus and only if a NCC Tool or Paint Area Tool object is installed in the Tool Tab
2019-02-09 00:08:54 +02:00
Marius Stanciu
6c6a802afb
- commented some debug messages
...
- imported speedups for shapely
2019-02-07 01:36:37 +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
dedf8c09de
- fixed the name self-insert in save dialog file for GCode; added protection in case the save path is None
...
- fixed FlatCAM crash when trying to make drills GCode out of a file that have only slots.
- made the shell toggle shortcut key work when focused on Selected Tab; toggle units shortcut also
- changed the messages for Units COnversion
2019-02-06 14:03:59 +02:00
Marius Stanciu
b589292c0f
- fixed bug in Excellon Slots milling: a value of a dict key was a string instead to be an int. A cast to integer solved it.
2019-02-06 02:17:29 +02:00
Marius Stanciu
299a6585a7
- done a regression on Tool Tab default text. It somehow delete Tools in certain scenarios so I got rid of it
...
- fixed bug in multigeometry geometry not having the bounds in self.options and crashing the GCode generation
- fixed bug that crashed whole application in case that the GCode editor is activated on a Tool gcode that is defective.
2019-02-06 00:16:14 +02:00
Marius Stanciu
3b8b7d470a
- added a new parameter to set the feedrate of the probing in case the used postprocessor does probing (has toolchange_probe in it's name)
...
- fixed bug in Marlin postprocessor for the Excellon files; the header and toolchange event always used the parenthesis witch is not compatible with GCode for Marlin
- fixed a issue with a move to Z_move before any toolchange
2019-02-05 19:40:46 +02:00
Marius Stanciu
822800e7f5
- added a way to set the Probe depth if Toolchange_Probe postprocessors are selected
...
- finished the postprocessor file for MACH3 tool probing on toolchange event
2019-02-05 16:43:12 +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
e5ebfac3ce
- bug solved in a message display showed when there are Gerber Parser errors
2019-02-03 02:34:21 +02:00
Marius Stanciu
7607aad8d8
- added protection against entering float numbers with comma separator instead of decimal dot separator in key points of FlatCAM (not everywhere)
...
- added a choice of plotting the kind of geometry for the CNC plot (all, travel and cut kind of geometries) in CNCJob Selected Tab
2019-02-02 23:56:08 +02:00
Marius Stanciu
de7e41991d
- fixed a source of possible errors in DetachableTab Widget.
...
- fixed gcode conversion/scale (on units change) when multiple values are found on each line
- replaced the pop-up window for the shortcut list with a new detachable tab
- removed the pop-up messages from the rotate, skew, flip commands
2019-02-02 03:27:34 +02:00
Marius Stanciu
d5853722c3
- updated the camlib.CNCJob.scale() function so now the GCode is scaled also (quite a HACK :( it will need to be replaced at some point)). Units change work now on the GCODE also.
2019-01-31 23:07:53 +02:00
Marius Stanciu
3c355f72be
- added a parameter ('Fast plunge' in Edit -> Preferences -> Geometry Options and Excellon Options) to control if the fast move to Z_move is done or not
2019-01-31 13:58:49 +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
7bc806f1dc
- fixed unit conversion functions in case the toolchange_xy parameter is None
...
- more fixes in camlib.CNCJob regarding usage of toolchange (in case it is None)
- fixed postprocessor files to work with toolchange_xy parameter value = None (no values in Edit - Preferences fields)
2019-01-31 00:36:32 +02:00
Marius Stanciu
7e5ce009d8
- added a traceback report in the TCL Shell for the errors that don't allow creation of an object; useful to trace exceptions/errors
...
- in case that the Toolchange X,Y parameter in Selected (or in Preferences) are deleted then the app will still do the job using the current coordinates for toolchange
- fixed an issue in camlib.CNCJob where tha variable self.toolchange_xy was used for 2 different purposes which created loss of information.
2019-01-30 23:17:27 +02:00
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
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
f553f2b35a
- deleted junk folders
...
- remade the Panelize Tool: now it is much faster, it is multi-threaded, it works with multitool geometries and it works with multigeo geometries too.
2019-01-25 15:16:36 +02:00
Marius Stanciu
6673c4f608
- fixed 'grbl_laser' postprocessor bugs (missing functions)
...
- fixed display geometry for 'grbl_laser' postprocessor
2019-01-24 19:22:02 +02:00
Marius Stanciu
7c301922db
- added a new postprocessor file named 'line_xyz' which have x, y, z values on the same GCode line
...
- fixed calculation of total path for Excellon Gcode file
2019-01-23 00:31:48 +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
b9cbe97f4d
- fixed display HPGL code geometry on canvas
...
- added build folder to gitignore list
2019-01-19 03:02:47 +02:00
Marius Stanciu
37067b5bff
- added a fix to allow creating of Excellon geometry even when there are points with no tools by skipping those points and warning the user about this in a Tcl message
2019-01-09 15:47:29 +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
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
Marius Stanciu
14477f4db4
- the main issue was the modules that I imported. It was the FlatCAMObj.py
...
modules which it was not what it was needed. I changed the imports to
camlib.py, remade the functions in camlib.py and now the Flip, Rotate
and Skew work over all the objects of FlatCAM (Gerber, Geometry created
by the FC, Geometry created by the objects, Excellon, CNCJob)
2018-06-06 04:08:50 +03:00
Marius Stanciu
74104ec19f
- modified the pull request to include along the flipX, flipY commands
...
also the Rotate, SkewX and SkewY commands. Fix for issue #235
All perform the same in regard of multiple object selection.
2018-06-05 13:43:14 +03:00
Marius Stanciu
d4331b49bc
Merged in marius_stanciu/flatcam_mpl/load_gerber_with_zero_value (pull request #83 )
...
Support for Gerber files that have apertures with size zero
2018-06-04 16:56:22 +00:00
Marius Stanciu
da9f890c39
Merged master into Port_to_Python3k
2018-05-29 17:43:33 +03:00
Marius Stanciu
eb0637c5bb
- minor PEP changes
2018-05-26 19:10:07 +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
Marius Stanciu
b8a8cfe1fd
- added support for Gerber files that have apertures with size zero
...
Basically it test the "size" value for the current aperture and if it's
found with zero value it will replace with a really small value
(0.0000001)that for all practical purposes is "zero"
(0.0000001 in inch is really small and in mm is even smaller)
- correcting small typos
2018-05-25 12:41:17 +03:00
Juan Pablo Caram
62f0662083
Support to mill all holes from the command line. Fixes #218 .
2017-05-05 16:20:14 -04: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
jpcgt
deed138867
Merged in realthunder/flatcam/mirror_fix (pull request #46 )
...
Fixed mirroring list of geometries
2016-10-27 19:48:02 +00:00
Juan Pablo Caram
8afb0704fd
Functional select-all for painting ( #210 ).
2016-09-23 14:04:31 -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
74e936ba02
Added inline docs
2016-08-08 15:23:37 -04:00
Zheng, Lei
8a43a63b80
Fixed mirroring list of geometries
2016-06-13 13:20:25 +08:00
Juan Pablo Caram
f9cbd78cd1
Show messages and errors in TCL shell. Better exception handling and reporting when opening files.
2016-06-11 21:33:38 -04:00
Juan Pablo Caram
9f138bdcc2
Fixes #119 .
2016-06-04 23:01:36 -04:00
Juan Pablo Caram
eb18b7fd3f
Fixes #157 .
2016-06-04 17:54:07 -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
d28858ff38
Fast vertical movement above board. Fixes #141 .
2016-04-10 16:43:03 -04:00
Kamil Sopko
4c20040fbe
fix errors in tool selection
2016-04-09 12:48:32 +02:00
Kamil Sopko
b98954dccd
fix error handling in signaled commands, error gets info about different scoup instead of true error
...
more detaild error print including python trace when more complex unknown error
reinplement drillcncjob
fix camlib problem with all drills("all" was already there) but it crashes on tools without points, when no tools "all" is as default
add timeout to all helps if command is signaled
2016-04-03 14:20:50 +02:00
Kamil Sopko
e96ee1af29
merge new pull requests from FlatCAM->master
...
implement executing of tasks inside worker thread
cleanups, reimplement Isolate/New/OpenGerber as OOP style Shell commands
disable edit during shell execution, show some progress
add ability for breakpoints in other threads and only if available
add X11 safe flag, not sure what happen on windows
2016-03-24 23:06:44 +01:00
Kamil Sopko
78854f7fe0
fix ordering in naming arguments and help
...
add commands TclCommandAddPolygon(add_poly, add_polygon) and TclCommandAddPolyline(add_polyline)
implement add_polyline in camlib.py
2016-03-17 12:14:12 +01:00
Kamil Sopko
a827e184b7
rename del_polygon to subtract_polygon
...
correctly modify current geometry and dont leave it as path
fix shellcommands to follow new names
tweak geocutout to be able cut 8 gaps
2016-02-23 00:23:27 +01:00
Kamil Sopko
cf51e4ce2c
implement del_polygon from geometry
2016-02-20 10:56:32 +01:00
Marius Stanciu
71a81173bd
camlib.py edited online with Bitbucket; removed the paranthesis around lambda function as it was making an tuple which it was not the intention.
2016-02-16 21:59:54 +00:00
Marius Stanciu
1be364d065
Issue #188 : Adopted the solution suggested by JP to not use the operator module when performing the sorting on exobj,tools and use instead the lambda function.
2016-02-16 23:25:58 +02:00
Marius Stanciu
1a7e001a66
Added spaces after '#' in the comments
2016-02-16 22:53:01 +02:00
Marius Stanciu
cfa078a1e5
camlib.py (edited a comment) edited online with Bitbucket
2016-02-15 22:35:22 +00:00
Marius Stanciu
a35a422bcc
This is a implementation of the the sorting of the tools found in Excellon file done in Python language and independent of the UI. There is no need to revert the previous solution as that one will make the sorting visible in GUI.
2016-02-15 23:40:08 +02: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
7fd026c254
Fix to Gerber parser, corrects line splitting. Fixes #183 .
2015-12-30 10:26:19 -05:00
Juan Pablo Caram
3940408da5
Added non-compliant support for "-" in ApertureMacro names. Temporary fix for #185 .
2015-12-29 17:35:43 -05:00
Juan Pablo Caram
ea27748697
Use Decimal for depth calculation. Fixes #130 .
2015-12-29 16:34:13 -05:00
Juan Pablo Caram
67ef16e776
SVG: Accept but ignore units in length.
2015-12-20 20:51:33 -05:00
Juan Pablo Caram
d3ed12e5de
Added SVG importing support to the GUI menu. See issue #179 .
2015-12-18 16:43:47 -05:00
Juan Pablo Caram
fdf809774f
Basic support for importing SVG. Via shell only at this time. See issue #179 .
2015-12-18 12:49:52 -05:00
Juan Pablo Caram
89f3d6e3e3
Added line number information to status bar message on parse error.
2015-11-30 12:36:03 -05:00
Juan Pablo Caram
05e89b0ec3
Last pass in multi-pass cuts limited to specified z_cut.
2015-11-04 17:27:57 -05:00
Juan Pablo Caram
051b82009d
Multiple depth cut functional.
2015-11-01 18:06:20 -05:00
Juan Pablo Caram
616237ea93
Replace exact last point of arc. Fixes #110 .
2015-10-31 18:55:32 -04:00
Juan Pablo Caram
8f5cc7a02d
Option to override user's defaults. Needed for unit testing.
2015-10-28 12:00:56 -04:00
Thomas Duffin
2c9a307483
Fixes #135
...
The polygon passed to clear_polygon() is generated using shapely’s buffer() function on line FlatCAMObj.py:1095.
When the margin given to the buffer() function is small, a single Polygon object is returned. If the margin is large enough it causes the polygon to be broken into pieces and a Multipolygon is returned instead. A visualisation of this can be seen in the shapely manual in the object.buffer() section.
The first thing clear_polygon() does is buffer the polygon again to take the tool diameter into account and the Polygon/Multipolygon generated by this is handled further down the function. The buffer() function used to take the tool diameter into account can be called happily on both Polygon and Multipolygon objects so there is no reason to block Multipolygons being passed to clear_polygon().
Therefore simply adding Multipolygon to the acceptable types in the assert statement on line camlib.py:382 fixes this bug and causes no further issues.
2015-10-25 23:14:11 +00:00
Juan Pablo Caram
d22b47f4af
Log level back to debug after release.
2015-10-20 20:47:45 -04:00
Juan Pablo Caram
a679883adf
RTree now using shapely object's id() instead of __hash__. Fixes 1#163.
2015-10-20 19:53:39 -04:00
Juan Pablo Caram
982ab16f28
Release version 8.4
2015-10-18 19:24:04 -04:00
Juan Pablo Caram
ee684e8101
Further work on multi-pass cuts.
2015-10-11 20:58:21 -04:00
Juan Pablo Caram
d687fb5287
Started multi-pass cuts.
2015-10-04 21:45:19 -04:00
Juan Pablo Caram
b5f428deea
Added "interiors" shell command.
2015-10-04 21:25:00 -04:00
Juan Pablo Caram
4110940d49
Minor fix to "millholes" shell docs. Added get_exterior() method to Geometry.
2015-10-04 20:48:06 -04:00
Juan Pablo Caram
1942fe3bed
Create polygon for path drawn so far when D03 is encountered. Fixes #150 .
2015-10-02 19:09:44 -04:00
Juan Pablo Caram
d8c5d46cd0
Workaround for #152 . Check for empty polygons before adding.
2015-09-28 21:25:31 -04:00
Juan Pablo Caram
22119072d3
Cleanup. And fixes #148 .
2015-09-11 14:45:08 -04:00
Juan Pablo Caram
6fa0e91875
Fixed #139 , Polygon aperture twice as large.
2015-08-29 22:30:58 -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
0bf21458c6
Resolve issue 144
...
Added a test for the new mechanism
Added a gerber test file
2015-06-26 13:42:55 -07:00
phdussud
f5e481d1fa
Best effort to generate isolation path cutting on the conventional side
2015-06-20 17:50:02 -07:00
jpcaram
cd39a55696
Support for optional '+' on Gerber numbers. Solvers #142 .
2015-06-20 17:29:03 -04:00
phdussud
a8e8b9f0b6
Added S and T to the list of allowed Gcode commands.
2015-06-06 14:14:30 -07:00
jpcaram
31ddb9cf7c
Multiple statement per line problem fixed (Issue #125 ).
2015-04-17 12:46:48 -04:00
Juan Pablo Caram
4ec72bc3f0
Fix for multiple statements per line. Tests pending.
2015-04-16 22:17:06 -04:00
jpcaram
aa951e277b
Fixed conflict with PyQt5. Cleanup. Log level back to debug.
2015-03-31 10:41:32 -04:00
Juan Pablo Caram
476f1e5858
Version 8.3 for Windows.
2015-02-22 17:34:57 -05:00
jpcaram
873db32aad
Fixed gerber parse error related to extra trace.
2015-02-17 17:54:51 -05:00
Juan Pablo Caram
519df2385f
Final 8.2 for Windows. Removed cd into app folder.
2015-02-13 17:39:22 -05:00
Juan Pablo Caram
dda9bb1864
Version 8.2. Log level to WARNING. Removed unused scipy.optimize.
2015-02-13 16:57:42 -05:00
jpcaram
9dec4ff32f
Activity shown for CNC Job generation via context manager.
2015-02-13 14:37:54 -05:00
jpcaram
2c699406f7
Activity indicator as context manager when opening files. Opening gerber from File->Open Gerber launches open_gerber in thread.
2015-02-13 14:05:06 -05:00
jpcaram
8da39d54d4
Desctivates canvas callbacks in drawing tool when deactivated.
2015-02-12 17:06:29 -05:00
jpcaram
247901655c
Complete tool change sequence for gcode generated from excellon.
2015-02-07 19:32:02 -05:00
jpcaram
41e63c4390
Added paint_connect to standard paint algorithm. Resolves issue #103 .
2015-02-07 18:41:29 -05:00
jpcaram
bba4f3a8bb
Tool change support for gcode from excellon. Untested.
2015-02-07 13:32:58 -05:00
jpcaram
17a3316ce4
Improved speed in FlatCAMRTreeStorage.
2015-02-06 17:16:11 -05:00
jpcaram
e353413cd3
Disabled "Ok"/"Update Geometry" button after first update. Solves issue #105 .
2015-02-05 09:18:54 -05:00
jpcaram
87fdf0a581
Another fixed bug introduced to clear_poly() in previous commit. Added process widget.
2015-01-30 18:10:06 -05:00
jpcaram
f92255b8f9
Fixed bug introduced to clear_poly() in previous commit.
2015-01-30 15:17:57 -05:00
jpcaram
d903356a55
Solved units change problem during parsing (issue #80 ).
2015-01-30 14:41:56 -05:00
jpcaram
3aa1746b23
Refactored basic painting algorithm to generate FlatCAMRtreeStorage.
2015-01-30 13:47:25 -05:00
jpcaram
4389f173a8
Removed path_join() from painting algorithm as paint_join() should do the trick alone.
2015-01-29 17:22:09 -05:00
jpcaram
c2c7a83855
Seed painting algorithm working with optimizations.
2015-01-29 17:02:06 -05:00
jpcaram
6733ebbfa8
Refactored paint_connect() and path_connect() to receive and return FlatCAMRTreeStorage objects. Updated unittests acordingly.
2015-01-29 15:52:03 -05:00
jpcaram
a1345f0a58
Fixes to path_connect() related to LinearRings. Added test cases.
2015-01-27 18:16:22 -05:00
jpcaram
573581ca80
Fixes to path_connect() and added units tests for it.
2015-01-26 17:52:26 -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
jpcaram
9632d9a98f
First write (untested) of paint_connect.
2015-01-22 21:23:10 -05:00
jpcaram
a42c3f6e10
Functional Geometry.path_connect() and added to seed-based painting algorithm.
2015-01-22 18:43:39 -05:00
jpcaram
a7dc9bcc09
Path optimization: Connect adjacent paths.
2015-01-22 18:11:09 -05:00
jpcaram
e5185dd66f
Cleanup of camlib.CNCjob.
2015-01-22 17:23:18 -05:00
jpcaram
fd2657a8d7
Solves seed painting problem in issue #102 .
2015-01-21 09:50:01 -05:00
Juan Pablo Caram
6361ad3338
Path check.
2015-01-19 17:17:16 -05:00
Juan Pablo Caram
922aa6734d
Added python-simplejson line to setup_ubuntu.sh.
2015-01-19 12:41:34 -05:00
Juan Pablo Caram
670dd48127
Added "excellon_zeros" application default. It get propagated to the Excellon class.
2015-01-18 21:10:19 -05:00
Juan Pablo Caram
34a6b60053
Fixed Geometry merging. Solves issue #99 .
2015-01-18 20:23:37 -05:00
Juan Pablo Caram
840cfcf9ff
Cleanup for 8.1
2015-01-15 15:53:42 -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
jpcaram
3bedda2aeb
Unittests for Excellon number parser.
2015-01-11 19:39:01 -05:00
jpcaram
1b154ab057
Added support for M71/72 in Excellon parser.
2015-01-11 18:28:59 -05:00
jpcaram
207842f98f
Added some error handling to the Excellon parser.
2015-01-10 19:01:12 -05:00
Juan Pablo Caram
ddd90f9f33
Solves Gerber parser bug in Issue #92 (Incorrect Flashes).
2015-01-06 13:06:01 -05:00
Juan Pablo Caram
1eaba57dd1
Version 8. Cleanup and logging level reduced to WARNING.
2015-01-02 18:25:05 -05:00
Juan Pablo Caram
fe61447887
Cleanup for version 8.
2015-01-02 12:59:06 -05:00
Juan Pablo Caram
04d028ecc0
Removed print statements.
2015-01-02 00:06:48 -05:00
jpcaram
9c5b6a8799
Cleanup.
2015-01-01 23:13:07 -05:00
jpcaram
8c082365d7
Added KeySensitiveListView for objects in project. Delete key deletes selected objects.
2015-01-01 22:27:55 -05:00
jpcaram
f17f955355
Added delete button in drawing toolbar.
2015-01-01 15:41:50 -05:00
jpcaram
977b5b1f91
Using FlatCamRTreeStorage in copper clearing algorithm.
2015-01-01 14:59:45 -05:00
jpcaram
c20c6b0abf
Using FlatCAMRTreeStorage in DrawingTool.
2014-12-31 16:45:10 -05:00
Juan Pablo Caram
e547386649
Custom RTree wrapper. FlatCAMRTree and FlatCAMRTreeStorage.
2014-12-28 18:06:54 -05:00
jpcaram
a0d6d1a6a9
Added OS-X installation instructions to manual.
2014-12-27 15:12:49 -05:00
jpcaram
360127e6ad
Functioning 3-point arc. Progress on 2pt + center arc.
2014-12-22 21:31:57 -05:00
jpcaram
97a1e17b0d
Fixed bug preventing from saving G-Code.
2014-12-19 13:40:14 -05:00
jpcaram
c1b606feb4
Temporary fix/workaround for bug #83 . Checking for empty list before running cascaded_union.
2014-12-14 19:03:04 -05:00
Juan Pablo Caram
4eb69a9f07
Added some debug prints to camplib.py
2014-12-12 14:35:34 -05:00
Juan Pablo Caram
ac667682b3
Updated Ubuntu setup script to support rtree. Removed defaults.json and recent.json from the main dir.
2014-12-12 13:04:01 -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
66929a82db
Fixed gerber parser for 360 deg. arcs.
2014-11-21 10:43:00 -05:00
Juan Pablo Caram
45327552de
Gerber support for single quadrant arcs (G74).
2014-11-20 21:43:32 -05:00
Juan Pablo Caram
47dd9e3715
Fixed zdownrate bug preventing gcode generation.
2014-11-17 19:27:17 -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
b873cbfea4
Fixed Gerber parser: Now buffers current path with previous tool on tool change.
2014-10-31 14:04:47 -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
32076d4020
Alpha 6 release files
2014-09-06 20:45:44 -04:00
Juan Pablo Caram
0974e54d98
Some fixes (hacks) to load certain malformed gerber.
2014-08-31 16:40:07 -04:00
Juan Pablo Caram
20c381d510
Fixes to gerber parser related to aperture macros and aperture definitions allowed characters in names.
2014-08-30 12:28:04 -04:00
Juan Pablo Caram
268421c4d0
Added tooltips to the object UIs.
2014-05-03 02:32:00 -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
a20a7e1d8c
Added setup script for Ubuntu.
2014-04-19 00:20:22 -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
Juan Pablo Caram
fb261d64b3
Bug fix in Gerber parser. Removed requiring the 0 in D0x.
2014-03-18 09:27:24 -04:00
Juan Pablo Caram
942e274597
Important fix to Excellon parser.
2014-03-18 09:06:10 -04:00
Juan Pablo Caram
9d9c3f819d
Serialization of ApertureMacro. Change scale, offset and mirror in Gerber to act only upon its resulting geometry, not its source data.
2014-03-13 22:37:59 -04:00
Juan Pablo Caram
21da78d654
Small fixes in ApertureMacro and updated docs.
2014-03-12 23:30:19 -04:00
Juan Pablo Caram
04b9a0ecd7
Added full support for Aperture Macros in Gerber parser.
2014-03-12 19:45:40 -04:00
Juan Pablo Caram
5f3319dd7a
Some classes for drawing. Solved bug of CNC jobs not starting at origin and missing return to origin.
2014-03-08 00:40:11 -05:00
Gonzalo Lopez
f4d3e59cb7
Added rotation param to the non-dimension parameter list (Avoids unit conversion)
2014-03-07 18:25:17 +01:00
Gonzalo Lopez
110fa976f6
Added rotation support for P aperture.
...
Changed the aperture parsing to regular expresion.
2014-03-07 01:04:11 +01:00
Gonzalo Lopez
09cdf619f6
Added support for simple P aperture. Rotation is not supported yet.
2014-03-06 20:11:39 +01:00
Juan Pablo Caram
66e72221ac
Major changes in plotting structure. Added scroll wheel zoom support. Minor fix in Gerber parser. Updated docs.
2014-03-05 16:12:55 -05:00
Juan Pablo Caram
ad5e989331
Fixed bug in Excellon parser. Did not support numbers with period.
2014-03-03 22:12:07 -05:00
Juan Pablo Caram
34b95494ae
Version checker and several cleanups. Docs re-built. Some tooltips.
2014-02-28 19:32:04 -05:00
Juan Pablo Caram
68a275e042
Excellon parser bug fixed, improved Gerber parse, added icons, added some tooltips.
2014-02-27 00:12:49 -05:00
Juan Pablo Caram
42f3652668
Offset feature. G-Code/CNC job processing fixes and optimization.
2014-02-22 00:52:25 -05:00
Juan Pablo Caram
f8352e7188
Added support for "plot" checkboxes and "solid" checkbox for Gerber.
2014-02-20 23:26:57 -05:00
Juan Pablo Caram
b6497b2edb
Patched Gerber parsing to support some non-compliant instructions.
2014-02-19 00:21:29 -05:00
Juan Pablo Caram
0baa820bc2
Double-sided PCB support.
2014-02-11 21:50:03 -05:00
Juan Pablo Caram
6284156a0d
Double-sided PCB support.
2014-02-05 19:36:47 -05:00
Juan Pablo Caram
e930de1793
Changed project name to FlatCAM.
2014-02-01 14:23:31 -05:00
Juan Pablo Caram
8bcaa65529
Project saving and opening.
2014-01-31 20:50:54 -05:00
Juan Pablo Caram
deac0a7ef6
Object serialization and project saving.
2014-01-31 00:39:34 -05:00
Juan Pablo Caram
1ce8f672af
Added scaling support, unit checking and changing API, fixed re-plotting problems, added documentation.
2014-01-26 22:58:18 -05:00
Juan Pablo Caram
3459c55da4
Excellon to g-code and bed flattening features.
2014-01-20 13:08:36 -05:00
Juan Pablo Caram
773bb13702
Area clearing feature, pending minor fixes.
2014-01-18 02:01:34 -05:00
Juan Pablo Caram
f888775b36
Scrollable notebook forms and non-copper region creator.
2014-01-14 23:43:04 -05:00
Juan Pablo Caram
015e843148
Major redesign of plotting and class structures.
2014-01-14 00:13:09 -05:00