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
Wed, 27 Jun 2018 19:41:00 GMT

Moris, please let me know here if the latest version 27062018 just uploaded works for you on Windows 7 x64. As for speed, it's about 100% faster in processing files compared with older versions running on Python 2.7 x86, and really fast on moving things on canvas due of 3D acceleration.

moris
Thu, 28 Jun 2018 11:26:49 GMT

Sadly it does not show anything in PlotArea (also Editor). Should the mentioned library DLL be in system32 (there is none) or you found other location? But preferences are as they should be :)

Marius Stanciu
Thu, 28 Jun 2018 12:35:45 GMT

Do you have all the Windows updates made? Try to also install: https://www.microsoft.com/en-us/download/details.aspx?id=48145 https://www.microsoft.com/en-us/download/details.aspx?id=52685 Install both x86 and x64

Marius Stanciu
Thu, 28 Jun 2018 13:09:01 GMT

I just installed a second time a fresh Windows 7 X64 (Enterprise) in a vmware virtual machine. Second step was to install vmware-tools so I have a video driver capable of 3D. Third step was to install FlatCAM using FlatCAM_27062018___x64___installer.exe_. Fourth, I've run FlatCAM without issues. The windows ISO file that I've used as the the source is one found online with all the updates included up until 15.06.2018. Quite hard to find one with the updates included otherwise I would have stayed a day doing 200+ updates. [Install_win](//muut.com/u/flatcam/s2/:flatcam:rTJU:install_win.jpg.jpg) [Flatcam_installing-0](//muut.com/u/flatcam/s2/:flatcam:Eq41:file_0flatcam_installing.jpg.jpg) [First_launch-0](//muut.com/u/flatcam/s2/:flatcam:Ppsq:file_0first_launch.jpg.jpg)

Marius Stanciu
Thu, 28 Jun 2018 13:12:58 GMT

Post a screenshot here ... if there is a vertical line in the left of the plot area then we might have the DLL issue. If it's completely white (or black) area then the problem is with the video card / video driver.

moris
Thu, 28 Jun 2018 14:42:31 GMT

I will check Windows and Visual C updates later on. So far the asked screenshot: [Capture2](//muut.com/u/flatcam/s2/:flatcam:WAA3:capture2.png.jpg)

Marius Stanciu
Thu, 28 Jun 2018 15:07:39 GMT

Unfortunately the issue is with your videocard and/or video drivers ... If there was an issue with the freetype.dll you'll have seen something like in the attached picture. Observe the vertical black line in the left of the plot area. That's the sign that VisPy is trying to render something but it can't due of missing compatible freetype.dll library. [Freetype__issue](//muut.com/u/flatcam/s2/:flatcam:1cQ9:freetype__issue.jpg.jpg)

moris
Fri, 29 Jun 2018 17:31:08 GMT

I see, at least the problem was found and solved for other Win7 x64 users, thank you for that! :) I will check drivers and overall updates. Maybe there is a way to debug it on my computer to find what the program is trying to and and fail?

Marius Stanciu
Mon, 02 Jul 2018 23:00:10 GMT

*Nightly 03072018* *Download link*: https://bitbucket.org/marius_stanciu/flatcam_vispy_pyqt4/downloads/FlatCAM_3072018_x64_installer.exe - removed the Options tab from the Notebook (the left area where is located also the Project tab). Replaced it with the Preferences Tab launched with Menu -> Edit -> Preferences. This is only the preliminary form, it will be improved. - added a new Tab in the Plot Area named Gcode Editor. It allow the user to edit the Gcode and then* Save it* or *Print it*. There is a Print Preview function and the standard OS printer selector. This Editor can be accessed once the the GCode is generated, there is a button G-Code Editor in the lower part of the Selected Tab. - fixed bug in rotate function that didn't update the bounding box of the modified object (rotated) due of not emitting the right signal parameter. - when FlatCAM is used under MacOS, multiple selection of shapes in Editor mode is done using SHIFT key instead of CTRL key due of MacOS interpreting CTRL+LMB__click_ as a RMB click - when in Editor, clicking not on a shape, reset the index of selected shapes to zero - added a fix so the 'preamble' Gcode is correctly inserted between the comments header and the actual GCODE - added Find function in G-Code Editor [G-Code_editor](//muut.com/u/flatcam/s2/:flatcam:THjt:gcode_editor.jpg.jpg) [Editor_itself](//muut.com/u/flatcam/s2/:flatcam:xPLQ:editor_itself.jpg.jpg) [Preferences_tab](//muut.com/u/flatcam/s2/:flatcam:7KZA:preferences_tab.jpg.jpg)

Marius Stanciu
Mon, 16 Jul 2018 23:14:35 GMT

*Nightly 17072018* DOWNLOAD link Windows installer X64: https://bitbucket.org/marius_stanciu/flatcam_vispy_pyqt4/downloads/FlatCAM_17072018_x64_installer.exe Download link sources: https://bitbucket.org/marius_stanciu/flatcam_vispy_pyqt4/get/3773fe0e7435.zip - added the required packages in Requirements.txt file - added required packages in setup__ubuntu_.sh file - added color control over almost all the colors in the application; those settings are in Menu -> Edit -> Preferences -> General Tab - added configuration of which mouse button to be used when panning (MMB or RMB) - fixed bug with missing 'drillz' parameter in function generate__from___excellon___by__tool() (credits for finding it goes to Stefan Smith https://bitbucket.org/stefan064/) - load Factory defaults in Preferences will load the defaults that are used just after first install. Load Defaults option in Preferences will load the User saved Defaults.

nikoleben
Wed, 18 Jul 2018 09:51:36 GMT

Neat update. A tool table would be fine for gerber and excellon. IF I want to clear non-copper surface I want to use a thicker mill nad change it to a smaller. But there is no automatic tool change.

Marius Stanciu
Wed, 18 Jul 2018 11:25:35 GMT

I will think about this. Perhaps something similar to what's in Excellon section.

nikoleben
Wed, 18 Jul 2018 11:36:15 GMT

Exactly like that! It would also be nice if flatCAM would know which tool to take by measuring the diameter (or reading from the file). The program is nice, but it lacks automation. Steps for automation: - Tool table with columns [Tool position] [Tool diameter] [Length?] [Type] [Type] = Mill, Drill, Cut-out [Length] = not required, but for the machines without tool measuring it would be nice. - Export G-code of the Tool (T0M6) and Z compensation(in case you don't have a measuring system) - Algorithm for choosing the right tool (would be very nice) I don't have any experience with Phyton but I do have experience with C# (Winform and WPF) and some javascript, php and HTML (Websites). Maybe I may be of help.

Marius Stanciu
Wed, 18 Jul 2018 11:47:48 GMT

It will be very nice if you can help, this way we can make something really usable. The Length of the tool, I am afraid will not be very usable because although many tools do have a ring, not always that ring is positioned at the same position on the tool. Some tools also have the active part with different lengths and in the end the tool may be introduced into the chuck more in some cases and less in other. There was a proposition recently to use automatic probe but if the user forget to attach the probe wire then it will end up with a machine crash which is not desirable. It's easy to implement, though but ... An algorithm to choose the right tool will assume that the software will try first the biggest diameter tool (faster) from a list and evaluate the surface left not processed. Then trying the next tool and so on. Perhaps by choosing how many tools we want to be used, the clearing function will find the best result by going through all the tools. But Python is not very fast in this and it may take a lot of time...

nikoleben
Wed, 18 Jul 2018 12:04:31 GMT

I do agree on the length part. Well anyway, it would be an easy code to implement the compensation if it would be required. Take the length from the table and write it to G-code. Correct. Most of the CAM software have something called "strategy", where you define the steps of the milling process and which tool to use. Example: - Roughing 2mm flat - Finishing 1m ball - Superfinishing 0.3mm ball Or something in this scenario. And for drilling the holes. If we take for an example a hole 1mm and you only have tools like 0.9mm and 1.2mm, Then you would get a warning. If you accept it, it would take the next thinner tool like 0.9mm. Or even a 0.9 mill and enlarge the hole to 1.2mm. A lot of options really. At first, the focus should be on exporting the tools for gerber process to g-code. How can I be of help? I know I have to download everything at this point :) You can contact me on niko.leben@gmail.com to give me the details on how to help.

nikoleben
Wed, 18 Jul 2018 12:11:50 GMT

This is my setup of the tool changer: [20180718_140757](//muut.com/u/flatcam/s3/:flatcam:uURz:20180718_140757.jpg.jpg)

nikoleben
Wed, 18 Jul 2018 12:41:31 GMT

A pre-defined strategy for calculation would be nice too. Let's say you have a gerber and a excellon file. There should be an option to start a calculation process. Example: A button "Calculate" which would run a couple of TCL commands. get_names follow mill millholes geocutout cncjob drillcncjob cutout write_gcode with all the tool changes and processes (milling, drilling, cut-out)

Marius Stanciu
Wed, 18 Jul 2018 18:22:26 GMT

Niko, What I did in my fork, what I call "Nightly" is just add, improve things over what Juan (the author of FlatCAM) created. In any case, FlatCAM right now has a certain "shape" and it's not easy to try change things as those changes may affect other things. My background is electronics design/PCB layout/embedded C programming and this project is the first approach to PC Programming (Python). Python paradigm still puzzles me from time to time. As such I am not sure I can tell you, guide on how to help, Juan could. But for Juan to help you need to approach him and start working on the FlatCAM not on this fork of mine. I did try to push some of my changes to the FlatCAM main branch but Juan seems that is very busy now-a-day and no longer can give much time to FlatCAM. There are about 10 pull request hanging there, made by me. Coupled with the fact that he is not happy to change matplotlib for vispy module (2D vs 3D acceleration) made me focus back to my fork. If you want to help (either here or there) then you need first to start with something simple that will allo w you to begin to understand the program structure. What you propose are not easy changes. What I was thinking is to have a table with at least one line and a button "Add tool". First column will be tool number, second, tool diameter, third column = tool type (cylinder or v-shape). The button will add a new tool if there is data in all the columns (so it will require the user to fill one row/line, maybe use validators to make sure it is the required type). If there are more than one tool in the table then when doing copper clearing it will add a toolchange command in between and append to the resulting Gcode string. I think that the content of the table could be saved into a list that could be the value of a certain key in the defaults dictionary (defaults dictionary is an object found in the FlatCAMApp.py), therefore could be always loaded at startup. What you propose in the last post is easily done with a TcL script.

nikoleben
Thu, 19 Jul 2018 05:05:54 GMT

Well, too bad they have not been approved. The development should go on, even if that means giving the software to someone other. I really like the shortcut for doing a "Clear non-copper". While using the program I got a basic idea of the structure of it. I knew some of my wishes would be a messy implementation or even change the structure of the core itself. I could agree with the "Add tool" and the tool change command in the g-code. That is a big step for the program :) No need for me to insert the tool changes manually. Yep. I was reading about the script. So I was thinking if there could be a button in the software to calculate the gerber and excellon files by the "script strategy" and export the code. Because now you have to run a script somehow with the command or how. Basically, the steps for a default 1 side PCB would be: 1. Import Gerber 2. Import Excellon 3. Click "Calculate" button, which would generate all the geometries and CNC files and export the code 4. That is it. G code generated in 30 seconds from creating the project Maybe make a folder in the s oftware root and name it "strategies". Users could create strategies with different configurations and steps. Then you would have a drop-down menu and a calculate button

Marius Stanciu
Thu, 19 Jul 2018 09:14:44 GMT

The Clear non-copper function, the file grouping in Project Tab, multi-processing and vispy 3d- acceleration were contributed by Dennis Hairullin and are part of an official branch of official FlatCAM. See the VisPyCanvas here: https://bitbucket.org/jpcgt/flatcam/branches/ Unfortunately this period of year is the busiest for me (work related, I switch from design to maintenance as the neurologists are going in vacation) so I don't know how much time I will be able to give to FlatCAM. I suspect that my Nightlies posting pace will slow to a crawl. I will try to finish what I've started but I'm quite sure that I will not be able to start work on other features until September. If I am lucky maybe I will start working on the Excellon editor and/or modify the Freeform Cutout Tool to have a manual mode so the user can add 'tabs' with a click as those are some features that I want done for a time now and was not able to bring me start the work on them.

next
last page