flatcam

Open full view…

Nightly X64 version of FlatCAM

Marius Stanciu
Thu, 24 May 2018 12:36:04 GMT

I am switching to this new topic for my posting of FlatCAM X64 windows installers. I hit a limit on the memory when working with big PCB panels and trying to export SVG file therefore I migrated in using the 64bit versions of Python 2.7. Besides the removal of memory usage limitation, when using the 64-bit Python toolchain it seems that some occasional visual artifacts are gone.

Marius Stanciu
Thu, 24 May 2018 12:53:20 GMT

*Nightly 24052018* - in Geometry Editor added a initial form of Rotate Geometry command in toolbar - changed the way the geometry is finished if it requires a key: before it was using key 'Space' now it uses 'Enter' - added Shortcut for Rotate Geometry to key 'Space' - after using a tool in Geometry Editor it automatically defaults to 'Select Tool' Added key shortcut's in FlatCAMApp and in Geometry Editor. *FlatCAMApp shortcut list:* 1 Zoom Fit 2 Zoom Out 3 Zoom In C Copy Obj__Name_ E Edit Geometry (if selected) G Grid On/Off M Move Obj N New Geometry R Rotate S Shell Toggle V View Fit X Flip on X_axis Y Flip on Y_axis ~ Show Shortcut List Space: En(Dis)able Obj Plot CTRL+A Select All CTRL+C Copy Obj CTRL+E Open Excellon File CTRL+G Open Gerber File CTRL+M Measurement Tool CTRL+O Open Project CTRL+S Save Project As Delete Delete Obj''' *Geometry Editor Key shortcut list:* A Add an 'Arc' C Copy Geo Item G Grid Snap On/Off K Corner Snap On/Off M Move Geo Item N Add an 'Polygon' O Add a 'Circle' P Add a 'Path' R Add an 'Rectangle' S Select Tool Active ~ Show Shortcut List Space: Rotate Geometry Enter: Finish Current Action Escape: Abort Current Action Delete: Delete Geo Download link for X64 win installer: https://bitbucket.org/marius_stanciu/flatcam_vispy/downloads/FlatCAM_24052018_x64_installer.exe

Marius Stanciu
Sat, 26 May 2018 22:58:27 GMT

*Nightly 26.05.2018* I still have to make tests but in my opinion, from a first glance, this build is the fastest FlatCAM that I've seen. It may have to have something to do with the fact that now it is compiled for *Python 3.6 X64.* *What's new:* - made *conversion to Python3* - added *Rtree Indexing drill path optimization* - added a checkbox in Options Tab -> App Defaults -> Excellon Group named "Excellon Optim. Type" from which it can be selected the default optimization type: TS stands for Travelling Salesm

Marius Stanciu
Sat, 26 May 2018 23:12:43 GMT

Salesman algorithm and Rtree stands for Rtree Indexing - added a checkbox on the Grid Toolbar that when checked (default status is checked) whatever value entered in the GridX entry will be used instead of the now disabled GridY entry - modified the default behavior on when a line_entry is clicked. Now, on each click on a line_entry, the content is automatically selected. - snap_max_entry is disabled when DRAW toolbar is disabled Download win X64 installer here: https://bitbucket.org/marius_stanciu/flatcam_vispy/downloads/FlatCAM_26052018_x64_installer.exe

Marius Stanciu
Sun, 27 May 2018 11:52:42 GMT

*Speed test* I just made a few speed tests between the lastest build of Nightly FlatCAM (Python3.6 based 64 bit) and a previous version (based on Python 2.7 32bit). *Case 1:* Loaded a Gerber file with FlatCAM based on Python 2.7 __32bit_. Loading time: 33" Loaded a Gerber file with FlatCAM based on Python 3.6 __64bit_. Loading time: 18" *Case 2:* Loaded a Gerber file with FlatCAM based on Python 2.7 __32bit_. Loading time: 3'6" Loaded a Gerber file with FlatCAM based on Python 3.6 __64bit_. Loading time: 1'29" Conclusion: performance is doubled when using the latest X64 Nightly.

Marius Stanciu
Mon, 28 May 2018 23:30:30 GMT

*Nightly 28052018* - added total drill count column in Excellon Tool Table which displays the total number of drills - added aliases in panelize Tool (pan and panel should work) - modified generate__milling_ method which had issues from the Python3 port (it could not sort the tools due of dict to dict comparison no longer possible). - modified the 'default' postprocessor in order to include a space between the value of Xcoord and the following Y - made optional the using of threads for the milling command; by default it is OFF (False) because in the current configuration it creates issues when it is using threads - modified the Panelize function and Tcl command Panelize. It was having issues due to multithreading (kept trying to modify a dictionary in redraw() method) and automatically selecting the last created object (feature introduced by me). I've added a parameter to the new__object_ method, named autoselected (by default it is True) and in the panelize method I initialized it with False. By initializing the plot parameter with False for the temporary objects, I have increased dramatically the generation speed of the panel because now the temporary object are no longer ploted which consumed time. - replaced log.warn() with log.warning() in camlib.py. Reason: deprecated - fixed the issue that the "Defaults" button was having no effect when clicked and Options Combo was in Project Options - fixed issue with Tcl Shell loosing focus after each command, therefore needing to click in the edit line before we type a new command (borrowed from @brainstorm - added a header in the postprocessor files mentioning that the GCODE files were generated by FlatCAM. - modified the number of decimals in some of the line entries to 4. - added alias for the millholes Tcl Command: 'mill' Download link: https://bitbucket.org/marius_stanciu/flatcam_vispy/downloads/FlatCAM_28052018_x64_installer.exe

Marius Stanciu
Wed, 30 May 2018 08:44:18 GMT

*Nightly 29052018* - modified the labels for the *X,Y* and *Dx,Dy* coordinates - modified the menu entries, added more icons - added initial work on a Excellon Editor - modified the behavior of what happen when clicking on canvas. Bedore the coordinates were copied to clipboard: now it is required to press CTRL key for this to happen, and it will only happen just for left mouse button click - removed the autocopy of the object name on new object creation - remade the Tcl commands drillcncjob and cncjob - added fix so the canvas is focused on the start of the program, therefore the shortcuts work without the need for doing first a click on canvas. Download link: https://bitbucket.org/marius_stanciu/flatcam_vispy/downloads/FlatCAM_29052018_x64_installer.exe

Marius Stanciu
Sun, 03 Jun 2018 14:04:07 GMT

*Nightly 3062018* - removed the current drill path optimizations as they are inefficient - implemented Google OR-tools drill path optimization in 2 flavors; Basic OR-tools TSP algorithm and OR-Tools Metaheuristics Guided Local Path - Move tool is moved to Menu -> Edit under the name Move Object - solved some internal bugs (info command was creating an non-fatal error in PyQt, regarding using QPixMaps outside GUI thread - reworked camlib number parsing (still had some bugs) - working in porting the application from usage of PyQt4 to PyQt5 - added TclCommands save__sys_ and list__sys. save___sys_ is saving all the system default parameters and list__sys_ is listing them by providing first letters from the name of the system default parameter. The more letters the more precise the listing is. list__sys_ with no arguments will list all the system parameters. Download link: https://bitbucket.org/marius_stanciu/flatcam_vispy/downloads/FlatCAM_3062018_x64_installer.exe

Marius Stanciu
Mon, 04 Jun 2018 02:02:48 GMT

*Nightly 4062018* - First release for the port to PyQt5 - Added shortcut CTRL+S in Geometry Editor which "save" geometry and returns to the main APP - Added shortcut CTRL+M in Geometry Editor which toggle the measurement tool - reworked the FlipX and FlipY commands from Menu -> Options -> Transform Objects. Now, when the operations are performed the center around which the flip happen will be the bounding box for the objects selected. *In the old behavior* if we had for example and Gerber and it's correlated Excellon file, and if the Gerber was not symmetrical then by flipping, those two objects were no longer in sync. Download link: https://bitbucket.org/marius_stanciu/flatcam_vispy_pyqt5/downloads/FlatCAM_4062018_x64_installer.exe

Marius Stanciu
Thu, 07 Jun 2018 01:43:55 GMT

*Nightly 6062018* - remade the transform functions (rotate, flip, skew) so they are now working for joined objects, too - modified the Skew and Rotate comamands: if they are applied over a selection of objects than the origin point will be the center of the biggest bounding box. That allow for perfect sync between the selected objects - started to modify the program so the exceptions are handled correctly required by PyQt5 - solved bug where a crash occur when ObjCollection.setData didn't return a bool value - work in progress for handling situations when a different file is loaded as another (like loading a Gerber file using Open Excellon commands. - added filters on open_gerber and open_excellon Dialogs. There is still the ability to select All Files but this should reduce the cases when the user is trying to open a file from a wrong place. Download link: https://bitbucket.org/marius_stanciu/flatcam_vispy/downloads/FlatCAM_6062018_x64_installer.exe

nik80
Thu, 07 Jun 2018 11:20:56 GMT

with the last 2 versions Im getting error when saving G-code "flatcam has stopped working" and 4 times same error window as shown on the screenshot [2018-06-07_12h15_41](//muut.com/u/flatcam/s1/:flatcam:knNN:20180607_12h15_41.jpg.jpg) I dont have such location as c:\dev\.......

Marius Stanciu
Thu, 07 Jun 2018 11:41:53 GMT

It's because of the transition to PyQt5. I'm still working on it. The strange location is where I keep python installed and it is used when creating the installer. It seems that this location is remembered ... What is your operating system? Like: Windows 10 x64 or Windows 7 x32 or Ubuntu 18.04 64bit or ...

nik80
Thu, 07 Jun 2018 12:24:42 GMT

its windows 7 64 bit BTW great work, really nice improvements made, thanks a lot if you can help with resolving the other issue I did post recently in another post, about paint area and tool overlap, if you have time take a look thanks

Marius Stanciu
Thu, 07 Jun 2018 14:12:17 GMT

*Nightly 6062018 Update1* - fixed bug: G-Code could not be saved - fixed bug: double clicking a category in Project Tab made the app to crash - remade the bounds() function to work with nested lists of objects as per advice from JP which made the operation less performance taxing. - added shortcut Shift+R that is complement to 'R' - shorcuts 'R' and 'SHIFT+R' are working now in steps of 90 degrees instead of previous 45 degrees. - added filters in the open ... FlatCAM projects are saved automatically as *.flat, the Gerber files have few categories. So the Excellons and G-Code and SVG. - started to slim down the install size: shaved about 100MB in this build and about 1000+ unnecessary files Download link: https://bitbucket.org/marius_stanciu/flatcam_vispy_pyqt5/downloads/FlatCAM_5062018_update1_x64_installer.exe @nik80 : I don't know ... go to here https://bitbucket.org/jpcgt/flatcam/issues?status=new&status=open and raise an issue (if it's not already opened by someone else, please check). This problem plague not only my Nightly's but FlatCAM main also.

nik80
Thu, 07 Jun 2018 14:32:38 GMT

hi, thanks for your reply, unfortunately I dont have the option to rise an issue, I can only see existing ones, but the last version you uploaded it does save G code now with no errors, thanks a lot

Marius Stanciu
Thu, 07 Jun 2018 14:46:37 GMT

If you make an Atlassian account (you can log in with your Google account) then you can post. .

Marius Stanciu
Sun, 10 Jun 2018 14:33:54 GMT

*Nightly 9062018* Ditched PyQt5 as it was too much trouble therefore I am reverting to PyQt4. - added calculators: units calculator and V-shape Tool calculator - solved bug in Join Excellon - added right click menu over canvas a a few menus: Grid presets and a Properties menu entry that will show the physical dimension's of the bounding box. Download link: https://bitbucket.org/marius_stanciu/flatcam_vispy_pyqt4/downloads/FlatCAM_9062018_x64_installer.exe

Marius Stanciu
Thu, 14 Jun 2018 22:35:43 GMT

*Nightly 14062018* - more work on the contextual menu - added Draw context menu - added a new tool that bring together all the transformations, named Transformation Tool (Rotate, Skew, Scale, Offset, Flip). It's in Menu -> Edit -> Object Transformation - added shorcut key 'Q' which toggle the units between IN and MM - remade the Move tool, there is now a selection box to show where the move is done - remade the Measurement tool, there is now a line between the start point of measurement and the end point of the measurement. - renamed most of the system variables that have a global app effect to global__name_ where name is the parameter (variable). Just use the list__sys_ TclCommand with global as parameter and all the "global" parameters will be listed Download link: https://bitbucket.org/marius_stanciu/flatcam_vispy_pyqt4/downloads/FlatCAM_14062018_x64_installer.exe

Marius Stanciu
Fri, 15 Jun 2018 16:52:33 GMT

*Nightly 15062018* - the selection marker when moving is now a semitransparent Polygon with a blue border = I like it :) - rectified a small typo in the ToolTip for Excellon Format for Diptrace excellon format; from 4:2 to 5:2 - corrected an error that cause no Gcode could be saved Download link x64 installer: https://bitbucket.org/marius_stanciu/flatcam_vispy_pyqt4/downloads/FlatCAM_15062018_x64_installer.exe

Marius Stanciu
Mon, 18 Jun 2018 01:24:51 GMT

*Nightly 18062018* More progress in canvas selection, I think it's almost finished. - reworked the Properties context menu option to a Tool that displays more informations on the selected object(s) - remade the FlatCAM project extension as .FlatPrj - rearranged the toolbar menu entries to a more properly order - objects can now be selected on canvas, a translucent blue polygon is drawn around when selected - reworked the Tool Move so it will work with the new canvas selection - reworked the Measurement Tool so it will work with the new canvas selection - canvas selection can now be done by dragging left mouse boutton and creating a selection box over the objects - when the objects are overlapped on canvas, the mouse click selection works in a circular way, selecting the first, then the second, then ..., then the last and then again the first and so on. - double click on a object on canvas will open the Selected Tab - each object now store the bounding box coordinates in the obj options dict - the bbox coordinates are updated on the obj options when the object is modified by a transform function (rotate, scale etc) Enjoy! Download link: https://bitbucket.org/marius_stanciu/flatcam_vispy_pyqt4/downloads/FlatCAM_18062018_x64_installer.exe [Selection](//muut.com/u/flatcam/s3/:flatcam:LuFT:selection.jpg.jpg) [Selection2](//muut.com/u/flatcam/s3/:flatcam:zOOD:selection2.jpg.jpg)

Marius Stanciu
Mon, 18 Jun 2018 11:20:41 GMT

*Nightly 18062018 Update1* - reverted the 'units' parameter change to 'global__units_' due of a bug that did not allow saving of the project - modified the camlib transform (rotate, mirror, scale etc) functions so now they work with Gerber file loaded with 'follow' parameter Download X64 installer: https://bitbucket.org/marius_stanciu/flatcam_vispy_pyqt4/downloads/FlatCAM_18062018_up1_x64_installer.exe