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.
60 lines
2.5 KiB
60 lines
2.5 KiB
from cadquery import exporters
|
|
from cq_warehouse.extensions import Workplane
|
|
from cq_warehouse.fastener import *
|
|
from cq_warehouse.thread import *
|
|
from cqmore.curve import archimedeanSpiral, circle
|
|
from cqmore.polygon import regularPolygon, star
|
|
from cqmore.polyhedron import polarZonohedra, Polyhedron, superellipsoid
|
|
from svg_path import addSvgPath
|
|
from svgpathtools import svg2paths
|
|
import cadquery as cq
|
|
import cqmore
|
|
|
|
Workplane = cqmore.extend(Workplane)
|
|
Workplane.addSvgPath = addSvgPath
|
|
|
|
#wk_paths, wk_attributes = svg2paths(
|
|
#"/home/deck/cad_files/svgs/wk_edited.svg"
|
|
#)
|
|
|
|
inner_diameter = 5
|
|
outer_diameter = 7
|
|
thickness = 3
|
|
|
|
rivet_inner_diameter = 1.5
|
|
rivet_outer_diameter = 2.5
|
|
rivet_thickness = 3
|
|
|
|
logo = Workplane().circle(outer_diameter).extrude(thickness)
|
|
logo = logo.faces(">Z[0]").circle(inner_diameter+0.9).extrude(thickness, combine="cut")
|
|
logo = logo.faces(">Z[0]").circle(inner_diameter).extrude(thickness)
|
|
logo = logo.faces(">Z[1]").center(0,0).cylinder(thickness+2, inner_diameter-1, combine="cut")
|
|
logo = logo.workplane(offset=1.0).circle(outer_diameter+4).extrude(1).workplane(offset=0.5).text("WK", 10, 0.8, combine="cut")
|
|
|
|
#wk = Workplane("XY").center(0, 0).addSvgPath(wk_paths[0]).extrude(-2.0)
|
|
|
|
#logo = logo.union(wk, clean=False)
|
|
|
|
logo_outer = Workplane().circle(inner_diameter+1).extrude(thickness)
|
|
logo_outer = logo_outer.faces(">Z[0]").circle(inner_diameter).extrude(thickness, combine="cut")
|
|
logo_outer = logo_outer.workplane(offset=1.0).circle(outer_diameter+4).extrude(1)
|
|
cq.exporters.export(logo, "/home/deck/model_files/belt_hole_inner.step")
|
|
cq.exporters.export(logo_outer, "/home/deck/model_files/belt_hole_outer.step")
|
|
|
|
rivet = Workplane().circle(rivet_outer_diameter).extrude(rivet_thickness)
|
|
rivet = rivet.faces(">Z[0]").circle(rivet_inner_diameter+0.9).extrude(rivet_thickness, combine="cut")
|
|
rivet = rivet.faces(">Z[0]").circle(rivet_inner_diameter).extrude(rivet_thickness)
|
|
rivet = rivet.faces(">Z[1]").center(0,0).cylinder(rivet_thickness+2, rivet_inner_diameter-1, combine="cut")
|
|
rivet = rivet.workplane(offset=1.0).circle(rivet_outer_diameter+1).extrude(1)
|
|
|
|
rivet_outer = Workplane().circle(rivet_inner_diameter+1).extrude(rivet_thickness)
|
|
rivet_outer = rivet_outer.faces(">Z[0]").circle(rivet_inner_diameter).extrude(rivet_thickness, combine="cut")
|
|
rivet_outer = rivet_outer.workplane(offset=1.0).circle(rivet_outer_diameter+1).extrude(1)
|
|
|
|
cq.exporters.export(rivet, "/home/deck/model_files/rivet_inner.step")
|
|
cq.exporters.export(rivet_outer, "/home/deck/model_files/rivet_outer.step")
|
|
|
|
try:
|
|
show_object(rivet)
|
|
except NameError:
|
|
pass
|
|
|