Commit Graph

527 Commits

Author SHA1 Message Date
Marius Stanciu
f4f7b65080 - some PEP8 cleanup 2019-06-09 17:39:42 +03:00
Marius Stanciu
3bd2957739 - updated translations
- fixed the the labels for shortcut keys for zoom in and zoom out both in the Menu links and in the Shortcut list
- made sure the zoom functions use the global_zoom_ratio parameter from App.self.defaults dictionary.
2019-06-09 17:27:11 +03:00
Marius Stanciu
5c5f2c1606 Merged in marius_stanciu/flatcam_beta/Beta_8.918 (pull request #150)
Beta 8.918
2019-06-08 21:30:13 +00:00
Marius Stanciu
359cb577f4 - updated date 2019-06-09 00:28:33 +03:00
camellan
facd8301ed solve the conflicts 2019-06-08 23:30:57 +04:00
camellan
70e939ca36 Merge remote-tracking branch 'remotes/jpcgt/flatcam/Beta' into Beta 2019-06-08 23:16:41 +04:00
Marius Stanciu
5f972ab85e - make sure that the annotation shapes are deleted on creation of a new project
- added folder for the Russian translation
- made sure that visibility for TextGroup is set only if index is not None in VisPyVisuals.TextGroup.visible() setter
- RELEASE 8.918
2019-06-08 21:36:34 +03:00
Marius Stanciu
b824cf6471 FlatCAMApp.py edited online with Bitbucket 2019-06-07 21:24:59 +00:00
Marius Stanciu
24f9de8c16 - RELEASE 8.918 2019-06-08 00:10:46 +03:00
camellan
9e88950e65 Add translation strings. Update Russian translation. 2019-06-04 23:39:36 +04:00
Marius Stanciu
150bb9e999 - PEP8 cleanup in FlatCAMGui
- finished adding the Excellon Editor parameters into the app logic and added a selection limit within Excellon Editor just like in the other editors
2019-06-04 22:19:45 +03:00
Marius Stanciu
f06fec12ea - added a new parameter in Edit -> Preferences -> CNCJob named Annotation Color; it controls the color of the font used for annotations
- added a new parameter in Edit -> Preferences -> CNCJob named Annotation Size; it controls the size of the font used for annotations
- made visibility change threaded in FlatCAMObj()
2019-06-03 22:59:45 +03:00
Marius Stanciu
2a30101bb0 - TclCommand Geocutout is now creating a new geometry object when working on a geometry, preserving also the origin object 2019-06-03 04:47:29 +03:00
Marius Stanciu
c409df0a8e - fixed issue with geometry name not being updated immediately after change while doing geocutout TclCommand
- some changes to enable/disable project context menu entry handlers
2019-06-02 14:04:14 +03:00
Marius Stanciu
dca57edf24 - fixed text annotation for CNC job so there are no overlapping numbers when 2 lines meet on the same point
- fixed issue in CNC job plotting where some of the isolation polygons are painted incorrectly
- fixed issue in CNCJob where the set circle steps is not used
2019-06-01 03:17:28 +03:00
Marius Stanciu
9abb9c5df2 - added the possibility to display text annotation for the CNC travel lines. The setting is both in Preferences and in the CNC object properties 2019-05-31 12:43:30 +03:00
Marius Stanciu
b35ac779bd - solved issue where after the opening of an object the file path is not saved for further open operations 2019-05-30 21:21:44 +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
camellan
ef1ecd3a31 Update Russian translate.Fix translation string. 2019-05-27 13:57:28 +04:00
Marius Stanciu
ad7222a768 - added a toggle left panel button to the canvas context menu 2019-05-24 19:50:59 +03:00
Marius Stanciu
bc3da37e81 - added a toggle Grid button to the canvas context menu in the Grids submenu 2019-05-24 18:53:33 +03:00
Marius Stanciu
e28e109e90 - more PEP8 cleanup in FlatCAMApp.py 2019-05-23 00:08:29 +03:00
Marius Stanciu
4c49348aef - some PEP8 cleanup in FlatCAMApp.py 2019-05-22 23:40:26 +03:00
Marius Stanciu
f400294027 - PEP8 cleanup of the Geo Editor 2019-05-22 15:37:07 +03:00
Marius Stanciu
4f2e5643d9 - added the file extension .ncd to the Excellon file extension list
- solved parsing issue for Excellon files generated by older Eagle versions (v6.x)
2019-05-21 16:13:36 +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
a545658d44 - fixed the Circle Steps parameter for both Gerber and Geometry objects not being applied and instead the app internal defaults were used.
- fixed the Tcl command Geocutout issue that gave an error when using the 4 or 8 value for gaps parameter
2019-05-19 17:15:24 +03:00
Marius Stanciu
f779c74d0e - fixed App.convert_any2gerber to work with the new Gerber apertures data structure
- fixed Tool Sub to work with the new Gerber apertures data structure
2019-05-18 18:22:02 +03:00
Marius Stanciu
8ccd73b919 - added a new toggle option in Edit -> Preferences -> General Tab -> App Preferences -> "Open" Behavior. It controls which path is used when opening a new file. If checked the last saved path is used when saving files and the last opened path is used when opening files. If unchecked then the path for the last action (either open or save) is used. 2019-05-18 17:17:37 +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
d172a3ca49 - Gerber Export: made sure that if some of the coordinates in a Gerber object geometry are repeating then the resulting Gerber code include only one copy
- added a new parameter/feature: now the spindle can work in clockwise mode (CW) or counter clockwise mode (CCW)
2019-05-16 03:13:22 +03:00
Marius Stanciu
b566f4e601 - changed date 2019-05-11 03:56:36 +03:00
Marius Stanciu
500c54711d - made sure that only units toggle done in Edit -> Preferences will toggle the data in Preferences. THe menu entry Edit -> Toggle Units and the shortcut key 'Q' will change only the display units in the app 2019-05-11 02:48:44 +03:00
Marius Stanciu
6fb33ebc5e - Gerber Export - finished
- added zoom fit for Set Origin command
- added move action for solid_geometry stored in the gerber_obj.apertures
2019-05-08 06:02:38 +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
cb355d6070 - work in Gerber Export: finished the header export 2019-05-07 15:14:32 +03:00
Marius Stanciu
dd60c7be30 - modified the default values for toolchangez and endz parameters so they are now safe in all cases 2019-05-07 02:24:58 +03:00
Marius Stanciu
0106d95e84 - added a new parameter in the Edit -> Preferences -> App Preferences named Geo Tolerance. This parameter control the level of geometric detail throughout FlatCAM. It directly influence the effect of Circle Steps parameter. 2019-05-06 22:33:45 +03:00
Marius Stanciu
d35ae3a39a - made units change from Edit -> Toggle Units not to affect the preferences
- remade the way the aperture marks are plotted in Gerber Object
2019-05-06 16:40:31 +03:00
Marius Stanciu
7c334d7606 - made units change from shortcut key 'Q' not to affect the preferences 2019-05-06 03:58:11 +03:00
Marius Stanciu
b07ce477a3 - small bug fixes 2019-05-05 17:40:03 +03:00
Marius Stanciu
4c00f567a4 - renamed the menu entry Edit -> Copy as Geo to Convert Any to Geo and moved it in the Edit -> Conversion
- created a new function named Convert Any to Gerber and installed it in Edit -> Conversion. It's doing what the name say: it will convert an Geometry or Excellon FlatCAM object to a Gerber object.
2019-05-05 00:56:04 +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
53620007db - changed date 2019-05-01 21:25:24 +03:00
Marius Stanciu
7294c88ef9 - made sure that the Tools Tab is cleared on Editors exit 2019-05-01 21:22:28 +03:00
Marius Stanciu
52ab274b1c - fixed bugs in Excellon Editor
- Excellon Editor:  made Add Pad tool to work until right click
2019-05-01 17:26:38 +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
6f3cbf1077 - fixed a crash when triggering 'Jump To' menu action (shortcut key 'J' worked ok) 2019-05-01 12:55:16 +03:00
Marius Stanciu
f172d5b765 - Enable/Disable Object toggle key ("Space" key) will trigger also the datChanged signal for the Project MVC
- added a new setting for the color of the Porject items, the color when they are disabled.
2019-05-01 12:29:47 +03:00
Marius Stanciu
8062af7feb - the project items color is now controlled from Foreground Role in ObjectCollection.data()
- made again plot functions threaded but moved the dataChanged signal (update_view() ) to the main thread by using an already existing signal (plots_updated signal) to avoid the errors with register QVector
2019-05-01 03:33:15 +03:00
Marius Stanciu
eda4202952 - added new setting for the color of the Project Tree items; it helps in providing contrast when using dark theme like the one in MacOS 2019-04-30 23:34:35 +03:00
Marius Stanciu
bc981ab92c - started to modify the Substract Tool to work on Geometry objects too 2019-04-30 15:52:12 +03:00
Marius Stanciu
eb00176519 - renamed SilkScreen Tool to Substract Tool and move it's menu location in Edit -> Conversion 2019-04-30 13:16:32 +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
8fcd75a8e4 - commented the camlib.alpha_shape() as it is not needed but require a huge package (scipy) 2019-04-26 18:02:07 +03:00
Marius Stanciu
8eb390e706 - small changes in GUI 2019-04-26 02:31:21 +03:00
Marius Stanciu
ac3833f746 - added a toggle button in Preferences to toggle on/off the display of the selection box on canvas when the user is clicking an object or selecting it by mouse dragging. 2019-04-25 20:59:45 +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
386e811c65 - New tool: Silkscreen Tool: I am trying to remove the overlapped geo with the soldermask layer from overlay layer; layed out the class and functions - not working yet 2019-04-25 01:13:37 +03:00
Marius Stanciu
b11c67d453 - PDF import tool: solved a bug in parsing the rectangle subpath (an extra point was added to the subpath creating nonexisting geometry)
- PDF import tool: finished layer rendering multithreading
2019-04-24 22:26:13 +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
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
82a0287f4d - PDF Import tool: added support for detection of circular geometry drawn with white color which means actually invisible color. When detected, FlatCAM will build an Excellon file out of those geoms.
- PDF Import tool: fixed storing geometries in apertures with the right size (before they were all stored in aperture D10)
2019-04-23 02:02:20 +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
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
a27d19c64e - fixed version check 2019-04-17 02:49:12 +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
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
fc1dfb8550 - cleaned up Measuring Tool 2019-04-14 16:59:20 +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
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
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
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
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
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
57176b7e28 - default values for Jump To function is jumping to origin (0, 0) 2019-04-07 03:43:58 +03:00
Marius Stanciu
1e57054bd2 - fixed issue with not possible to close the app after a project save (for real this time) 2019-04-06 01:38:19 +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
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
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
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
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
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
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
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