Dieses Projekt beschreibt einen parametrierbaren Pinselhalter. Das 3D-Objekt wird mit OpenSCAD erstellt.
Mit einem 3D-Druck Projekt konstruieren wir einen Pinselhalter. Die STL-Dateien werden in OpenSCAD erstellt.
Pinselhalter /* ******************************************* Objekt Info: Pinselhalter ******************************************* Version: 14.09.2022 khf ******************************************* */ //*************** Auswahl ************* //keine //***************************************** //*************** Libraries ************ //keine //***************************************** //*************** Parameter ************* 01_Number_Of_Brushes = 5; // [1:12] 02_Holder_Width = 40; // [20:70] // Grundeinstellung: 22 mm Länge und 5 Brushes entspricht eine Gesamtlänge des Halters 22 x (5 + 1) = 132 mm. 03_Holder_Length_Per_Brush = 22; // [10:50] 04_Holder_Height = 18; // [10:40] 05_Holder_Thickness = 12; //[5:30] 06_Holder_Base_Height = 10; // [0:30] 07_Slope_In_Degrees = 22.55; // [0:35] Holder_Unit_Length = 03_Holder_Length_Per_Brush/1; TriHalfWidth = Holder_Unit_Length/2; TriBackElev = 07_Slope_In_Degrees/90*02_Holder_Width; TriBackOffset = -TriBackElev; RemoveSurfaceWidth = 0.01/1; //***************************************** //************** Programm ************** difference(){ union (){ for (TriX = [0 : 01_Number_Of_Brushes]) //Create 5 copies of spike { polyhedron( points=[ [0 + Holder_Unit_Length * TriX,0,0], [Holder_Unit_Length + Holder_Unit_Length * TriX,0,0], [TriHalfWidth + Holder_Unit_Length * TriX, 04_Holder_Height,0], [0 + Holder_Unit_Length * TriX,TriBackElev, 02_Holder_Width], [Holder_Unit_Length + Holder_Unit_Length * TriX, TriBackElev, 02_Holder_Width], [TriHalfWidth + Holder_Unit_Length * TriX ,04_Holder_Height, 02_Holder_Width] ], triangles=[ [1,2,0], [5,4,3], [3,2,5], [0,2,3], [0,3,4], [1,0,4], [4,5,2], [1,4,2] ] ); } //Create spike base polyhedron( points=[ [0,0,0], [Holder_Unit_Length + Holder_Unit_Length * 01_Number_Of_Brushes, 0, 0], [0,0,02_Holder_Width], [Holder_Unit_Length + Holder_Unit_Length * 01_Number_Of_Brushes, 0, 02_Holder_Width], [0,TriBackElev,02_Holder_Width], [Holder_Unit_Length + Holder_Unit_Length * 01_Number_Of_Brushes, TriBackElev, 02_Holder_Width] ], triangles=[ [0,4,2], [3,5,1], [1,0,2], [3,1,2], [4,5,2], [5,3,2], [1,4,0], [1,5,4] ] ); //Create spacer base translate([0,-06_Holder_Base_Height,0]) cube([Holder_Unit_Length + Holder_Unit_Length * 01_Number_Of_Brushes, 06_Holder_Base_Height, 02_Holder_Width]); } //Cut out the bottom portion translate([0,-05_Holder_Thickness,+RemoveSurfaceWidth]){ union (){ for (TriX = [0 : 01_Number_Of_Brushes]) //Create 5 copies of spike { polyhedron( points=[ [0 + Holder_Unit_Length * TriX,0,0], [Holder_Unit_Length + Holder_Unit_Length * TriX,0,0], [TriHalfWidth + Holder_Unit_Length * TriX, 04_Holder_Height,0], [0 + Holder_Unit_Length * TriX,TriBackElev+TriBackOffset, 02_Holder_Width], [Holder_Unit_Length + Holder_Unit_Length * TriX, TriBackElev+TriBackOffset, 02_Holder_Width], [TriHalfWidth + Holder_Unit_Length * TriX ,04_Holder_Height, 02_Holder_Width] ], triangles=[ [1,2,0], [5,4,3], [3,2,5], [0,2,3], [0,3,4], [1,0,4], [4,5,2], [1,4,2] ] ); translate([0, 0, -(1-(2 * RemoveSurfaceWidth))]) cube([(01_Number_Of_Brushes +1)* 03_Holder_Length_Per_Brush,04_Holder_Height+06_Holder_Base_Height+05_Holder_Thickness,1]); } //Create spike base polyhedron( points=[ [0,0,0], [Holder_Unit_Length + Holder_Unit_Length * 01_Number_Of_Brushes, 0, 0], [0,0,02_Holder_Width], [Holder_Unit_Length + Holder_Unit_Length * 01_Number_Of_Brushes, 0, 02_Holder_Width], [0,TriBackElev+TriBackOffset,02_Holder_Width], [Holder_Unit_Length + Holder_Unit_Length * 01_Number_Of_Brushes, TriBackElev+TriBackOffset, 02_Holder_Width] ], triangles=[ [0,4,2], [3,5,1], [1,0,2], [3,1,2], [4,5,2], [5,3,2], [1,4,0], [1,5,4] ] ); //Create spacer base translate([0,-06_Holder_Base_Height,0]) cube([Holder_Unit_Length + Holder_Unit_Length * 01_Number_Of_Brushes, 06_Holder_Base_Height, 02_Holder_Width]); } } } RAW code nach oben
Pinselhalter
/* ******************************************* Objekt Info: Pinselhalter ******************************************* Version: 14.09.2022 khf ******************************************* */ //*************** Auswahl ************* //keine //***************************************** //*************** Libraries ************ //keine //***************************************** //*************** Parameter ************* 01_Number_Of_Brushes = 5; // [1:12] 02_Holder_Width = 40; // [20:70] // Grundeinstellung: 22 mm Länge und 5 Brushes entspricht eine Gesamtlänge des Halters 22 x (5 + 1) = 132 mm. 03_Holder_Length_Per_Brush = 22; // [10:50] 04_Holder_Height = 18; // [10:40] 05_Holder_Thickness = 12; //[5:30] 06_Holder_Base_Height = 10; // [0:30] 07_Slope_In_Degrees = 22.55; // [0:35] Holder_Unit_Length = 03_Holder_Length_Per_Brush/1; TriHalfWidth = Holder_Unit_Length/2; TriBackElev = 07_Slope_In_Degrees/90*02_Holder_Width; TriBackOffset = -TriBackElev; RemoveSurfaceWidth = 0.01/1; //***************************************** //************** Programm ************** difference(){ union (){ for (TriX = [0 : 01_Number_Of_Brushes]) //Create 5 copies of spike { polyhedron( points=[ [0 + Holder_Unit_Length * TriX,0,0], [Holder_Unit_Length + Holder_Unit_Length * TriX,0,0], [TriHalfWidth + Holder_Unit_Length * TriX, 04_Holder_Height,0], [0 + Holder_Unit_Length * TriX,TriBackElev, 02_Holder_Width], [Holder_Unit_Length + Holder_Unit_Length * TriX, TriBackElev, 02_Holder_Width], [TriHalfWidth + Holder_Unit_Length * TriX ,04_Holder_Height, 02_Holder_Width] ], triangles=[ [1,2,0], [5,4,3], [3,2,5], [0,2,3], [0,3,4], [1,0,4], [4,5,2], [1,4,2] ] ); } //Create spike base polyhedron( points=[ [0,0,0], [Holder_Unit_Length + Holder_Unit_Length * 01_Number_Of_Brushes, 0, 0], [0,0,02_Holder_Width], [Holder_Unit_Length + Holder_Unit_Length * 01_Number_Of_Brushes, 0, 02_Holder_Width], [0,TriBackElev,02_Holder_Width], [Holder_Unit_Length + Holder_Unit_Length * 01_Number_Of_Brushes, TriBackElev, 02_Holder_Width] ], triangles=[ [0,4,2], [3,5,1], [1,0,2], [3,1,2], [4,5,2], [5,3,2], [1,4,0], [1,5,4] ] ); //Create spacer base translate([0,-06_Holder_Base_Height,0]) cube([Holder_Unit_Length + Holder_Unit_Length * 01_Number_Of_Brushes, 06_Holder_Base_Height, 02_Holder_Width]); } //Cut out the bottom portion translate([0,-05_Holder_Thickness,+RemoveSurfaceWidth]){ union (){ for (TriX = [0 : 01_Number_Of_Brushes]) //Create 5 copies of spike { polyhedron( points=[ [0 + Holder_Unit_Length * TriX,0,0], [Holder_Unit_Length + Holder_Unit_Length * TriX,0,0], [TriHalfWidth + Holder_Unit_Length * TriX, 04_Holder_Height,0], [0 + Holder_Unit_Length * TriX,TriBackElev+TriBackOffset, 02_Holder_Width], [Holder_Unit_Length + Holder_Unit_Length * TriX, TriBackElev+TriBackOffset, 02_Holder_Width], [TriHalfWidth + Holder_Unit_Length * TriX ,04_Holder_Height, 02_Holder_Width] ], triangles=[ [1,2,0], [5,4,3], [3,2,5], [0,2,3], [0,3,4], [1,0,4], [4,5,2], [1,4,2] ] ); translate([0, 0, -(1-(2 * RemoveSurfaceWidth))]) cube([(01_Number_Of_Brushes +1)* 03_Holder_Length_Per_Brush,04_Holder_Height+06_Holder_Base_Height+05_Holder_Thickness,1]); } //Create spike base polyhedron( points=[ [0,0,0], [Holder_Unit_Length + Holder_Unit_Length * 01_Number_Of_Brushes, 0, 0], [0,0,02_Holder_Width], [Holder_Unit_Length + Holder_Unit_Length * 01_Number_Of_Brushes, 0, 02_Holder_Width], [0,TriBackElev+TriBackOffset,02_Holder_Width], [Holder_Unit_Length + Holder_Unit_Length * 01_Number_Of_Brushes, TriBackElev+TriBackOffset, 02_Holder_Width] ], triangles=[ [0,4,2], [3,5,1], [1,0,2], [3,1,2], [4,5,2], [5,3,2], [1,4,0], [1,5,4] ] ); //Create spacer base translate([0,-06_Holder_Base_Height,0]) cube([Holder_Unit_Length + Holder_Unit_Length * 01_Number_Of_Brushes, 06_Holder_Base_Height, 02_Holder_Width]); } } }
RAW code
nach oben