I actually added the change to the app such that if a positive value for Cut Z parameter is entered (both in Excellon and in Geometry) then the program will automatically change it to negative value (positive values are useless) and issue a TCL warning about doing it so the user know about this. I could have used the Q validators forcing the user to always enter a negative value but it seemed to me one step too many to actually edit the value and type it again. It's easier for the program to make the change for me (lazy, I know :) ).
*Nightly 29112018* Download link for Windows x64 installer: https://bitbucket.org/marius_stanciu/flatcam_vispy_pyqt4/downloads/FlatCAM_11292018_x64_installer.exe Sources here: https://bitbucket.org/marius_stanciu/flatcam_vispy_pyqt4/get/2db11756763b.zip *What's new:* - added checks for using a Z Cut with positive value. The Z Cut parameter has to be negative so if the app will detect a positive value it will automatically convert it to negative - started to implement rest-machining for Non Copper clearing Tool - for now the results are not great *DO NOT USE THIS OPTION* (it is unchecked by default). - added Toolchange X,Y position parameters and modified the default and manual_toolchange postprocessor file to use them For now they are used only for Excellon objects who do have toolchange events - added *Toolchange event selection for Geometry objects*; for now it is as before, single tool on each file - remade the GUI for objects and in Preferences to have uniformity - fixed bug: after editing a newly created Excellon/Geometry object the object UI used to not keep t he original settings - fixed some bugs in Tool Add feature of the new Non Copper Clear Tool - added different methods of copper clearing (standard, seed, line_based_) and "connect", "contour" options found in Paint function - *remake of the non-copper clearing tool as a separate tool* - modified the "About" menu entry to mention the main contributors to FlatCAM 3000 - modified Marlin postprocessor according to modifications made by @redbull0174 user from FlatCAM.org forum - modified Move Tool so it will detect if there is no object to move and issue a message [New_ncc_tool](//muut.com/u/flatcam/s2/:flatcam:CLMr:new_ncc_tool.jpg.jpg)
*Nightly 30112018* Download link for *Windows x64 installer:* https://bitbucket.org/marius_stanciu/flatcam_vispy_pyqt4/downloads/FlatCAM_11302018_x64_installer.exe Sources here: https://bitbucket.org/marius_stanciu/flatcam_vispy_pyqt4/get/0ef9f1840fca.zip *What's new:* - remade the *CutOut Tool.* I've put together the former Freeform Cutout tool and the Cutout Object found in Gerber Object GUI and left only a link in the Gerber Object GUI. This tidy the GUI a bit. - created a *Paint Tool* and replaced the Paint Area section in Geometry Object GUI with a link to this tool. - fixed bug in former Paint Area and in the new Paint Tool that made the paint method not to be saved in App preferences - solved a bug in Gerber parser: in case that an operation code D? was encountered alone it was not remembered - fixed - fixed bug related to the newly entered toolchange feature for Geometry: it was trying to evaluate toolchange_z as a comma separated value like for toolchange x,y - fixed bug in scaling units in CNC Job which made the unit change between INCH and MM not possible if a CNC Job was present in the project objects - added parameters for coordinates no of decimals and for feedrate no of decimals used in the resulting GCODE. They are in* EDIT -> Preferences -> CNC Job Options* - modified the postprocessors to use the "decimals" parameters
Found a quirk - Not really a bug, but it does cause an unwanted result. I was experimenting with multipass as I have a circuit with very small gaps between tracks ~ 0.0076 and less, and when I do multipass to remove more copper from other areas of the board to avoid having to manually inspect every location when I get shorts from unremoved copper ( happens sometimes when a strand is bent across the surface, rather than being removed ) I find that where the second pass or third pass cannot cleanly fit between previous passes, it doesn't remove the copper. I can understand this behavior with original tracks, but it treats the prior removal path as something that cannot be infringed upon also. I find two workarounds to this - One is to set the overlap to a figure that, for a particular board, doesn't infringe on other cuts, but this is very board specific. A complete workaround is to manually generate the overlap by changing the tool size each time, which produces the correct result, but like the output from multipass, creates separate outputs. Here's the problems this ca uses; 1) Using overlap doesn't get rid of copper in narrow spaces where it should be able to - which means shorts can occur in places they are least wanted. 2) All solutions lead to multiple files which cannot be run through something like autoleveller since a level can only be taken once for all files. Is it possible to a) Modify multiple passes so they can re-cut path already cut and; b) Allow multiple output files to, when all highlighted, be added to each other into a new file that contains all previous file paths and delete the originals ( combining path files ) Thanks again for such an incredible series of nightly's on this fantastic program you've been updating. David [Missingcopper](//muut.com/u/flatcam/s2/:flatcam:otjs:missingcopper.jpg.jpg)
hello david, if the behaivor of multipass is changed like this it whould also mean that the milling time is increasing because you go over and over over paths which are already done.
Hi Redbull0174, I get that it takes longer, but if it's not removing the copper within the specified distance of the tracks, then it's not doing what it is supposed to do. As I mentioned, playing with the operlap on the settings resolves the issue sometimes, but it's model specific, so there's no correct setting for all models. It would be trial and error at best. While fooling it by changing the tool size does the job correctly, but has to be manually changed for each pass. Actually, when I put it that way, it does seem like a bug. Don't forget, this isn't increasing the number of times it has to go over the same area at all - it's just making sure it gets the entire area. There's plenty of other times that it tracks the same path as before even without this too, possibly needlessly increasing milling time.
I wonder if the current behavior is desired, and then if an "alternate" "passes" setting could work out the path by adjusting the tool size to the current tool size plus the pass number times the current tool size times the overlap. That would do it, and the code is already in place - It would just need an option to calculate it either way.
One other thing - Would a contoured cut-out option be possible? Current operation only makes a square box around a circuit, but lately, I'm finding I need to cut shapes for PCBs, which means processing it a a multiple cuts normal shape rather than a cutout, but that means at some point it comes free inside the larger piece, and sometimes jams on the tool since it's loose at that point. Being able to generate tabs for contoured cutouts that follow the shape of the PCB outline would be a great addition... Something that treats all the paths in a gerber file as cutouts, and can work out what's an inside cutout and what's an outside cutout, or rather a path around all the cutouts.
Hi David, The isolation issue it's a long discussed problem and from time to time it surfaces again. Right now I am attempting (still unsuccessfully) to implement a rest machining in Non-Copper Clearing Tool. Which means that it will need to machine all the copper it can with the biggest tool and then try to machine the leftover copper with the next smallest tool and so on. But I can't get yet FlatCAM to identify correctly the leftover copper areas. There are limitations within I must work, due of the internal tools used so I don't know what I will manage to do, in time, if any. I will read more carefully you suggestions but I don't know when/if I will be able to solve the issue. In the meantime, try to use Non Copper Clearing Tool instead of using simple isolation. Might give you better results because instead of trying to isolate the tracks/copper features, it tries to remove all the copper between tracks with multiple tools starting with the bigger diameter and going on through the smaller and smaller tools. Regarding of the issue of having multiple files inste ad of just one with toolchange's, actually you are spot on what I am trying to do. Besides what Combine parameter already does by combining isolation's made with same tool, to combine also isolation's made with different tools. Unfortunately it's a large work and I have do it step by step. The next build about to be published advance this a step further. Regarding the cutout issue. It's being solved for some time now. The solution is available even in FlatCAM official (although it might be in development version, I don't remember exactly). In FlatCAM 3000 Nightly you need to use the Freeform Cutout Tool (if you use an older build) or if you use the latest build (the one named 30112018) I arranged together both the regular (rectangular) cutout and the freeform cutout tool inside a new tool named Cutout Tool. The part of Cutout Tool who deals with cutting out irregular shapes is limited in using 8 bridges and the regular (rectangular) cutout can do only a maximum of 4 bridges. -Marius
Hi Marius, thank you for the suggestion - I'll go and learn more about the freeform cutting. Have you ever considered setting up a FlatCAM wiki to cover all the cool stuff you're adding to it? Then we could all assist with the documentation from time to time, and there would be details available on how different capabilities within the build work - :)
I need to actually finish with what I've proposed myself to fix/add (which it seems is a neverending story as I keep adding to the pile) and then I will start doing a series of YouTube tutorial videos which will be of much better help than writing some written tutorials. I've already placed the link in the Menu -> Help it just needs the content :D
For help now you have to read the release notes for each build, as they are incremental, and/or read the tooltip's inside the app.
*Nightly 03122018* Download link for *Windows x64 installer: *https://bitbucket.org/marius_stanciu/flatcam_vispy_pyqt4/downloads/FlatCAM_12032018_x64_installer.exe Sources here: https://bitbucket.org/marius_stanciu/flatcam_vispy_pyqt4/get/0d959951c107.zip *What's new:* The most important changes: *- added autocomplete (with TAB key) in TCL Shell - added table Tool in Geometry Object. The Rough/Finish option has no meaning other than visual as it will modify the name of the resulting file so the user know what he will have to do* - Geometry Tool table: delete multiple tools with same diameter = DONE - Geometry Tool table: possibility to cut a path inside or outside or on path = DONE - Geometry Tool table: fixed situation when user tries to add a tool but there is no tool diameter entered - if a geometry is a closed shape then create a Polygon out of it - some fixes in Non Copper Clearing Tool - Geometry Tool table: added option to delete_tool function for delete all - Geometry Tool table: added ability to delete even the last tool in tool table and added an warning i f the user try to generate a CNC Job without a tool in tool table - if a geometry is painted inside the Geometry Editor then it will store the tool diameter used for this painting. Only one tool can be stored (the last one) so if multiple paintings are done with different tools in the same geometry it will store only the last used tool. - if multiple geometries have different tool diameters associated (contain a paint geometry) they aren't allowed to be joined and a message is displayed letting the user know - started to work on a geometry Tool Table - renamed FlatCAMShell as ToolShell and moved it (and termwidget) to flatcamTools folder - cleaned up the ToolShell by removing the termwidget separate file and added those classes to ToolShell - added autocomplete for TCL Shell - the autocomplete key is 'TAB' - covered some possible exceptions in rotate/skew/mirror functions - Geometry Tool table: add/delete tools = DONE - Geometry Tool table: add multiple tools with same diameter = DONE - fixed Gerber parser so now the Gerber regions that have D02 operation code just before the end of the region will be processed correctly. *Autotrax Dex* Gerbers are now loaded correctly - fixed an issue with temporary geo storage "geo" being referenced before assignment - moved all FlatCAM Tools into a single directory
*Nightly 13122018* Download link for *Windows x64 installer:* https://bitbucket.org/marius_stanciu/flatcam_vispy_pyqt4/downloads/FlatCAM_12132018_x64_installer.exe Sources here: https://bitbucket.org/marius_stanciu/flatcam_vispy_pyqt4/get/045a8c0fc011.zip *What's new:* - major rework in the Geometry / CNCJob objects sections - NEW Geometry Object and CNC Object architecture (3rd attempt) which allow multiple tools for one geometry - fixed issue with cumulative G-code after successive delete/create of a CNCJob on the same geometry (some references were kept after deletion of CNCJob object which kept the deleted tools data and added it to a new one) - fixed plot and export G-code in new format - fixed project save/load in the new format for geometry - added new feature in CNCJob Object UI: since we may have multiple tools per CNCJob object due of having multiple tool in Geometry Object, now there is a Tool Table in CNC Object UI and each tool GCode plot can be enabled or disabled (only plotting it does not affect the GCode generation which use always all tools). Only wo rks for Geometry not for Excellon. - Geometry Tool Table: when the Offset type is 'custom' each tool it's storing the value and it is updated on UI when that tool is selected in UI table - Geometry Tool Table: fixed tool offset conversion when the Offset in Tool Table UI is set to Custom - fixed Geometry copy at object level - Geometry Tool Table: new tool added copy all the form fields (data) from the last tool - finished work on generation of a single CNC Job file (therefore a single GCODE file) even for multiple tools in Geo Tool Table - GCode header is added only on saving the file therefore the time generation will be reflected in the file - modified postprocessors to accommodate the new CNC Job file with multiple tools - modified postprocessors so the last X,Y move will be to the toolchange X,Y pos (set in Preferences) - save___project_ and load__project_ now work with the new type of multitool geometry and cncjob objects - added new feature in Geometry Tool Table: if the Offset type in tool table is 'Offset' then a new entry is unhidden and the user can use custom offset - Geometry Tool Table: fixed add new tool with diameter with many decimals - Geometry Tool Table: when editing the tip dia or tip angle for the V Shape tool, the CutZ is automatically calculated - new Geometry Tool Table has functional unit conversion - when entering a float number in Spindle Speed now there is no error and only the integer part is used, the decimals are discarded - finished the Geometry Tool Table in the form that generates only multiple files - if tool type is V-Shape ('V') then the Cut Z entry is disabled and new 'Tip Dia' and 'Tip Angle' fields are showed. The values entered will calculate the Cut Z parameter - remade the Geometry Tool Table, before this change each tool could not store it's own set of data in case of multiple tools with same diameter - added a new column in Geo Tool Table where to specify which type of tool to use: C for circular, B for Ball and V for V-shape - new geometry/excellon object name is now only "new_g"/"new_e" as the type is clear from the category is into (and the associated icon) - always autoselect the first tool in the Geometry Tool table - issue error message if the user is trying to generate CNCJob without a tool selected in Geometry Tool Table - add the whole data from Geometry Object GUI as dict in the geometry tool dict so each tool (file) will have it's own set of data [Flatcam3000](//muut.com/u/flatcam/s2/:flatcam:1bwp:flatcam3000.png.jpg)
Hi Marius, Running Debian 9. When executing setup_ubuntu.sh I get the following error: " Building dependency tree Reading state information... Done E: Unable to locate package python3-pyqt4.opengl E: Couldn't find any package by glob 'python3-pyqt4.opengl' E: Couldn't find any package by regex 'python3-pyqt4.opengl' ". I tried with apt-get install to get them without success. Is is something you can look into ? Thank you so much. Regards, Rene-Jean
Hi Rene, Sorry for the typo, I'll correct it and commit the change. Until then use the following command: --- sudo apt-get install python3-pyqt4.qtopengl --- Also, if you get an error about SIP, try to run FlatCAM with: --- sudo python3 FlatCAM.py --- For whatever reason, in some cases it won't run without sudo.
*Nightly 18122018* Download link for *Windows x64 installer:* https://bitbucket.org/marius_stanciu/flatcam_vispy_pyqt4/downloads/FlatCAM_12182018_x64_installer.exe Sources here: https://bitbucket.org/marius_stanciu/flatcam_vispy_pyqt4/get/451f607b6f4e.zip *What's new:* A lot of changes but the main one is that now the multi-tool geometries will generate a single GCODE file suitable for autolevelling and toolchange. That opened a whole can of worms but hopefully there will not that many bugs :) - small changes in FlatCAMGeometry.plot() - updated the FlatCAMGeometry.merge() function and the Join Geometry feature to accommodate the different types of geometries: singlegeo and multigeo type - added Conversion submenu in Edit where I moved the Join features and added the Convert from MultiGeo to SingleGeo type and the reverse - added Copy Tool (on a selection of tools) feature in Geometry Object UI - fixed the bounds() method for the MultiGeo geometry object so the canvas selection is working and also the Properties Tool - fixed Move Tool to support MultiGeo geometry obj ects moving - added tool edit in Geometry Object Tool Table - added Tool Table context menu in Geometry Object and in Paint Tool - modified some Status Bar messages in Geometry Object - added support for multiple solid_geometry in a geometry object; each tool can now have it's own geometry. Plot, project save/load are OK. - added support for single GCode file generation from multi-tool PaintTool job - added protection for results of Paint Tool job that do not have geometry at all. An Error will be issued. It can happen if the combination of Paint parameters is not good enough - solved a small bug that didn't allow the Paint Job to be done with lines when the results were geometries not iterable - added protection for the case when trying to run the cncjob Tcl Command on a Geometry object that do not have solid geometry or one that is multi-tool - Paint Tool Table: now it is possible to edit a tool to a new diameter and then edit another tool to the former diameter of the first edited tool - added a new type of warning, [warning_notcl] - fixed conflict with "space" keyboard shortcut for CNC job - redone the Options menu; removed the Transfer Options as they were not used - deleted some folders in the project structure that were never used - Paint polygon Single works only for left mouse click allowing mouse panning - added ability to print errors in status bar without raising Tcl Shell - fixed small bug: when doing interiors isolation on a Gerber that don't allow it, no object is created now and an error in the status bar is issued - fixed bug in Paint All for Geometry made from exteriors Gerber isolation - fixed the join geometry: when the geometries has different tools the join will fail with a status bar message (as it should). Allow joining of geometries that have no tool. // Reverted on 18.12.2018 - changed the error messages that are simple to the kind that do not open the TCl shell - fixed some issues in Geometry Object - Paint Tool - reworked the UI and made it compatible with the Geometry Object UI - Paint Tool - tool edit functional - added Clear action in the Context menu of the TCl Shell - fixed typo in setup_ubuntu.sh - minor changes in Excellon Object UI - added Tool Table in Paint Tool - now in Paint Tool and Non Copper Clearing Tool a selection of tools can be deleted (not only one by one) - minor GUI changes (added/corrected tooltips) - optimized vispy startup time from about >6 sec to ~3 seconds - removed vispy text collection starting in plotcanvas as it did nothing // RESTORED 18.12.2018 as it messed the graphical presentation - fixed cncjob TclCommand for the new type of Geometry - make sure that when using the TclCommands, the object names are case insensitive - updated the TCL Shell auto-complete function; now it will index also the names of objects created or loaded in the application - on object removal the name is removed from the Shell auto-complete model
*_TOPIC CLOSED_.* Use *FlatCAM3000 – a FlatCAM fork* topic from now on.