//--------------------------------------------------------------------- // // 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();