I’ve moved this here to avoid cluttering sliptonic’s ‘standard test shape’ thread.
I used the base shapes which sliptonic kindly fixed for me, and reduced the dimensions to run quick tests on plywood, then added paths.
Herbert also supplied a version but it seemed to break any time I made a change ( probably related to my not having the tool he used ).
I am trying to clean up using dog-bone but it really is not doing the job. I applied it to a couple of pockets and I still have residuals.
I also cannot get the central holes pocketed. It does not seem to like cylindrcal surfaces and even the shoulder is proving difficult.
What do I need to do to remove the residuals and cut then central holes?
TIA.
OS: Linux (LXDE/LXDE)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.16854 (Git)
Build type: Release
Branch: master
Hash: fe0fd5512ba9a8a9c729cdc47af35bbe965050ac
Python version: 2.7.15
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/UnitedKingdom (en_GB)
Actually, I don’t even see why I need the cut to stop at the edge when there is nothing around it. Maybe there is a better way to construct or cut this shape. Or is that asking too much from FreeCAD at this stage? diamond-circ-sqr-2mm-paths.FCStd (466 KB)
Hi freman, looking at your model, seems like at least the center features are easy to tackle.
Pocket based on Faces: select the inner wall of the cylindrical features. click apply. See attached file.
Cleaning up the round and square features by selecting the vertical wall face and selecting “profile based on faces” and then applying OUTSIDE and PERIMETER seems to work quite well.
Using ZigZagOffset for cleaning up the different faces is not efficient but works.
Essentially: don’t use spiral. Favor a mix of profiling and ZigZagOffset (the added offset cleans up the feature). Play with the step-over to fit your comparatively big end-mill in tighter tool-paths.
I don’t really have time to optimize your whole model, but I think i’ve given you enough pointers to succeed.
Pocket based on Faces: select the inner wall of the cylindrical features. click apply. See attached file.
So I select the “create pocket path from faces” icon; I click on circular inner face of the top hole; I click Apply button but get no path.
PathOpGui.INFO: Title: 'Pocket Shape'
Pocketing Select Mode
PathOpGui.ERROR: Please select faces from a single solid
TIMING - DrawProjectSplit GO spent: 0.429 millisecs in HLRBRep_Algo & co
TIMING - DrawProjectSplit GO spent: 0.077 millisecs in hlrToShape and BuildCurves
TechDraw::GeometryObject::addGeomFromCompound edgeCompound is NULL
TIMING - DrawProjectSplit GO spent: 0.450 millisecs in HLRBRep_Algo & co
TIMING - DrawProjectSplit GO spent: 0.079 millisecs in hlrToShape and BuildCurves
TechDraw::GeometryObject::addGeomFromCompound edgeCompound is NULL
TIMING - DrawProjectSplit GO spent: 12.856 millisecs in HLRBRep_Algo & co
TIMING - DrawProjectSplit GO spent: 0.241 millisecs in hlrToShape and BuildCurves
TechDraw::GeometryObject::addGeomFromCompound edgeCompound is NULL
seems like at least the center features are easy to tackle.
Yes, I expected it to be that simple too and that was exactly what I tried to do intuitively. It seems obvious. However, I’ve spent the last two days banging my head against the wall.
Why is it whatever seems obvious and simple never works?
If I try to make the most simple object ( attached ) and put a pocket in the hole I get this:
TechDraw::GeometryObject::addGeomFromCompound edgeCompound is NULL
PathOpGui.INFO: Title: 'Pocket Shape'
Pocketing Select Mode
Traceback (most recent call last):
File "/svn/freecad-build/Mod/Path/PathScripts/PathOpGui.py", line 170, in updateData
self.panel.updateData(obj, prop)
File "/svn/freecad-build/Mod/Path/PathScripts/PathOpGui.py", line 961, in updateData
page.pageUpdateData(obj, prop)
File "/svn/freecad-build/Mod/Path/PathScripts/PathOpGui.py", line 242, in pageUpdateData
self.updateData(obj, prop)
File "/svn/freecad-build/Mod/Path/PathScripts/PathPocketShapeGui.py", line 325, in updateData
self.setExtensions(obj.Proxy.getExtensions(obj))
File "/svn/freecad-build/Mod/Path/PathScripts/PathPocketShapeGui.py", line 302, in setExtensions
baseItem.appendRow(self.createItemForBaseModel(base[0], sub, edges, extensions))
File "/svn/freecad-build/Mod/Path/PathScripts/PathPocketShapeGui.py", line 244, in createItemForBaseModel
ext0 = _Extension(self.obj, base, sub, label)
File "/svn/freecad-build/Mod/Path/PathScripts/PathPocketShapeGui.py", line 70, in __init__
self.switch = self.createExtensionSoSwitch(self.ext)
File "/svn/freecad-build/Mod/Path/PathScripts/PathPocketShapeGui.py", line 82, in createExtensionSoSwitch
wire = ext.getWire()
File "/svn/freecad-build/Mod/Path/PathScripts/PathPocketShape.py", line 196, in getWire
direction = self.getDirection(sub)
File "/svn/freecad-build/Mod/Path/PathScripts/PathPocketShape.py", line 178, in getDirection
normal = tangent.cross(FreeCAD.Vector(0, 0, 1)).normalize()
<class 'Base.FreeCADError'>: Cannot normalize null vector
OK I finally got a tool path … temporarily. By some fluke I got it display a tool path for the hole in the simple block but if I got to edit the operation subsequently it disappears.
I found out that it had lost the Base Geometry. I managed to reset that by selecting the face and clicking Add button. Fine.
Next time it edit it ( trying to modify step depth ) I never see the Apply button activated, no matter what I change. This time I notice that the Tool element is an empty list , so I can not even select one.
Sometimes if I fiddle with editing Job , it comes back , sometimes not.
Actually , the path is pretty lame too, two semi-circles linked by a diameteric path. Trouble it does not complete the circle and leaves loads of cruft which will need another path to clean up.
In short this seems very unstable and buggy as hell on this machine.
I only suggested transparency of the model to assess whether some paths were hidden inside the model.
I’m sorry this is getting so frustrating for you. I cannot seem have any major issue myself with your models. It looks to me like a version issue somehow, and this is leaving my area of knowledge.
OS: Windows 7
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.16093 (Git)
Build type: Release
Branch: releases/FreeCAD-0-18
Hash: 690774c0effe4fd7b8d2b5e2fb2b8c8d145e21ce
Python version: 2.7.14
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.2.0
Locale: French/Switzerland (fr_CH)
Have you tried with another build? Perhaps operate only 0.18 stable?
Yes, thanks. I also have 0.18 asm3 AppImage build from February. I’m currently flicking from one to the other juggling between bugs.
I have got the holes in now but it seem erratic. 0.19 keep messing with my windows manager colours making terminals and taskbar unreadable so I need to log out and login again. Very annoying.
Sometimes I get further in 0.18 until I do some op on these paths and it just hangs. I have to kill the process and start again. It all feels like alpha development. There’s some impressive ground work been done but it looks far to quirky to be used. Maybe once you find your way around the bugs and avoid triggering them … ?
I found zigzagoffset produced a clean hole.
My main problem is cleaning up the cruft left around the edges. Maybe there is a better way and I’m still finding my feet.
I don’t see why the path is scared to go outside when there is nothing there. It’s treating void like it is part of the work piece, not to be touched. Maybe that the definition of a pocket in which case I need another sort of path not scared to cut some air. Does something like that exist?
You have some problems which can not be reproduced from others, so in my mind it’s a local problem at your machine. Maybe a mix of (python) libs which are “not fitting”…
Maybe a mix of installed FC add ons, - did you have installed the mods from Russel? I’m in mind they don’t work with Py 2.x.
For me your postet messages pointing at something in this direction…
Thanks, if no one else has these kind of issues you could be right. However, I have been using the 0.18 asm3 AppImage which does not depend up on the rest of my system libs. Yesterday I got the most recent Conda image of 0.18 and this quickly seemed just as unreliable, so I did not spend long testing.
I added nothing since building.
I don’t know Russel or his mods. For 0.19 I did a git clone about a week ago and did a clean build. I have py3 on this system, if that is what most people are working with now maybe I should rebuild with that and drop 2.7.
OK, I have something half way there , as long as I don’t touch the central hole again, I may be OK. It seems to loose the tool setting everytime I go in to change depth or anything. Once that happens, there’s not way other than to delete the path and start again.
Spiral seems to leave the least junk and at least looks orderly, but it’s like I need to add another path to clean out the bit it leaves in the middle. Also watching the simulation, the pattern the top face mill is doing is crazy ####. diamond-circ-sqr-2-OK.FCStd (69.5 KB)
Glad to see that zigzagoffset did some trick for you.
For the cleaning up edges, you can use profiling with adequate offset, or the Deburring op (drop down from the Engraving op). Which allows you to selectively process edges, pretty nifty.
Regarding stability, I do have some stability issues, but I recommend using the actual setup-sheets as suggested in sliptonic’s awesome video tutorials. They will help stabilize your workflow and save your data!
Russ’s work will not help much, he mostly works on activating the 4th axis, and if you’re unhappy now, maybe don’t open this can of worms . But hey, if you want it…(also, it’s still on python 2.7 look at my version, that’s due to OpenCamLib being currently mostly 2.7, python 3 version of OCL is coming up soon).
I think besides the stability issues, your chief struggle is with intuitiveness (or lack thereof) of the PathWB in terms of “how do achieve that?”. In my opinion there is currently almost too many options. And the spiral is still not the right way to go by the way. unstable as heck
That being said, your model proved to me that it’s achievable once someone is used to it. I’ve had just as many issues contorting my brain using another CAM (professional, expensive as all) package. Learning curve and all that…
That being said, your model proved to me that it’s achievable once someone is used to it. [/quote
Well there is always learning how to use a tool but when half of it is broken you have to learn which things work and which crash to break later.
If I set the central hole path to go down to -1 using my 0.18 asm3 , it will lock up every time and need killing. If I create these hole paths by selecting a face then hitting the icon it always gives problems. If I hit the icon , then go to Base Geometry THEN select the cylindrical face and Add button, it seems to work.
For the paths, it is surprising that there is not a simple circular path to make a round hole. All this semi-cylindrical zigzagging is daft and unlikely to give the cleanest result.
Sure there is. Select circle. Apply profile based on edges.
Depth breaking is something I’m still grappling with but haven’t formally pointed out as bug because I’m not clear exactly on my problem.
And hemi circle? Theres the a tool to complete selection of a profile or of faces. Meaning if you select one face of a square (or half a cylinder) and click the tool, the whole loop is selected. It looks like a blue square with yellow and black markings around.
I was getting the paths straightened out and checked by watching the sim a couple of times. The second time on exit , it messed all the colours. I close and reopened: same. Restarted FreeCAD: same ; logged out and started new session : same.
it looks like it’s really borked by file. Can you see why it is deep burgundy red ( is that what you see ) ?
It’s like it’s stuck at the end of the sim. Not in edit mode.
EDIT: found it. It had left a Cut Material object in the tree, when deleted it, it more or less went back to normal. Phew! diamond-circ-sqr-2-brown.FCStd (264 KB)
Sure there is. Select circle. Apply profile based on edges.
Yes but that is not a hole boring path. If the hole greater than twice to tool diam it will free up some waste material which is likely to snag the tool ! You’d need to cut out the centre first then do the profile from the edge circle.
I would expect something like a central plunge then increasing circular paths until o/d is reached. I guess that may get added later.
i think it’s not the right way to use a (not realy good) workaround. Something isn’t OK with fremans installation (or part, but on my system his part works), I’m pretty sure, because “poket through all” works…
Hi freman,
what happens if you make a new part, only a cube with a hole, and try to create the path for the hole?
There’s definitely a bug if you select the hole and create a PathPocket operation. There’s an error in the console and the TC isn’t assigned. If I don’t select the face and create the operation empty, I can go in and assign the face and the path is generated. Apparently this is related to the new Path Extension functionality. Russ has a PR pending (2231) that helps with this.
Keep in mind if you’re running the daily build or building from source that this is very much an active development branch. There’s new stuff hitting often right now and things are likely to be broken.