Commit Graph

419 Commits

Author SHA1 Message Date
Marius Stanciu d66d914cc3 - PDF Import tool: fixed bugs when drag & dropping PDF files on canvas the files geometry previously opened was added to the new one. Also scaling issues. Solved. 2019-04-22 20:33:03 +03:00
Marius Stanciu 8f1a0c1fdc - added PDF file as type in the Recent File list and capability to load it from there
- PDF's can be drag & dropped on the GUI to be loaded
2019-04-22 19:18:23 +03:00
Marius Stanciu 7442af1b06 - PDF Import tool: added support for PDF files that embed multiple Gerber layers (top, bottom, outline, silkscreen etc). Each will be opened in it's own Gerber file. The requirement is that each one is drawn in a different color 2019-04-22 17:35:36 +03:00
Marius Stanciu 8a2a48f668 - PDF import tool: added support for save/restore Graphics stack. Only for scale and offset transformations and for the linewidth. This is the final fix for Microsoft PDF printer who saves in PDF format 1.7 2019-04-22 15:35:21 +03:00
Marius Stanciu 53444fc685 - fixed the PDF import tool to work with files generated by the Microsoft PDF printer (chained subpaths)
- in PDF import tool added support for paths filled and at the same time stroked ('B' and 'B*'commands)
- added a shortcut key for PDF Import Tool (ALT+Q) and updated the Shortcut list (also with the 'T' and 'R' keys for Gerber Editor where they control the bend in Track and Region tool and the 'M' and 'D' keys for Add Arc tool in Geometry Editor)
2019-04-22 03:28:05 +03:00
Marius Stanciu 108f11eacf - finished adding the PDF import tool although it does not support all kinds of outputs from PDF printers. Microsoft PDF printer is not supported. 2019-04-21 04:43:49 +03:00
Marius Stanciu 52fceae054 - started to work on PDF import tool 2019-04-19 17:12:10 +03:00
Marius Stanciu f7f52e3bec - Gerber Editor: the bending mode will now survive until the tool is exited
- Gerber Editor: solved some bugs related with deleting an aperture and updating the last_selected_aperture
2019-04-18 21:46:00 +03:00
Marius Stanciu c5c924cbc4 - Gerber Editor: Region Tool will add regions only in '0' aperture 2019-04-18 16:48:47 +03:00
Marius Stanciu 839baea4b8 - Gerber Editor: added custom mouse cursors for each mode in Add Track Tool
- Gerber Editor: Poligonize Tool will first fuse polygons that touch each other and at a second try will create a polygon. The polygon will be automatically moved to Aperture '0' (regions).
2019-04-18 16:35:50 +03:00
Marius Stanciu b749a47652 - Excellon Editor: fixed issue not remembering last tool after adding a new tool
- added custom mouse cursors for Excellon and Geometry Editors in some of their tools
2019-04-17 21:30:43 +03:00
Marius Stanciu 7218c2d920 - Gerber Editor: added multiple modes to lay a Region: 45-degrees, reverse 45-degrees, 90-degrees, reverse 90-degrees and free-angle. Added also key shortcuts 'T' and 'R' to cycle forward, respectively in reverse through the modes. 2019-04-17 20:36:36 +03:00
Marius Stanciu b91e492805 - Gerber Editor: work in progress to add multiple modes of drawing for the Region Tool 2019-04-17 17:34:15 +03:00
Marius Stanciu c49ee7d27d - added custom mouse cursors for some tools in Gerber Editor 2019-04-17 16:17:12 +03:00
Marius Stanciu a27d19c64e - fixed version check 2019-04-17 02:49:12 +03:00
Marius Stanciu b35dc84f0d - Gerber Editor: added some messages to warn user if no selection exists when trying to do aperture deletion or aperture geometry deletion 2019-04-17 01:38:29 +03:00
Marius Stanciu 7707baa9b2 - Gerber Editor: added protections for the Pad Array and Pad Tool for the case when the aperture size is zero (the aperture where to store the regions) 2019-04-17 01:10:21 +03:00
Marius Stanciu 862eb2ae78 - Gerber Editor: Add Track Tool: added 5 modes for laying a track: 45-degrees, reverse-45 degrees, 90-degrees, reverse 90-degrees and free angle. Key 'T' will cycle forward through the modes and key 'R' will cycle in reverse through the track laying modes.
- Gerber Editor: Add Track Tool: first right click will finish the track. Second right click will exit the Track Tool and return to Select Tool.
2019-04-16 23:21:19 +03:00
Marius Stanciu 83cb0b8755 - Gerber Editor: started to add modes of laying a track 2019-04-16 18:27:24 +03:00
Marius Stanciu d92750d124 - added ability to use ENTER key to finish tool adding in Editors, NCC Tool, Paint Tool and SolderPaste Tool. 2019-04-16 15:27:51 +03:00
Marius Stanciu 2ba0b494ff - Gerber Editor: finished a new tool: Poligonize Tool (ALT+N in Editor). It will fuse a selection of tracks into a polygon. It will fill a selection of polygons if they are apart and it will make a single polygon if the selection is overlapped. All the newly created filled polygons will be stored in aperture '0' (if it does not exist it will be automatically created)
- fixed a bug in Move command in context menu who crashed the app when triggered
- Gerber Editor: when adding a new aperture it will be store as the last selected and it will be used for any tools that are triggered until a new aperture is selected.
2019-04-15 22:48:22 +03:00
Marius Stanciu 2b4beebba2 - added support in Excellon parser for autodetection of Excellon file format for the Excellon files generate by the following ECAD sw: DipTrace, Eagle, Altium, Sprint Layout 2019-04-15 19:29:23 +03:00
Marius Stanciu d7cb8a5825 - Gerber Editor: reduced the delay to show UI when editing an empty Gerber object
- update the order of event handlers connection in Editors to first connect new handlers then disconnect old handlers. It seems that if nothing is connected some VispY functions like canvas panning no longer works if there is at least once nothing connected to the 'mouse_move' event
- Excellon Editor: update so always there is a tool selected even after the Execllon object was just edited; before it always required a click inside of the tool table, not you do it only if needed.
- fixed the menu File -> Edit -> Edit/Close Editor entry to reflect the status of the app (Editor active or not)
2019-04-15 16:19:30 +03:00
Marius Stanciu 348fe4f135 - finished ToolPcbWizard; it will autodetect the Excellon format, units from the INF file 2019-04-15 05:17:16 +03:00
Marius Stanciu db26895b5b - working on a new tool to process automatically PcbWizard Excellon files which are generated in 2 files 2019-04-15 03:29:43 +03:00
Marius Stanciu 2e7d9f953f - solved bug in Gerber apertures size and dimensions values conversion when file units are different than app units 2019-04-14 22:46:08 +03:00
Marius Stanciu fc1dfb8550 - cleaned up Measuring Tool 2019-04-14 16:59:20 +03:00
Marius Stanciu 1332601624 - moved the key handler out of the Measurement tool to flatcamGUI.FlatCAMGui.keyPressEvent()
- Gerber Editor: started to add new function of poligonize which should make a filled polygon out of a shape
2019-04-14 15:16:37 +03:00
Marius Stanciu e92cab2e96 - In Geometry Editor I fixed bug in Arc modes. Arc mode shortcut key is now key 'M' and arc direction change shortcut key is 'D' 2019-04-14 02:46:55 +03:00
Marius Stanciu 081231aca4 - Editors: activated an old function that was no longer active: each tool can have it's own set of shortcut keys, the Editor general shortcut keys that are letters are overridden
- Gerber and Geometry editors, when using the Backspace keys for certain tools, they will backtrack one point but now the utility geometry is immediately updated
2019-04-14 02:10:31 +03:00
Marius Stanciu 0fdd2e4f7c - Gerber Editor: a disabled/enabled sequence for the VisPy cursor on Gerber edit make the graphics better 2019-04-13 23:47:02 +03:00
Marius Stanciu 84f3166e2f - Gerber Editor: Remade the processing of 'clear_geometry' (geometry generated by polygons made with Gerber LPC command) to work if more than one such polygon exists 2019-04-13 22:56:46 +03:00
Marius Stanciu 5020017cd7 - final fix for issue #277. Previous fix was applied only for one case out of three.
- RELEASE 8.913
2019-04-13 17:26:03 +03:00
Marius Stanciu 42e82beb27 - finished German translation (Google translated with some adjustments)
- RELEASE 8.913
2019-04-13 16:54:39 +03:00
Marius Stanciu 2dc98fb6d6 - Gerber Editor: added ability to change on the fly the aperture after one of the tools: Add Pad or Add Pad Array is activated
- Gerber Editor: if a tool is cancelled via key shortcut ESCAPE, the selection is now deleted and any other action require a new selection
2019-04-13 13:28:47 +03:00
Marius Stanciu 2c8bac7402 - updating the German translation 2019-04-13 04:10:54 +03:00
Marius Stanciu a1f7c86996 - made optional the saving of an edited object. Now the user can cancel the changes to the object.
- replaced the standard buttons in the QMessageBox's used in the app with custom ones that can have text translated
- updated the POT translation file and the MO/PO files for English and Romanian language
2019-04-12 22:55:20 +03:00
Marius Stanciu 57e8db1f9b - moved the polarity change processing from FlatCAMGrbEditor() class to camlib.Gerber().parse_lines() 2019-04-12 19:44:03 +03:00
Marius Stanciu 80c5cf86b7 - Gerber Editor: added support for Gerber polarity change commands (LPD, LPC) 2019-04-12 19:29:12 +03:00
Marius Stanciu e478d6e043 - when adding an aperture with code '0' (zero) it will automatically be set with size zero and type: 'REG' (from region); here we store all the regions from a Gerber file, the ones without a declared aperture 2019-04-12 17:09:43 +03:00
Marius Stanciu 8b46d0d6cf - updated the translation template POT file and the EN PO/MO files
- Gerber Editor: added toggle effect to the Transform Tool
- Gerber Editor: added shortcut for Transform Tool and also toggle effect here, too
- updated the shortcut list with the Gerber Editor shortcut keys
- Gerber Editor: fixed error when adding an aperture with code value lower than the ones that already exists
2019-04-12 16:46:43 +03:00
Marius Stanciu f1b034e50c - fixed a bug in editing a blank Gerber object
- added handlers for the Gerber Editor context menu
2019-04-12 12:58:10 +03:00
Marius Stanciu 2297f99502 - Gerber Editor: added support for Oblong type of aperture
- fixed an issue with automatically filled in aperture size when the edited Gerber file has no apertures; established an default with value 10 (according to Gerber specifications)
2019-04-12 02:09:01 +03:00
Marius Stanciu 3f421b234d - Gerber Editor: fixed multiple selection with key modifier such that first click selects, second deselects 2019-04-12 00:20:09 +03:00
Marius Stanciu cc6ff98529 - Gerber Editor: added Add Pad Array tool
- Gerber Editor: in Add Pad Array tool, if the pad is not circular type, for circular array the pad will be rotated to match the array angle
2019-04-11 23:08:30 +03:00
Marius Stanciu 036e886af4 - in all Editors, manually deactivating a button in the editor toolbar will automatically select the 'Select' button
- fixed Excellon Editor selection: when a tool is selected in Tools Table, all the drills belonging to that tool are selected. When a drill is selected on canvas, the associated tool will be selected without automatically selecting all other drills with same tool
2019-04-11 20:32:40 +03:00
Marius Stanciu b3aeb497ec - changed the color of the marked apertures to the global_selection_color
- Gerber Editor: added Transformation Tool and Rotation key shortcut
2019-04-11 16:59:21 +03:00
Marius Stanciu 8fb952b6ad - Gerber Editor: autoincrement aperture code when adding new apertures
- Gerber Editor: automatically calculate the size of the rectangular aperture
2019-04-11 03:35:09 +03:00
Marius Stanciu 950bcc3767 - Gerber Editor: added Add Pad (circular or rectangular type only) 2019-04-10 22:52:23 +03:00
Marius Stanciu 7c0cfac8de - created menu links and shortcut keys for adding a new empty Gerber objects; on update of the edited Gerber, if the source object was an empty one (new blank one) this source obj will be deleted
- removed the old apertures editing from Gerber Obj selected tab
2019-04-10 20:31:37 +03:00
Marius Stanciu 28dac56051 - Gerber Editor: added Add Track and Add Region functions
- Gerber Editor: fixed key shortcuts
- fixed setting the Layout combobox in Preferences according to the current layout
2019-04-10 17:12:21 +03:00
Marius Stanciu 58abfcb7f7 - fixed above bug in Measurement Tool (but there is a TODO there) 2019-04-10 04:37:03 +03:00
Marius Stanciu 942d9e2b01 - Gerber Editor: finished the selection on canvas; should be used as an template for the other Editors
- Gerber Editor: finished the Copy, Aperture Add, Buffer, Scale, Move including the Utility geometry
- Trying to fix bug in Measurement Tool: the mouse events don't disconnect
2019-04-10 03:56:56 +03:00
Marius Stanciu fbdcb00eb3 - Gerber Editor: working on aperture selection to show on Aperture Table 2019-04-09 17:56:28 +03:00
Marius Stanciu 68a6f64fcd - Gerber Editor: added buffer and scale tools 2019-04-09 17:30:01 +03:00
Marius Stanciu 57176b7e28 - default values for Jump To function is jumping to origin (0, 0) 2019-04-07 03:43:58 +03:00
Marius Stanciu 5ef11a56cc - preliminary Gerber Editor.on_aperture_delete()
- fixed 'circular reference' error when creating the new Gerber file in Gerber Editor
- preliminary Gerber Editor.on_aperture_add()
2019-04-07 03:05:58 +03:00
Marius Stanciu da991c103b - fixed issue with not possible to close the app after a project save. 2019-04-06 01:15:29 +03:00
Marius Stanciu 1307026d83 - fixed bug in Geometry Editor in buffer_int() function that created an Circular Reference Error when applying buffer interior on a geometry. 2019-04-06 01:02:59 +03:00
Marius Stanciu e8a0fcaef1 - fixed bug in saving the maximized state
- fixed bug in applying default language on first start
- on activating 'V' key shortcut (zoom fit) the mouse cursor is now jumping to origin (0, 0)
- fixed bug in saving toolbars state; the file was saved before setting the self.defaults['global_toolbar_view]
2019-04-06 00:10:38 +03:00
Marius Stanciu 13185f3944 - changed the way delayed plot is working in Gerber Editor to use a Qtimer instead of python threading module
- WIP in Gerber Editor
2019-04-05 21:18:55 +03:00
Marius Stanciu 788daf9081 - WIP in Gerber Editor: geometry is no longer stored in a Rtree storage as it is not needed 2019-04-05 16:55:47 +03:00
Marius Stanciu b7fce74ca3 - increased the number of workers in FlatCAM and made the number of workers customizable from Preferences 2019-04-05 16:27:55 +03:00
Marius Stanciu cefb74d792 - Gerber Editor: made geometry transfer (which is slow) to Editor to be multithreaded
- Gerber Editor: plotting process is showed in the status bar
2019-04-05 15:28:32 +03:00
Marius Stanciu b9a4981cd0 - fixed offset after editing drill diameters in Excellon Editor. 2019-04-04 21:22:45 +03:00
Marius Stanciu f43bed8c66 - modified the bogus diameters series for Excellon objects that do not have tool diameter info
- made Excellon Editor aware of the fact that the Excellon object that is edited has fake (bogus) tool diameters and therefore it will not sort the tools based on diameter but based on tool number
- fixed bug on Excellon Editor: when diameter is edited in Tools Table and the target diameter is already in the tool table, the drills from current tool are moved to the new tool (with new dia) - before it crashed
2019-04-04 20:15:51 +03:00
Marius Stanciu f177b2db7b - added support for Excellon file with no info about tool diameters - PCB Wizard Excellon file support 2019-04-04 18:13:39 +03:00
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
Marius Stanciu 8fc7c0ffc1 - fixed the quit action when denying the save, to save the default values and the QSettings 2019-04-04 01:20:33 +03:00
Marius Stanciu 8fc916b746 - working on Gerber Editor - added the key shortcuts: wip
- made saving of the project file non-blocking and also while saving the project file, if the user tries again to close the app while project file is being saved, the app will close only after saving is complete (the project file size is non zero)
2019-04-04 00:47:08 +03:00
Marius Stanciu 06ac0b03b1 - modified the calling of the editor2object() slot function 2019-04-03 20:24:47 +03:00
Marius Stanciu 5e9a27ca45 - added a Gcode end_command: default is M02 2019-04-03 16:14:26 +03:00
Marius Stanciu 0a9148f30a - fixed plotting in Gerber Editor
- working on GUI in Gerber Editor
2019-04-03 16:00:44 +03:00
Marius Stanciu 40c8ef1cf8 - wip in Gerber editor 2019-04-01 02:54:34 +03:00
Marius Stanciu b202de338f - fixed errors when the File -> New Project is initiated while an Editor is still active.
- the File->Exit action handler is now self.final_save()
2019-04-01 02:47:20 +03:00
Marius Stanciu bfd7cbdd44 - changed Measuring Tool to use the mouse click release instead of mouse click press; also fixed a bug when using the ESC key. 2019-04-01 00:07:26 +03:00
Marius Stanciu ecd6472220 - fixed issue #281 by making generation of a convex shape for the freeform cutout in Tool Cutout a choice rather than the default
- fixed bug in Tool Cutout, now in manual cutout mode the gap size reflect the value set
2019-03-31 21:52:27 +03: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 1c1d8bd637 - fix error in plotting Excellon when toggling units
- FlatCAM editors now are separated each in it's own file
- fixed TextTool in Geometry Editor so it will open the notebook on activation and close it after finishing text adding
- started to work on a Gerber Editor
2019-03-29 23:45:50 +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 6d9eb10a59 - new feature: added ability to edit MultiGeo geometry (geometry from Paint Tool) 2019-03-28 21:11:37 +02:00
Marius Stanciu 18b636bf03 - About 45% progress in German translation 2019-03-28 16:21:36 +02:00
Marius Stanciu ffa9095066 - fixed issue #278. Crash on name change in the Name field in the Selected Tab. 2019-03-27 23:34:10 +02:00
Marius Stanciu d12a6759c7 - progress in German translation. About 27% done. 2019-03-27 23:01:16 +02:00
Marius Stanciu 209683b2db - added new feature: user can delete apertures in Advanced mode and then create a new FlatCAM Gerber object 2019-03-27 12:26:19 +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 a7e6914584 - fixed an issue where the Geometry plot function protested that it does not have an parameter that is used by the CNCJob plot function. But both inherit from FaltCAMObj plot function which does not have that parameter so something may need to be changed. Until then I provided a phony keyboard parameter to make that function 'shut up' 2019-03-26 15:53:07 +02:00
Marius Stanciu a964e6282d - fixed an module import issue in NCC Tool
- minor change (optimization) of the CNCJob UI
- work in progress in German translation ~20%
2019-03-25 22:00:07 +02:00
Marius Stanciu d7f4b7e6b0 - work in progress in German translation ~7%
- after any autocomplete in TCL completer, a space is added
2019-03-25 16:59:12 +02:00
Marius Stanciu 43f89397d7 - added all the TCL keywords in the completer keyword list 2019-03-25 04:26:11 +02:00
Marius Stanciu f8cbafe84d - in the TCL completer if the word is already complete don't add it again but add a space 2019-03-25 03:35:26 +02:00
Marius Stanciu d67700c38b - changed the autoname for saving Preferences, Project and PNG file 2019-03-22 20:59:02 +02:00
Marius Stanciu 789dcc5da5 - fixed the Gerber.merge() function. When some of the Gerber files have apertures with same id, create a new aperture id for the object that is fused because each aperture id may hold different geometries. 2019-03-22 20:28:43 +02:00
Marius Stanciu df98007a4a - fixed an error that created a situation that when saving a project with some of the CNCJob objects disabled, on project reload the CNCJob objects are no longer loaded 2019-03-22 17:56:11 +02:00
Marius Stanciu 9a2279708e - added an icon and title text for the Toggle Units QMessageBox 2019-03-21 02:02:34 +02:00
Marius Stanciu 99c2ceaaed - ESC key will trigger normal view if in full screen and the ESC key is pressed 2019-03-21 01:49:49 +02:00