wallplate-lightsocket (livingroom)
This commit is contained in:
		
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 50 KiB | 
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 59 KiB | 
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -0,0 +1,84 @@ | ||||
| // wallplate lightsocket | ||||
| // coverplate with mounting option for german light-sockets/outlets in walls ("Lampendose") | ||||
| // by zeus - 2022-08-27 - cc-by-nc-sa-4.0 | ||||
| // https://git.kostianix.de/zeus/3d-stuff/openscad/own/ | ||||
| // #### | ||||
|  | ||||
| // VARS: | ||||
| $fn=75; | ||||
| mt=3; | ||||
|  | ||||
| // baseplate: | ||||
| dia_x=60;  | ||||
| dia_y=85; | ||||
| hole_dia=5; | ||||
| hole_dist=37; | ||||
| hole_center_dia=25; | ||||
| hole_y_offset=-15; // negative for downwards | ||||
| hole_x_offset=0; | ||||
| hole_tilt=5; // in degrees, negative for CW | ||||
|  | ||||
| // mountingblock | ||||
| mb_x=40; | ||||
| mb_y=4; // cnc-kitchen brass-inserts (m4-short) height | ||||
| mb_z=10; | ||||
| mb_hole_dia=5.5+0.25; // use the dia of brass-inserts if possible. h=4 and d=5.5 is default for the ones from cnc-kitchen (M4, short). | ||||
| mb_hole_dist=30; | ||||
| mb_block_dist=50; //(outer distance!) | ||||
|  | ||||
| // box | ||||
| box_mt=2; | ||||
| box_x=mb_x+(2*box_mt)+1; | ||||
| box_y=mb_block_dist+(2*box_mt)+1; | ||||
| box_z=mb_z+box_mt+1; | ||||
| box_hole_dia=4.25; | ||||
|  | ||||
| // #### | ||||
|  | ||||
| // MODEL: | ||||
| module block(){ | ||||
|     difference(){ | ||||
|         cube([mb_x,mb_y,mb_z],center=true); | ||||
|         for(x=[-mb_hole_dist/2,mb_hole_dist/2]){ | ||||
|             translate([x,0,0]){ | ||||
|                 rotate([90,0,0])cylinder(d=mb_hole_dia,h=mb_y+0.1,center=true); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
| module baseplate(){ | ||||
|     difference(){ | ||||
|         // baseplate | ||||
|         linear_extrude(mt)scale([1,dia_y/dia_x,1])circle(d=dia_x,$fn=250); | ||||
|         // mounting holes | ||||
|         rotate([0,0,hole_tilt]){ | ||||
|             for(x=[-hole_dist/2,hole_dist/2]){ | ||||
|                 translate([x+hole_x_offset,hole_y_offset,mt/2]){ | ||||
|                     cylinder(d=hole_dia,h=mt+0.1,center=true); | ||||
|                     translate([0,0,mt/4])cylinder(d1=hole_dia,d2=hole_dia*1.5,h=mt/2+0.1,center=true); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         translate([0,0,mt/2])cylinder(d=hole_center_dia,h=mt+0.1,center=true); | ||||
|     } | ||||
| } | ||||
|  | ||||
| module box_blind(){ | ||||
|     difference(){ | ||||
|         cube([box_x,box_y,box_z],center=true); | ||||
|         translate([0,0,-box_mt/2-0.1])cube([box_x-(2*box_mt),box_y-(2*box_mt),box_z-(1*box_mt)],center=true); | ||||
|         for(x=[-mb_hole_dist/2,mb_hole_dist/2]){ | ||||
|             translate([x,0,-(box_z/2)+mb_z/2]){ | ||||
|                 rotate([90,0,0])cylinder(d=box_hole_dia,h=box_y+0.1,center=true); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
| // #### | ||||
|  | ||||
| // DRAW MODELS: | ||||
| baseplate(); | ||||
| for(y=[-mb_block_dist/2+mb_y/2,mb_block_dist/2-mb_y/2])translate([0,y,mb_z/2+mt])block(); | ||||
| rotate([0,0,0])translate([0,0,box_z/2+mt+50])box_blind(); | ||||
		Reference in New Issue
	
	Block a user