scad-testing/mag2.0.py
Ian Burgess ed5c149696 updates
2025-07-20 14:03:27 -06:00

36 lines
963 B
Python

from solid2 import cube, cylinder, set_global_fn
import subprocess
set_global_fn(100)
#base
floor = cube(33,11.4,1.25).translate([1.25,1.25,0]) #floor
o = floor
o += floor.translate([0,0,2.3]) #ceiling
o -= cube(33,9.9,1.25).translate([1.25,2,2.3]) #ceiling negative
wall = cube(33,1.25,3.55).translate([1.25,0,0]) #sidewalls
o += wall
o += wall.translate([0,12.65,0])
o += cube(1.25,13.9,3.55) #backwall
o -= cube(1.75,2.5,2.5,).translate([16.4,11.5,1.75]) #hole
o += cube(1,6.85,2.3).translate([1.25,3.5,1.25]) #backwall2
#baseend
#top
o = o.rotate([180,0,0]).translate([0,13.9,0])#rotate base
o += cube(34.25,13.9,22)#top cube
c = cylinder(r=11, h=34.25).rotate([0,90,0])
c2 = c.translate([0,18.9,10])
c = c.translate([0,-5,10])
c3 = cylinder(d=7, h=50).rotate([-90,0,0]).translate([6.8125,-5,10])
c3 += c3.translate([10.3125,0,0])
c3 += c3.translate([10.3125,0,0])
o = o - c
o = o - c2
o = o - c3
#topend
o = o.scale([10,10,10])
o.save_as_stl('mag.stl')