Enclosure: internal components placeholders
This commit is contained in:
@@ -37,6 +37,30 @@ module switch() {
|
|||||||
translate([0, 0, 6]) rotate([0, 15, 0]) cube([12, 10, 5], true);
|
translate([0, 0, 6]) rotate([0, 15, 0]) cube([12, 10, 5], true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Mainboard. The highest component is the capacitor with a total height of 18mm, but we round to 20 for good measure.
|
||||||
|
module pcb() {
|
||||||
|
translate([0, 0, -10]) {
|
||||||
|
linear_extrude(height = 20) {
|
||||||
|
hull() {
|
||||||
|
/*
|
||||||
|
Center svg
|
||||||
|
Bounding box:
|
||||||
|
Min: 19.20, 49.71
|
||||||
|
Max: 97.09, 198.06
|
||||||
|
Size: 77.89, 148.35
|
||||||
|
*/
|
||||||
|
translate([-77.89 / 2 - 19.20, -148.35 / 2 - 49.71, 0]) import("pcb.svg");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module battery_18650() {
|
||||||
|
cylinder(d = 18, h = 65, center = true);
|
||||||
|
}
|
||||||
|
|
||||||
//speaker();
|
//speaker();
|
||||||
//li_ion_4056_charger_module();
|
//li_ion_4056_charger_module();
|
||||||
switch();
|
//switch();
|
||||||
|
//pcb();
|
||||||
|
battery_18650();
|
||||||
140
enclosure/pcb.svg
Normal file
140
enclosure/pcb.svg
Normal file
@@ -0,0 +1,140 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
version="1.1"
|
||||||
|
width="297.0022mm"
|
||||||
|
height="210.0072mm"
|
||||||
|
viewBox="0.0000 0.0000 297.0022 210.0072"
|
||||||
|
id="svg118"
|
||||||
|
sodipodi:docname="pcb.svg"
|
||||||
|
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||||
|
<defs
|
||||||
|
id="defs118" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview118"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="mm"
|
||||||
|
inkscape:zoom="1.4142136"
|
||||||
|
inkscape:cx="117.73328"
|
||||||
|
inkscape:cy="453.609"
|
||||||
|
inkscape:window-width="1536"
|
||||||
|
inkscape:window-height="786"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="g3" />
|
||||||
|
<title
|
||||||
|
id="title1">SVG Image created as Fabula-Edge_Cuts.svg date 2025/12/31 07:00:32 </title>
|
||||||
|
<desc
|
||||||
|
id="desc1">Image generated by PCBNEW </desc>
|
||||||
|
<g
|
||||||
|
style="fill:none; stroke:#000000; stroke-width:0.0500; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;"
|
||||||
|
id="g3">
|
||||||
|
<path
|
||||||
|
d="M19.7000 159.8000 L19.7000 11.9700 "
|
||||||
|
id="path1" />
|
||||||
|
<path
|
||||||
|
d="M96.5900 11.9700 L96.4000 159.8000 "
|
||||||
|
id="path2" />
|
||||||
|
<path
|
||||||
|
d="M96.4000 159.8000 L19.7000 159.8000 "
|
||||||
|
id="path3" />
|
||||||
|
<path
|
||||||
|
d="M 96.586539,11.971108 H 19.701658"
|
||||||
|
id="path4"
|
||||||
|
style="stroke-width:0.0500602" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
style="fill:#000000; fill-opacity:1.0000; stroke:none;"
|
||||||
|
id="g5">
|
||||||
|
<circle
|
||||||
|
cx="34.7200"
|
||||||
|
cy="130.7500"
|
||||||
|
r="2.0000"
|
||||||
|
id="circle4" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
style="fill:#000000; fill-opacity:1.0000; stroke:none;"
|
||||||
|
id="g26">
|
||||||
|
<circle
|
||||||
|
cx="44.7200"
|
||||||
|
cy="106.2500"
|
||||||
|
r="2.0000"
|
||||||
|
id="circle25" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
style="fill:#000000; fill-opacity:1.0000; stroke:none;"
|
||||||
|
id="g30">
|
||||||
|
<circle
|
||||||
|
cx="28.0000"
|
||||||
|
cy="20.0000"
|
||||||
|
r="1.6000"
|
||||||
|
id="circle29" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
style="fill:#000000; fill-opacity:1.0000; stroke:none;"
|
||||||
|
id="g32">
|
||||||
|
<circle
|
||||||
|
cx="60.1800"
|
||||||
|
cy="147.1700"
|
||||||
|
r="2.0000"
|
||||||
|
id="circle31" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
style="fill:#000000; fill-opacity:1.0000; stroke:none;"
|
||||||
|
id="g44">
|
||||||
|
<circle
|
||||||
|
cx="70.7200"
|
||||||
|
cy="121.7500"
|
||||||
|
r="2.0000"
|
||||||
|
id="circle43" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
style="fill:#000000; fill-opacity:1.0000; stroke:none;"
|
||||||
|
id="g64">
|
||||||
|
<circle
|
||||||
|
cx="34.0000"
|
||||||
|
cy="150.2000"
|
||||||
|
r="1.6000"
|
||||||
|
id="circle63" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
style="fill:#000000; fill-opacity:1.0000; stroke:none;"
|
||||||
|
id="g69">
|
||||||
|
<circle
|
||||||
|
cx="86.0000"
|
||||||
|
cy="20.0000"
|
||||||
|
r="1.6000"
|
||||||
|
id="circle68" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
style="fill:#000000; fill-opacity:1.0000; stroke:none;"
|
||||||
|
id="g72">
|
||||||
|
<circle
|
||||||
|
cx="84.9000"
|
||||||
|
cy="150.2000"
|
||||||
|
r="1.6000"
|
||||||
|
id="circle71" />
|
||||||
|
</g>
|
||||||
|
<metadata
|
||||||
|
id="metadata118">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:title>SVG Image created as Fabula-Edge_Cuts.svg date 2025/12/31 07:00:32 </dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3.5 KiB |
87
enclosure/pcb_keys_stems.svg
Normal file
87
enclosure/pcb_keys_stems.svg
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
version="1.1"
|
||||||
|
width="297.0022mm"
|
||||||
|
height="210.0072mm"
|
||||||
|
viewBox="0.0000 0.0000 297.0022 210.0072"
|
||||||
|
id="svg118"
|
||||||
|
sodipodi:docname="pcb_keys_stems.svg"
|
||||||
|
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||||
|
<defs
|
||||||
|
id="defs118" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview118"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="mm"
|
||||||
|
inkscape:zoom="1.4142136"
|
||||||
|
inkscape:cx="117.73328"
|
||||||
|
inkscape:cy="498.86383"
|
||||||
|
inkscape:window-width="1536"
|
||||||
|
inkscape:window-height="786"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg118" />
|
||||||
|
<title
|
||||||
|
id="title1">SVG Image created as Fabula-Edge_Cuts.svg date 2025/12/31 07:00:32 </title>
|
||||||
|
<desc
|
||||||
|
id="desc1">Image generated by PCBNEW </desc>
|
||||||
|
<g
|
||||||
|
style="fill:#000000; fill-opacity:1.0000; stroke:none;"
|
||||||
|
id="g5">
|
||||||
|
<circle
|
||||||
|
cx="34.7200"
|
||||||
|
cy="130.7500"
|
||||||
|
r="2.0000"
|
||||||
|
id="circle4" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
style="fill:#000000; fill-opacity:1.0000; stroke:none;"
|
||||||
|
id="g26">
|
||||||
|
<circle
|
||||||
|
cx="44.7200"
|
||||||
|
cy="106.2500"
|
||||||
|
r="2.0000"
|
||||||
|
id="circle25" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
style="fill:#000000; fill-opacity:1.0000; stroke:none;"
|
||||||
|
id="g32">
|
||||||
|
<circle
|
||||||
|
cx="60.1800"
|
||||||
|
cy="147.1700"
|
||||||
|
r="2.0000"
|
||||||
|
id="circle31" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
style="fill:#000000; fill-opacity:1.0000; stroke:none;"
|
||||||
|
id="g44">
|
||||||
|
<circle
|
||||||
|
cx="70.7200"
|
||||||
|
cy="121.7500"
|
||||||
|
r="2.0000"
|
||||||
|
id="circle43" />
|
||||||
|
</g>
|
||||||
|
<metadata
|
||||||
|
id="metadata118">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:title>SVG Image created as Fabula-Edge_Cuts.svg date 2025/12/31 07:00:32 </dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.3 KiB |
87
enclosure/pcb_mounting_holes.svg
Normal file
87
enclosure/pcb_mounting_holes.svg
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
version="1.1"
|
||||||
|
width="297.0022mm"
|
||||||
|
height="210.0072mm"
|
||||||
|
viewBox="0.0000 0.0000 297.0022 210.0072"
|
||||||
|
id="svg118"
|
||||||
|
sodipodi:docname="pcb_mounting_holes.svg"
|
||||||
|
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||||
|
<defs
|
||||||
|
id="defs118" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview118"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="mm"
|
||||||
|
inkscape:zoom="1.4142136"
|
||||||
|
inkscape:cx="117.73328"
|
||||||
|
inkscape:cy="97.227182"
|
||||||
|
inkscape:window-width="1536"
|
||||||
|
inkscape:window-height="786"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg118" />
|
||||||
|
<title
|
||||||
|
id="title1">SVG Image created as Fabula-Edge_Cuts.svg date 2025/12/31 07:00:32 </title>
|
||||||
|
<desc
|
||||||
|
id="desc1">Image generated by PCBNEW </desc>
|
||||||
|
<g
|
||||||
|
style="fill:#000000; fill-opacity:1.0000; stroke:none;"
|
||||||
|
id="g30">
|
||||||
|
<circle
|
||||||
|
cx="28.0000"
|
||||||
|
cy="20.0000"
|
||||||
|
r="1.6000"
|
||||||
|
id="circle29" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
style="fill:#000000; fill-opacity:1.0000; stroke:none;"
|
||||||
|
id="g64">
|
||||||
|
<circle
|
||||||
|
cx="34.0000"
|
||||||
|
cy="150.2000"
|
||||||
|
r="1.6000"
|
||||||
|
id="circle63" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
style="fill:#000000; fill-opacity:1.0000; stroke:none;"
|
||||||
|
id="g69">
|
||||||
|
<circle
|
||||||
|
cx="86.0000"
|
||||||
|
cy="20.0000"
|
||||||
|
r="1.6000"
|
||||||
|
id="circle68" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
style="fill:#000000; fill-opacity:1.0000; stroke:none;"
|
||||||
|
id="g72">
|
||||||
|
<circle
|
||||||
|
cx="84.9000"
|
||||||
|
cy="150.2000"
|
||||||
|
r="1.6000"
|
||||||
|
id="circle71" />
|
||||||
|
</g>
|
||||||
|
<metadata
|
||||||
|
id="metadata118">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:title>SVG Image created as Fabula-Edge_Cuts.svg date 2025/12/31 07:00:32 </dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.3 KiB |
Reference in New Issue
Block a user