Commit Graph

142 Commits

Author SHA1 Message Date
Marius Stanciu 8091355915 - working in fixing a bug in FlatCAMGrbEditor() 2019-06-20 16:51:18 +03:00
Marius Stanciu f5cc8d773f - fixed bug in Gerber editor - on multiple edits on the same object, the aperture size and dims were continuously multiplied due of the file units not being updated 2019-06-15 20:22:17 +03:00
Marius Stanciu 8ee516ec14 - editing a multi geometry will no longer pop-up a Tcl window
- solved issue #292 where a new geometry renamed with many underscores failed to store the name in a saved project
- the name for the saved projects are updated to the current time and not to the time of the app startup
- some PEP8 changes related to comments starting with only one '#' symbol
2019-05-30 21:05:12 +03:00
Marius Stanciu 8a273b3a6f - fixed bug in Gerber editor FCDisk and FCSemiDisc that the resulting geometry was not stored into the '0' aperture where all the solids are stored
- fixed minor issue in Gerber Editor where apertures were included in the saved object even if there was no geometric data for that aperture
2019-05-22 23:02:23 +03:00
Marius Stanciu b273bdc3df - Gerber Editor: finished a new tool: Eraser. It will erase certain parts of Gerber geometries having the shape of a selected shape. 2019-05-22 01:04:10 +03:00
Marius Stanciu 511df19793 - Gerber Editor - started to work on a new editor tool: Eraser 2019-05-20 17:15:33 +03:00
Marius Stanciu 008afb3ca8 - more PEP8 changes in Gerber editor 2019-05-20 16:36:13 +03:00
Marius Stanciu 94e7820dde - PEP8 corrections in FlatCAMGrbEditor.py
- added a selection limit parameter for Geometry Editor
- added entries in Edit -> Preferences for the new parameter Selection limit for both the Gerber and Geometry Editors.
2019-05-20 01:18:08 +03:00
Marius Stanciu 17e1f87a1c - made wider the '#' column for Apertures Table for Gerber Object and for Gerber Editor; in this way numbers with 3 digits can be seen 2019-05-19 23:03:08 +03:00
Marius Stanciu 630d9c733d - remade the Properties Tool such that it works with the new Gerber data structure in the obj.apertures. Also changed the view for the Gerber object in Properties
- fixed issue with false warning that the Gerber object has no geometry after an empty Gerber was edited and added geometry elements
2019-05-18 00:17:37 +03:00
Marius Stanciu e6a0997fd6 - camlib Gerber parser - made sure that we don't loose goemetry in regions
- Gerber Editor - made sure that for some tools the added geometry is clean (the coordinates are non repeating)
- covered some possible issues in Gerber Export
2019-05-15 14:02:24 +03:00
Marius Stanciu 78939fdc84 - Gerber Editor: fixed units conversion for obj.apertures keys that require it 2019-05-15 03:56:31 +03:00
Marius Stanciu c70309e802 - Gerber Export is fixed to work with the new Gerber object data structure and it now works also for Gerber objects edited in Gerber Editor 2019-05-15 02:29:33 +03:00
Marius Stanciu 8679cbbcda - Gerber Editor: fixed the Poligonize Tool to work with new geometric structure and took care of a special case 2019-05-15 01:49:35 +03:00
Marius Stanciu 3e3c8ae703 - rewrited the Gerber Parser in camlib - success
- moved the self.apertures[aperture]['geometry'] processing for clear_geometry (geometry made with Gerber LPC command) in Gerber Editor
2019-05-15 00:27:43 +03:00
Marius Stanciu 820f75e20c - Gerber Editor - working in conversion to the new data format 2019-05-13 14:56:05 +03:00
Marius Stanciu c9a09b00c0 - Gerber Editor: added a threshold limit for how many elements a move selection can have. If above the threshold only a bounding box Poly will be painted on canvas as utility geometry. 2019-05-11 21:49:22 +03:00
Marius Stanciu 71f094bba5 - completely converted the Gerber editor to the new data structure 2019-05-11 19:24:57 +03:00
Marius Stanciu e65800737d - fixed Gerber Editor FCPad class to work with the new Gerber data structure in self.apertures 2019-05-11 05:46:32 +03:00
Marius Stanciu 23fb8b2d7c - fixed the camlib.Gerber functions of mirror, scale, offset, skew and rotate to work with the new data structure for apertures geometry
- fixed Gerber Editor selection to work with the new Gerber data structure in self.apertures
2019-05-11 05:19:42 +03:00
Marius Stanciu ce0ed2208f - Gerber Editor - working in conversion to the new data format 2019-05-10 15:40:09 +03:00
Marius Stanciu a614e2b73e - Gerber Editor - modifying it to work with the new geometric data structure 2019-05-09 14:53:08 +03:00
Marius Stanciu 28fce82432 - Geometry Editor: made the tool to be able to continuously move until the tool is exited either by ESC key or by right mouse button click
- Geometry Editor Move Tool: if no shape is selected when triggering this tool, now it is possible to make the selection inside the tool
- Gerber editor Move Tool: fixed a bug that repeated the plotting function unnecessarily
- Gerber editor Move Tool: if no shape is selected the tool will exit
2019-05-08 20:01:06 +03:00
Marius Stanciu 0a150fba79 - fixed Gerber Editor follow_geometry reconstruction -work in progress; still have to add the newly created geometry to follow_geometry 2019-05-08 06:45:28 +03:00
Marius Stanciu 832ecf80d5 - fixed Gerber Editor follow_geometry reconstruction 2019-05-08 06:26:30 +03:00
Marius Stanciu bdd13a3800 - work in Gerber Export: finished the body export but have some errors with clear geometry (LPC) 2019-05-07 21:13:20 +03:00
Marius Stanciu b9fa2e2bfd - fixed the Gerber Object and Gerber Editor Apertures Table to not show extra rows when there are aperture macros in the object 2019-05-07 15:24:20 +03:00
Marius Stanciu ae775b520e - added a protection for the case that the aperture table is part of a deleted object 2019-05-05 18:21:58 +03:00
Marius Stanciu d7031bc89a - fixed bug in camlib.parse_lines() in the clear_geometry processing section for self.apertures 2019-05-04 22:39:51 +03:00
Marius Stanciu a98e6c3eda - Geometry Editor: restored the old behavior: a tool is active until it is voluntarily exited: either by using the 'ESC' key, or selecting the Select tool or new: right click on canvas
- RELEASE 8.915
2019-05-01 22:28:33 +03:00
Marius Stanciu 72724eafae - Excellon Editor: fixed mouse right click was always doing popup context menu
- GUIElements.FCEntry2(): added a try-except clause
2019-05-01 18:38:14 +03:00
Marius Stanciu 747a0817f3 - made some mods to what can be translated as some of the translations interfered with the correct functioning of FlatCAM
- updated the translations
2019-05-01 16:04:40 +03:00
Marius Stanciu dc64f8174e - some protections in case there are some apertures without solid_geometry 2019-05-01 04:41:12 +03:00
Marius Stanciu 91e6cc0bff - soled bug in Gerber Editor: the '0' aperture (the region aperture) had no size which created errors. Made the size to be zero.
- solved bug in editors: the canvas selection shape was not deleted on mouse release if the grid snap was OFF
- solved bug in Excellon Editor: when selecting a drill hole on canvas the selected row in the Tools Table was not the correct onw but the next highest row
2019-04-29 22:28:45 +03:00
Marius Stanciu faf92ff3d9 - fixed some bugs recently introduced in Editors due of the changes done to the way mouse panning is detected
- cleaned up the context menu's when in Editors; made some structural changes
2019-04-26 23:16:52 +03:00
Marius Stanciu 4c275b25af - fixed Edit -> Copy as Geom function handler to work for Excellon objects, too
- made sure that the mouse pointer is restored to default on Editor exit
2019-04-25 20:42:56 +03:00
Marius Stanciu e8f6b1a9ae - minor UI changes/ bug fixes 2019-04-24 14:52:12 +03:00
Marius Stanciu e4faa27351 - PDF import tool: working in making the PDF layer rendering multithreaded in itself (one layer rendered on each worker) 2019-04-24 14:11:15 +03:00
Marius Stanciu 1da424e9fb - added more custom mouse cursors in Geometry and Gerber Editors
- RELEASE 8.914
2019-04-23 21:31:17 +03:00
Marius Stanciu 49120c088e - Gerber Editor: made Add Pad repeat until user exits the Add Pad through either mouse right click, or ESC key or deselecting the Add Pad menu item
- Gerber and Geometry Editors: fixed some issues with the Add Arc/Add Semidisc; in mode 132, the norm() function was not the one from numpy but from a FlatCAM Class. Also fixed some of the texts and made sure that when changing the mode, the current points are reset to prepare for the newly selected mode.
2019-04-23 13:13:10 +03:00
Marius Stanciu 929d70542c - Gerber Editor: added two new tools: Add Disc and Add SemiDisc (porting of Circle and Arc from Geometry Editor) 2019-04-23 04:24: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 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 5a855292c4 - wip 2019-04-17 02:26:41 +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 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 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 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 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 4100e98ebe - Gerber Editor: some more changes in processing LPC polygons 2019-04-14 01:03:42 +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 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 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 ce9e5a4546 - some init jobs in Editors 2019-04-10 04:49:33 +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 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 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 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 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 0a9148f30a - fixed plotting in Gerber Editor
- working on GUI in Gerber Editor
2019-04-03 16:00:44 +03:00
Marius Stanciu 61807b6e90 - work in progress in Gerber Editor 2019-04-01 13:47:39 +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 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