Mas modelos
This commit is contained in:
49
radxa-octoprint/modelo.py
Normal file
49
radxa-octoprint/modelo.py
Normal file
@ -0,0 +1,49 @@
|
||||
import cadquery2 as cq
|
||||
from cadquery2 import exporters
|
||||
|
||||
# camera hinge dimensions
|
||||
inner_camera_hinge = 4.2 / 2
|
||||
outer_camera_hinge = 8.5 / 2
|
||||
camera_hinge_width = 15
|
||||
|
||||
# tripod hinge dimensions
|
||||
inner_tripod_hinge = 7.5 / 2
|
||||
outer_tripod_hinge = 17.5 / 2
|
||||
tripod_hinge_width = 5.5
|
||||
|
||||
|
||||
camera_hinge_shape = (
|
||||
cq.Sketch().circle(outer_camera_hinge).circle(inner_camera_hinge, mode="s")
|
||||
)
|
||||
|
||||
tripod_hinge_shape = (
|
||||
cq.Sketch().circle(outer_tripod_hinge).circle(inner_tripod_hinge, mode="s")
|
||||
)
|
||||
|
||||
arm_width = min(tripod_hinge_width, camera_hinge_width)
|
||||
arm_length = 75
|
||||
|
||||
camera_arm = (
|
||||
cq.Workplane("XY")
|
||||
.rect(arm_width, arm_width)
|
||||
.extrude(arm_length)
|
||||
.edges("|Z or <Z or >Z")
|
||||
.fillet(0.25)
|
||||
.faces(">Y")
|
||||
.tag("side")
|
||||
.workplane(
|
||||
centerOption="CenterOfBoundBox", offset=(camera_hinge_width - arm_width) / 2
|
||||
)
|
||||
.center(0, arm_length / 2 + (outer_camera_hinge - inner_camera_hinge))
|
||||
.placeSketch(camera_hinge_shape)
|
||||
.extrude(-camera_hinge_width)
|
||||
.center(0, -(arm_length + outer_tripod_hinge))
|
||||
# Undo previous offset + new offset
|
||||
.workplane(
|
||||
offset=-(camera_hinge_width - arm_width - tripod_hinge_width + arm_width) / 2
|
||||
)
|
||||
.placeSketch(tripod_hinge_shape)
|
||||
.extrude(-tripod_hinge_width)
|
||||
)
|
||||
|
||||
exporters.export(camera_arm, "camera_arm.stl")
|
Reference in New Issue
Block a user