Open full view…

Nightly version of FlatCAM

Marius Stanciu
Fri, 13 Apr 2018 08:50:11 GMT

Hi, Recently, after a lot of spent time (I don't have that much experience with FlaTCAM_inner_structure/python/PyQt/shapely/rtree etc), I managed to pack the VisPY development version of FlatCAM into an executable. I still have to create an installer (seems to be easy to do it with Inno setup) but I want to know if there is an interest for such a thing. So, the question is: "Are there any people interested in Nightly releases of FlatCAM? Be warned that those versions might have bugs ..." If let's say at least ten peoples post here that they want Nightly releases then I will spend the time to generate those nightly's from time to time. Otherwise I will use my time for other cool things :) Marius

Marius Stanciu
Thu, 17 May 2018 20:52:22 GMT

Nightly 17052018 I removed the removed the previously introduced parameters: excellon__format___mm_ and excellon__format___in_ and replaced them with new ones, see below. - added messages box for the Flip commands to show error in case there is no object selected when the command is executed - added field entries in the Options TAB - > Application Defaults for the following newly introduced parameters: excellon__format___upper___in_ [ DEFAULT VALUE is 2] excellon__format___lower___in_ [ DEFAULT VALUE is 4] excellon__format___upper___mm_ [ DEFAULT VALUE is 3] excellon__format___lower___mm_ [ DEFAULT VALUE is 3] The ones with upper indicate how many digits are allocated for the units and the ones with lower indicate how many digits from coordinates are alocated for the decimals. [ Eg: Excellon format 2:4 in INCH excellon_format___upper___in_ = 2 excellon_format___lower___in_ = 4 where the first 2 digits are for units and the last 4 digits are decimals so from a number like 235589 we will get a coordinate 23.5589 ] - added Radio button in the Options TAB - > Application Defaults for the Excellon__zeros_ parameter After each change of those parameters the user will have to press "Save defaults" from File menu in order to propagate the new values, or wait for the autosave to kick in (each 20sec). Those parameters can be set in the set__sys_ TCL command. Download link: https://bitbucket.org/marius_stanciu/flatcam_vispy/downloads/FlatCAM_17052018_installer.exe

Marius Stanciu
Fri, 18 May 2018 20:30:11 GMT

Nightly 18052018 - added an "Defaults" button in Excellon Defaults Group; it loads the following configuration (Excellon__format___in_ 2:4, Excellon__format___mm_ 3:3, Excellon__zeros_ LZ) - added Save buttons for each Defaults Group; in the future more parameters will be propagated in the app, for now they are a few - added functions for Skew on X axis and for Skew on Y menu stubs. Now, clicking on those Menu -> Options -> Transform Object menu entries will trigger those functions - added a CheckBox button in the Options Tab -> Application Defaults that control the behaviour of the TCL shell: checking it will make the TCL shell window visible at each start-up, unchecking it the TCL shell window will be hidden until needed - Depth/pass parameter from Geometry Object CNC Job is now in the defaults and it will keep it's value until changed in the Application Defaults. Download link: https://bitbucket.org/marius_stanciu/flatcam_vispy/downloads/FlatCAM_18052018_installer.exe

Marius Stanciu
Sat, 19 May 2018 14:01:27 GMT

Nightly 19052018 - last object that is opened (created) is always automatically selected and the name of the object is automatically copied to clipboard; useful when using the TCL command :) - added new commands in MENU -> EDIT named: "Copy Object" and "Copy Obj as Geom". The first command will duplicate any object (Geometry, Gerber, Excellon). The second command will duplicate the object as a geometry. For example, holes in Excello now are just circles that can be "painted" if one wants it. - added new Tool named ToolFreeformCutout. It does what it says, it will make a board cutout from a "any shape" Gerber or Geometry file - solved bug in the TCL command "drillcncjob" that always used the endz parameter value as the toolchangez parameter value and for the endz value used a default value = 1 - added postprocessor name into the TCL command "drillcncjob" and "cncjob" parameters - when adding a new geometry the default name is now: "New__Geometry_" instead of "New Geometry". TCL commands don't handle the spaces inside the name and require adding quotes. - solved bug in "cncjob" TCL command in which it used multidepth parameter as always True regardless of the argument provided - added a checkbox for Multidepth in the Options Tab -> Application Defaults Download link: https://bitbucket.org/marius_stanciu/flatcam_vispy/downloads/FlatCAM_19052018_installer.exe

Marius Stanciu
Sun, 20 May 2018 18:03:02 GMT

Nightly 20052018 - changed the interpretation of the axis for the rotate and skew commands. Actually I reversed them to reflect reality. - for the rotate command a positive angle now rotates CW. It was reversed. - added shortcuts (for outside CANVAS; the CANVAS has it's own set of shortcuts) CTRL+C will copy to clipboard the name of the selected object CTRL+A will Select All objects "X" key will flip the selected objects on X axis "Y" key will flip the selected objects on Y axis "R" key will rotate CW with a 45 degrees step -changed the layout for the top of the Options page. Added a checkbox and entries for parameters for Skew command. When the checkbox is checked it will save (and load at the next startup of the program) the option that at each CNCJob generation (be it from Excellon or Geometry) it will perform the Skew command with the parametrs set in the nearby field boxes (Skew X and Skey Y angles). It is useful in case the CNC router is not perfectly alligned between the X and Y axis - added some protection in case the skew command receive a None parameter - BUG solved: made an UGLY (really UGLY) HACK so now, when there is a panel geometry generated from GUI, the project WILL save. I had to create a copy of the generated panel geometry and delete the original panel geometry. This way there is no complain from JSON module about circular reference. At least I get this f ... bug out of my head Download link: https://bitbucket.org/marius_stanciu/flatcam_vispy/downloads/FlatCAM_20052018_installer.exe

Marius Stanciu
Sun, 20 May 2018 20:33:35 GMT

Edit: I removed temporarily the Nightly link from the previous post so I can add a few finishing touches. They are done and they are the following: - removed the Save buttons previously added on each Group in Application Defaults. Replaced them with a single Save button that stays always on top of the Options TAB - added settings for defaults for the Grid that are persistent - changed the default view at FlatCAM startup: now the origin is in the center of the screen Download link (the previous link might work also after I upload the new file): https://bitbucket.org/marius_stanciu/flatcam_vispy/downloads/FlatCAM_20052018_installer.exe

Marius Stanciu
Mon, 21 May 2018 20:28:51 GMT

*Nightly 21052018* - added new icons for menu entries - added shortcuts that work on the Project tab but also over Plot. Shorcut list is accesed with shortcut key '~' sau '`' - small GUI modification: on each "New File" command it will switch to the Project Tab regardless on which tab we were. - removed the global shear entries and checkbox as they can be damaging and it will build effect upon effect, which is not good - solved bug in that the Edit -> Shear on X (Y)axis could adjust only in integers. Now the angle can be adjusted in float with 3 decimals. - changed the title of QInputDialog to a more general one - changed the "follow" Tcl command to the new format - added a new entry in the Menu -> File, to open a Gerber with the follow parameter = True - added a new checkbox in the Gerber Object Selection Tab that when checked it will create a "follow" geometry - added a few lines in Mill Holes Tcl command to check if there are promises and raise an Tcl error if there are any. - started to modify the Export__Svg_ Tcl command Download link: https://bitbucket.org/marius_stanciu/flatcam_vispy/downloads/FlatCAM_21052018_installer.exe

Marius Stanciu
Tue, 22 May 2018 18:42:25 GMT

*Nightly 22052018* - Added Marlin postprocessor - Added a new entry into the Geometry and Excellon Object's UI named "Feedrate rapid": the purpose is to set a feedrate for the G0 command that some firmwares like Marlin don't intepret as 'move with highest speed' - FlatCAM was not making the conversion from one type of units to another for a lot of parameters. Corrected that. - Modified the Marlin Postprocessor so it will generate the required GCODE. - Removed an unused parameter (zdownrate) which created errors (non-fatal) as the parameter in postprocessors. - Bug: Corrected some typo's that changed some dictionary key names Download link: https://bitbucket.org/marius_stanciu/flatcam_vispy/downloads/FlatCAM_22052018_installer.exe

Jon Raymond
Wed, 23 May 2018 18:04:04 GMT

Thank you so much for all your hard work!

Marius Stanciu
Wed, 23 May 2018 23:03:04 GMT

With welcome! I am working now to a set a shortcuts that will make working with FlatCAM much easier. At least for guys used to play with CAD programs like Altium (I am part of that category :) so ... the reason for this near future update)

Marius Stanciu
Thu, 24 May 2018 12:32:00 GMT

Nightly 22052018 is the last FlatCAM Nightly version x86 version. Last evening, when working with a big panel I've got Out Of Memory objects when exporting SVG in a standard join operation. Therefore I am migrating to X64 and the new posted Windows installers will be for 64 bit. I will no longer post in this topic and I will create a new one for the X64 Nightly releases.

Sun, 03 Jun 2018 04:11:24 GMT

no macOS version??

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

Sorry, no, just Windows builds. I use only Windows or Android. Don't like macOs at all.

Sat, 13 Oct 2018 18:25:15 GMT

Hi, I believe there are people that are interested in it or it will be if the flatcam will become more advanced sotware.

Marius Stanciu
Sat, 13 Oct 2018 19:31:03 GMT

Hi, In May I switched to a X64 build in my Nightly's due of using the Google OR-tools module to optimize the drill path and memory limitations. Since then I think I came a long way :) You can follow the news on the topic "Nightly X64 version of FlatCAM". Raster image import, text import in Geometry Editor, Excellon editor added, import/export of DXF file format and more.

Tue, 16 Oct 2018 01:32:25 GMT

Hey Marius, I'm back!

Tue, 16 Oct 2018 05:47:41 GMT

Hi Marius I've just tested your version of flatcam and I can say that you did very impressive work on it. But the thing is that it is some how a bit laggy I don't know is it because of my pc or not "but I don't think so". If in the future this software could run more smoothly it would be very great.

Marius Stanciu
Tue, 16 Oct 2018 08:45:58 GMT

Hello Juan, Nice to hear that you are back, I hope that you had booming success in your activity! Perhaps we get to see soon a 8.6 version of FlatCAM :) @zygimantas, unfortunately Python itself is not exactly well known for speed. There is certainly a trade-off between using already made modules which make development faster and creating your own. Also Python 3.7, although a bit faster than previous Python 3 version is still slower at startup than other Python versions. The term laggy is relative as it needs a point of reference, would you elaborate a bit on it? If you are referring to the start-up, yes it is slower in starting than the official version because the version I develop is based on different packages. Because it is 3D accelerated (was added by another contributor and I built upon it) the app acquired an initialization delay. After that, adding the feature to convert text in Geometry Editor to geometry required the app to parse the operating system for installed fonts and I choose to do that at the app start-up so it is done only once per session and no t every time the user add a text. Plotting shapes on screen takes some time because it needs to add every shape into a storage and then do the OpengL "thingy" (whatever it does to "digest" shapely geometries and plot them on screen canvas). I would also want snappiness but this is what we have. I added those features because some I use them and some because I may use them. I am also near the end in adding features, there is still another sub-feature that I want to add (SPLINE support in DXF Import, I study now biarcs and NURBS curve) and a final feature that I may or not be able to implement (some form of PDF import which require me to port from another language that I don't know). Of course things may be possible to be improved but this require experience which, unfortunately, I don't have.

Tue, 16 Oct 2018 13:39:33 GMT

@Marius, perhaps we can list what the priorities are. Perhaps pick a few of your improvements and a few issues to fix? Yes, I had "booming" success! Maybe I will will have everybody call me Dr. Juan for a while! :-)

Marius Stanciu
Tue, 16 Oct 2018 14:21:17 GMT

Wow, Congratulation Dr. Juan!!! I know that it can be hard to go over that threshold, my brother has a Physics PhD and it was a thrilling period for him before the thesis :) But it's whole new world of discovery out there so your job just started :) Regarding FlatCAM, I don't know which improvements to pick for implementation in FlatCAM. I made some changes in the class structures, changed names ... But the easiest may be to add the improvements from camlib. I've added support and GUI for changing the Excellon format, units, I've added support/fixes to be able to load files from: Altium Designer (in some cases it didn't work with >AD 18), Allegro Gerber + Excellon, Eagle > 8.0, Mentor PADS, Gerber that uses a rectangular aperture for traces (you used only circular). Some issues that I've solved I picked them from the FlatCAM issue tracker. I've added support for Excellon without header, where the tools are defined (diameters) inside the Excellon body in the toolchange events. We could do like I did to minimize the cases of loading let's say a Gerber as Excellon and so on by adding filters for extensions in the OpenFileDialog. Files can be loaded now by dragging them onto canvas or Project Tab instead of using menu's. One thing that annoyed me was the last path was remembered only for open files and some times I opened files from one folder and save them in another so I've added a second path to be remembered separately , the save__file_ path. Some things are already in the Pull Request section. I may change the GRID pull request and move (like I did in the Nightly) all the GUI out of the FlatCAMDraw module to the FlatCAMGui. Although I renamed FlatCAMDraw to FlatCAMEditor since I've added also an Excellon Editor. Actually I'm quite fond of the Excellon Editor ... it's really helpful, I've started to add mouse bytes to the cutout's when doing panels and the boards are separated very nicely. Also I can now reduce the number of toolchanges by editing the tool diameters as some time I had multiple tools with close diameters coming out of the INCH to MM conversion. Overall I really like how the Nightly evolved, it still has some rough edges but I am getting close to finish what I had in mind with it. Unfortunately some features (like moving things around) may not be compatible with the performance offered by Matplotlib. Until now, I found no limitations with VisPy, I use the development version of it although there is a wheel for it now in Gohlke's site. We could easily add the Font to Geometry feature in Geometry Editor and this can be used also in SVG import to import SVG text. Although I didn't get it very well (there are some scaling issues, some text does not have kerning information and I had to separate the letter s in a word more than required so they can be 'isolated' and cut). Bottom line is that I've put a lot of time in the Nightly in those months and there are a lot of changes that I've made. If you have the time, please install (or run it from sources, I've updated the requirements.txt and Setup_ubuntu.sh) and have a look on it and see what it can be desirable to have in FlatCAM offcial. Basically what needs to be installed over FlatCAM official requirements are: lxml (replaced xml), fontTools, freetype, rasterio, ezdxf, or-tools, opengl, vispy

Marius Stanciu
Tue, 16 Oct 2018 15:39:08 GMT

An easy thing will be to add also the extension of let's say .FlatPrj for the FlatCAM project. This way it's easy to make an association in InnoSetup for this extension to FlatCAM executable and with a few changes in FlatCAMApp.App, one can open a FlatCAM project just by double clicking on the project file. :)

last page