You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

51 lines
1.3 KiB

from cadquery import exporters
from cq_warehouse.extensions import Workplane
from cq_warehouse.fastener import *
from cq_warehouse.thread import *
from cqmore.polygon import regularPolygon, star
import cadquery as cq
import cqmore
bottom_radius = 70
Workplane = cqmore.extend(Workplane)
simple = False
screw = ButtonHeadScrew(
size="M8-1.25", fastener_type="iso7380_1", length=32 * MM, simple=simple
)
nut_result = (
Workplane()
.makePolygon(star(outerRadius=bottom_radius / 4.5, innerRadius=13, n=8))
.extrude(10)
)
scaled_screw = screw.scale(0.84)
screw_result = (
Workplane()
.makePolygon(star(outerRadius=bottom_radius / 4.5, innerRadius=13, n=8))
.extrude(8)
.union(scaled_screw)
)
nut_result = nut_result.workplane(offset=9.3).threadedHole(screw, 13, simple=simple)
box = Workplane().box(190, 100, 100)
box = box.workplane(offset=0).move(10, 0).box(190, 90, 90, combine="cut")
box = box.workplane(offset=0).move(50, 0).hole(7)
try:
# show_object(screw_result)
# show_object(box)
show_object(nut_result)
except NameError:
pass
cq.exporters.export(
screw_result, "/home/deck/model_files/threaded_tool_holder_screw.step"
)
cq.exporters.export(nut_result, "/home/deck/model_files/threaded_tool_holder_nut.step")
cq.exporters.export(box, "/home/deck/model_files/threaded_tool_holder_box.step")