i made a beautiful model of an SMD LED in openSCAD and wanted to use KicadStepup Workbench to convert it into a 3D model for KiCAD EDA.
Steps to reproduce:
- create model with freecad
- export as csg
- install FreeCad via flatpak (Discovery)
- open FreeCad
- new document
- open file..
- select .csg previously exported
Code: Select all
12:04:18 WARNING: Token 'DOT' defined, but not used
12:04:18 WARNING: Token 'WORD' defined, but not used
12:04:18 WARNING: There are 2 unused tokens
12:04:18 <Exception> MultiFusion failed
12:04:18 Recompute failed! Please check report view.
12:04:18 <Exception> MultiFusion failed
12:04:18 Recompute failed! Please check report view.
12:04:18 <Exception> MultiFusion failed
12:04:18 <Exception> MultiFusion failed
12:04:18 Recompute failed! Please check report view.
12:04:18 <Exception> MultiFusion failed
12:04:18 <Exception> MultiFusion failed
12:04:18 Recompute failed! Please check report view.
12:04:18 <Exception> MultiFusion failed
12:04:18 <Exception> MultiFusion failed
12:04:18 Recompute failed! Please check report view.
12:04:18 <Exception> MultiFusion failed
12:04:18 <Exception> MultiFusion failed
12:04:18 Recompute failed! Please check report view.
12:04:18 <Exception> Input shape is null
12:04:18 End processing CSG file
12:04:18 <Exception> MultiFusion failed
12:04:18 <Exception> MultiFusion failed
12:04:18 Recompute failed! Please check report view.
Code: Select all
OS: KDE Flatpak runtime (KDE/plasma-steamos-oneshot)
Word size of FreeCAD: 64-bit
Version: 0.20.1.29410 (Git)
Build type: Release
Branch: (HEAD detached at 0.20.1)
Hash: f5d13554ecc7a456fb6e970568ae5c74ba727563
Python 3.9.9, Qt 5.15.5, Coin 4.0.0, Vtk 8.2.0, OCC 7.6.2
Locale: English/Germany (en_DE)
Installed mods:
* kicadStepUpMod 10.16.5
Code: Select all
module cap(){
translate([-capWidth/2,0,bodyDims.z/2]) difference(){
cube([capWidth,bodyDims.y,bodyDims.z],true);
for (iy=[-1,1])
translate([capWidth/2,iy*bodyDims.y/2]) circle(filRad);
cube([capWidth+fudge,bodyDims.y-filRad*2-plating*2,bodyDims.z-plating*2],true);
translate([-(capWidth-(capWidth-filRad-plating)+fudge)/2,0,0])
cube([capWidth-filRad-plating+fudge,bodyDims.y+fudge,bodyDims.z-plating*2],true);
}
}
The issue seems to be in the for loop that gets substracted
Code: Select all
for (iy=[-1,1])
translate([capWidth/2,iy*bodyDims.y/2]) circle(filRad);
without that it renders in FreeCad