P0188_Mosaik_Frontplatte/openscad/P0188-15-a_Rückwand_für_300x200_gewinde_M2.scad
2024-09-08 16:21:06 +02:00

123 lines
5.4 KiB
OpenSCAD

//OpenSCAD-Skript
// 2024-06-09 xsider Anpassung 7mm Abstand
// 2024-06-03 xsider Anpassungen an Raster 25
//Moduldefinition mit Parametern
//---------------------------------------------------------------------
module support (
//Parameter
b=250, //Breite der Frontplatte, innenmaß für P0170 200x100mm
h=150, //Höhe der Frontplatte
dick=3, //Auflagedicke des Rahmens
chmfr=3, //Maß der Kante (muss identisch sein mit Rahmen chmfr)
chmtyp=1, //Typ der Kante 0:Fase, 1:Rundung (muss identisch sein mit Rahmen chmtyp)
fnn=32, //Definition Anzahl Facetten der Rundung (muss identisch sein mit Rahmen fnn)
//Bohrungen außen (muss identisch sein mit Bohrungen Rahmen)
beschriftung = "P0188-15-a",
//Raster (muss identisch sein mit Rahmen x,y,segment)
x=10,y=6,segment=25,
//Rasteroffsets (muss identisch sein mit Rahmen x_off,y_off)
x_off=0,y_off=0,
//Eintauchtiefe der Stützstruktur ins Gehäuse
intr=0,
//Rasterbohrungen und Stützgitter
diab=2.2, // Kernloch Durchgangsloch für M2
diamat=5, //Materialdurchmesser für Schraubenbefestigung
//Strebendefinition vertikale Streben
//Definition Schraubenblöcke
sm25 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
sm24 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
sm23 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
sm22 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
sm21 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
sm20 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
sm19 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
sm18 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
sm17 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
sm16 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
sm15 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
sm14 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
sm13 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
sm12 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
sm11 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
sm10 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
sm09 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
sm08 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
sm07 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
sm06 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
sm05 = [0,1,0,1,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
sm04 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
sm03 = [0,1,0,1,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
sm02 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
sm01 = [0,1,0,1,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
)
//Beginn Modul
{
difference(){ //difference 1
union(){ //union 2
//alles, was vor der nächsten geschweiften Klammer steht, wird zusammengefügt (union 2)
translate([-b/2-1, -h/2-1, 0]) cube([b+2,h+2,dick]);
//Schraubenblöcke
//Schraubenzylinder
for (i = [0:x]) {
for (k = [0:y]) {
translate([-(x*segment)/2+i*segment+x_off,-(y*segment)/2+k*segment+y_off,0]) cylinder(d=diamat, h=dick, $fn=fnn);}}
} //union 2 end
//Schraubenlöcher abziehen
for (i = [0:x]) {
for (k = [0:y]) {
sm=[sm01,sm02,sm03,sm04,sm05,sm06,sm07,sm08,sm09,sm10,sm11,sm12,sm13,sm14,sm15,sm16,sm17,sm18,sm19,sm20,sm21,sm22,sm23,sm24,sm25];
if (sm[k-1][i-1]!=0) {
translate([-(x*segment)/2+i*segment+x_off,-(y*segment)/2+k*segment+y_off,-intr-0.1]) cylinder(d=diab, h=2*dick, $fn=fnn);}}
}
// Vertiefungen für die Leuchtbänder
bandbreite=11;
bandtiefe=2;
bandlange=500;
for (i= [-3:3] ) {
translate([0,i*25+12.5,0])
translate([-bandlange/2,-bandbreite/2,dick-bandtiefe/2])cube([bandlange,bandbreite,bandtiefe]);
}
// Lochbild für DCDC-Wandler M3-Gewinde DP6037
translate([-90,38,0])
{
translate([52/2,29/2,intr-0.1])cylinder(d=2.5, h=2*dick, $fn=fnn);
translate([-52/2,29/2,intr-0.1])cylinder(d=2.5, h=2*dick, $fn=fnn);
translate([52/2,-29/2,intr-0.1])cylinder(d=2.5, h=2*dick, $fn=fnn);
translate([-52/2,-29/2,intr-0.1])cylinder(d=2.5, h=2*dick, $fn=fnn);
}
// Lochbild für DP100100 Optional
translate([00,0,0])
{
translate([92/2,92/2,intr-0.1])cylinder(d=2.5, h=2*dick, $fn=fnn);
translate([-92/2,92/2,intr-0.1])cylinder(d=2.5, h=2*dick, $fn=fnn);
translate([92/2,-92/2,intr-0.1])cylinder(d=2.5, h=2*dick, $fn=fnn);
translate([-92/2,-92/2,intr-0.1])cylinder(d=2.5, h=2*dick, $fn=fnn);
}
// Lochbild für DP10062
translate([85,0,0])
{
translate([54/2,92/2,intr-0.1])cylinder(d=2.5, h=2*dick, $fn=fnn);
translate([-54/2,92/2,intr-0.1])cylinder(d=2.5, h=2*dick, $fn=fnn);
translate([54/2,-92/2,intr-0.1])cylinder(d=2.5, h=2*dick, $fn=fnn);
translate([-54/2,-92/2,intr-0.1])cylinder(d=2.5, h=2*dick, $fn=fnn);
}
// Beschriftung
translate([55,-57,0.5])rotate([180,0,0])
linear_extrude(height=1)
text( text=beschriftung,size=10,font="osifont",valign=center,halign=center,$fn=50);
}
} //module end
//Hier werden Instanzen des Moduls aufgerufen
//rotate([0,180,0]) //auskommentieren für seitenrichtige Anzeige
translate([0,0,0]) support(); //in z-Richtung um -dick verschieben