97 lines
3.0 KiB
OpenSCAD
97 lines
3.0 KiB
OpenSCAD
//---------------------------------------------------------------------
|
|
//
|
|
// OpenSCAD-Script for mosaic 50x50mm window holder
|
|
//
|
|
// derived from:
|
|
// https://github.com/MakeMagazinDE/OpenSCAD_Frontplatten/
|
|
//---------------------------------------------------------------------
|
|
//
|
|
// 2024-06-03 xsider modified for grid 25mm and M2-screws
|
|
//
|
|
//---------------------------------------------------------------------
|
|
|
|
$fn=32;
|
|
//Moduldefinition mit Parametern
|
|
module FrontElem (
|
|
//Frontplattenelement
|
|
xwert=2, //Anzahl der Segmente in horizontaler Richtung
|
|
ywert=2, //Anzahl der Segmente in vertikaler Richtung
|
|
segment=25, //Kantenlänge des Segments
|
|
hght=3.0, //Höhe des Rands des Frontplattensegments
|
|
thick=2, //verbleibende Dicke des Frontplattensegments
|
|
wo=1.0, //Wandstärke oben
|
|
wu=2.0, //Wandstärke unten
|
|
splt = 0.05, // Luftspalt
|
|
//M2-Schrauben
|
|
M2=true, //Bohrungen für M3-Zylinderkopf-Inbusschraube
|
|
skd3=4.3, //Schraubenkopfdurchmesser M3-Schraube
|
|
skh3=2, //Schraubenkopfhöhe M3-Schraube
|
|
dsh3=2.2, //Schaftdurchmesser M3-Schraube
|
|
dvst3=6.3, //Verstärkung für M3-Schraube
|
|
//Schneidschrauben 2mmx6mm
|
|
B2mm=false, //Bohrungen für 2mm-Schneidschrauben
|
|
//Beschriftungsfeld eingesenkt
|
|
|
|
Btext=6.2, //Breite Beschriftungsband
|
|
Ltext=30.2, //Länge Beschriftungsband
|
|
Dtext=0.2, //Tiefe Beschriftungsfeld, oder Null
|
|
|
|
TRSdia=8.0, //Bohrung für Telefonbuchse 4mm
|
|
|
|
//MC-Einbaubuchse
|
|
)
|
|
//Beginn Modul
|
|
{
|
|
difference(){ //difference 2
|
|
union(){ //union 2
|
|
//alles, was vor der nächsten geschweiften Klammer steht, wird zusammengefügt (union 2)0
|
|
//Rahmenaufdoppelung für Acrylscheibe 2x1mm
|
|
translate([25-21,25-21,0])cube([42,42,2]);
|
|
translate([12.5,3+1.5,0])cylinder(h=2,r=2.5,center=false);
|
|
translate([25+12.5,3+1.5,0])cylinder(h=2,r=2.5,center=false);
|
|
translate([12.5,50-4.5,0])cylinder(h=2,r=2.5,center=false);
|
|
translate([25+12.5,50-4.5,0])cylinder(h=2,r=2.5,center=false);
|
|
} //union 2 end
|
|
//alles, was vor der nächsten geschweiften Klammer steht, wird davon abgezogen (difference 2)
|
|
// Ausschnitt Fenster Acrylglasplatte
|
|
translate([25-17,25-16,-5])cube([34,32,10]);
|
|
|
|
|
|
// Kernlochbohrungen
|
|
translate([12.5,3+1.5,-5])cylinder(h=10,r=1.1,center=false);
|
|
translate([25+12.5,3+1.5,-5])cylinder(h=10,r=1.1,center=false);
|
|
translate([12.5,50-4.5,-5])cylinder(h=10,r=1.1,center=false);
|
|
translate([25+12.5,50-4.5,-5])cylinder(h=10,r=1.1,center=false);
|
|
|
|
// Anfasung Frontfenster
|
|
FrontPoints = [
|
|
[ 0, 0, 0 ], //5
|
|
[ 38, 0, 0 ], //6
|
|
[ 38, 36, 0 ], //7
|
|
[ 0, 36, 0 ], //8
|
|
[ 2, 2, 2 ], //1
|
|
[ 36, 2, 2 ], //2
|
|
[ 36, 34, 2 ], //3
|
|
[ 2, 34, 2 ], // 4
|
|
];
|
|
|
|
FrontFaces = [
|
|
[0,1,2,3], // bottom
|
|
[4,5,1,0], // front
|
|
[7,6,5,4], // top
|
|
[5,6,2,1], // right
|
|
[6,7,3,2], // back
|
|
[7,4,0,3]]; // left
|
|
|
|
translate([(50-38)/2,36+7,3])rotate([180,0,0])polyhedron( FrontPoints, FrontFaces );
|
|
|
|
|
|
|
|
} //difference 2 end
|
|
|
|
} //module end
|
|
|
|
//Hier werden Instanzen des Moduls aufgerufen
|
|
translate([0,0,0]) FrontElem();
|
|
|