first of all, thanks for this nice piece of software!
I have received a dxf plan for a wooden clock on Christmas and I am trying now to set up a workflow to generate gcode for my LinuxCNC DIY router. I tried to import the dxf into Fusion 360 and generate gcode; this works and the workflow is quite straightforward. However, I do not want to be confined into Windows AND Autodesk as I am a long-time Linux user; so I am looking how to do it in Freecad.
This is an image of one of the about 30 parts:
What I tried so far:
1. Use dxf directly
Code: Select all
File -> Import -> DXF
Draft WB -> Convert to Sketch
Sketch WB -> validate -> fix missing coincidences
Part Design WB -> create body -> include sketch -> create pad with dimension 3 mm
2. Use svg
I converted the dxf file to svg using LibreCAD and imported the svg:
Code: Select all
File -> Import -> SVG(as geometry 96 dpi)
Draft WB -> convert to sketch
Sketch WB -> validate sketch -> fix missing coincidences
Part Design WB -> create body -> include sketch -> create pad with dimension 3 mm
Code: Select all
Path WB -> create job-> create tool controller-> select body
Code: Select all
select faces -> profile
Code: Select all
14:24:55 <Path.Area> Area.cpp(1312): project failed
14:24:55 <Path.Area> Area.cpp(1454): empty projection
14:24:55 Traceback (most recent call last):
File "/tmp/.mount_freecayT48Ye/usr/Mod/Path/PathScripts/PathUtils.py", line 60, in new_function
res = function(*args, **kwargs)
File "/tmp/.mount_freecayT48Ye/usr/Mod/Path/PathScripts/PathOp.py", line 526, in execute
result = self.opExecute(obj) # pylint: disable=assignment-from-no-return
File "/tmp/.mount_freecayT48Ye/usr/Mod/Path/PathScripts/PathAreaOp.py", line 394, in opExecute
aOS = self.areaOpShapes(obj) # pylint: disable=assignment-from-no-return
File "/tmp/.mount_freecayT48Ye/usr/Mod/Path/PathScripts/PathProfile.py", line 488, in areaOpShapes
shapeEnv = PathUtils.getEnvelope(shape, depthparams=custDepthparams)
File "/tmp/.mount_freecayT48Ye/usr/Mod/Path/PathScripts/PathUtils.py", line 314, in getEnvelope
sec = area.makeSections(heights=[0.0], project=True)[0].getShape()
<class 'IndexError'>: list index out of range
Now my questions:
- How can I use the dxf directly and avoid the additional conversion to svg?
- Can I select a combined face (e.g. the combination of the faces comprising the inside between two spokes) with a single click?
- Can I select a combined edge (e.g. the combination of the edges comprising the inside between two spokes) with a single click? This would make life much easier for the more complicated parts of my wooden clock https://holzmechanik.de/holz-uhr-rotara.html
My environment:
OS: Manjaro Linux (XFCE/xfce)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.23578 (Git) AppImage
Build type: Release
Branch: master
Hash: 50c3cbf00579dc4941ca743c25720d016b0453ce
Python version: 3.8.6
Qt version: 5.12.5
Coin version: 4.0.0
OCC version: 7.4.0
Locale: German/Germany (de_DE)