4141 with :
4242 name : kicad-export
4343 path : ${{ env.OutputFolder }}
44+ retention-days : 1
45+
46+ export-freecad :
47+ env :
48+ FREECADVERSION : " 1.0.2"
49+ FREECADFOLDER : " ./mechanical"
50+ FREECADFILENAME : " housing.FCStd"
51+ OUTPUTFOLDER : " ./output"
52+ PARTTYPE : " PartDesign::Body"
53+ runs-on : ubuntu-latest
54+ steps :
55+ - name : Fetch repository
56+ uses : actions/checkout@v4
57+
58+ - name : Checkout xdb-freecad repository
59+ uses : actions/checkout@v5
60+ with :
61+ repository : 0x007E/xdb-freecad
62+ path : mechanical
63+ token : ${{ secrets.GITHUB_TOKEN }}
64+
65+ - name : Prepare output directory
66+ run : |
67+ mkdir -p ${{ env.OUTPUTFOLDER }}
68+ cp ./LICENSE ${{ env.OUTPUTFOLDER }}
69+
70+ - name : Install FreeCAD
71+ run : |
72+ wget https://github.com/FreeCAD/FreeCAD/releases/download/${{ env.FREECADVERSION }}/FreeCAD_${{ env.FREECADVERSION }}-conda-Linux-x86_64-py311.AppImage
73+ chmod 0777 FreeCAD_${{ env.FREECADVERSION }}-conda-Linux-x86_64-py311.AppImage
74+ ./FreeCAD_${{ env.FREECADVERSION }}-conda-Linux-x86_64-py311.AppImage --appimage-extract
75+
76+ - name : Get FreeCAD Export
77+ run : |
78+ git clone https://github.com/0x007E/pyfreecadexport.git
79+
80+ - name : Modifiy Spreadsheet
81+ run : |
82+ REPO_NAME="$(basename "${{ github.repository }}")"
83+ REPO_NAME_UPPER="${REPO_NAME^^}"
84+
85+ cp -r ${{ env.FREECADFOLDER }}/${{ env.FREECADFILENAME }} ./housing.FCStd
86+ cp -r ${{ env.FREECADFOLDER }}/*.otf ./
87+
88+ ./squashfs-root/usr/bin/python ./pyfreecadexport/src/pyfreecadspreadsheet.py -f "${{ env.FREECADFILENAME }}" -s "Parameter" -a "Text_Function" -d "${REPO_NAME_UPPER}" -l "squashfs-root/usr/lib/"
89+
90+ rm -r ./*.otf
91+ cp -r ./${{ env.FREECADFILENAME }} ${{ env.FREECADFOLDER }}/${{ env.FREECADFILENAME }}
92+ cp -r ${{ env.FREECADFOLDER }} ${{ env.OUTPUTFOLDER }}
93+
94+ - name : Export STEP Files
95+ run : |
96+ ./squashfs-root/usr/bin/python ./pyfreecadexport/src/pyfreecadexport.py -f "${{ env.FREECADFOLDER }}/${{ env.FREECADFILENAME }}" -p "${{ env.PARTTYPE }}" -d "${{ env.OUTPUTFOLDER }}" -e "step" -l "squashfs-root/usr/lib/"
97+ ./squashfs-root/usr/bin/python ./pyfreecadexport/src/pyfreecadexport.py -f "${{ env.FREECADFOLDER }}/${{ env.FREECADFILENAME }}" -p "${{ env.PARTTYPE }}" -d "${{ env.OUTPUTFOLDER }}" -e "stl" -l "squashfs-root/usr/lib/"
98+
99+ - name : Archive artifacts
100+ uses : actions/upload-artifact@v4
101+ with :
102+ name : freecad-export
103+ path : ${{ env.OUTPUTFOLDER }}
44104 retention-days : 1
0 commit comments