Browse Source

add rivets

master
wes 10 months ago
parent
commit
5fe1ae9995
  1. 62
      belt_rivets.py

62
belt_rivets.py

@ -1,31 +1,57 @@
import cadquery as cq
from cqmore import Workplane
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 random import randint, choice
import functools as fnc
import itertools as it
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
result = Workplane().circle(outer_diameter).extrude(thickness)
result = result.faces(">Z[0]").circle(inner_diameter+0.9).extrude(thickness, combine="cut")
result = result.faces(">Z[0]").circle(inner_diameter).extrude(thickness)
result = result.faces(">Z[1]").center(0,0).cylinder(thickness+2, inner_diameter-1, combine="cut")
result = result.workplane(offset=1.0).circle(outer_diameter+2).extrude(1)
#result = result.faces(">Z[0]").circle(inner_diameter-1).extrude(thickness+1, combine="cut")
rivet_inner_diameter = 5
rivet_outer_diameter = 7
rivet_thickness = 2
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")
result_outer = Workplane().circle(inner_diameter+1).extrude(thickness)
result_outer = result_outer.faces(">Z[0]").circle(inner_diameter).extrude(thickness, combine="cut")
result_outer = result_outer.workplane(offset=1.0).circle(outer_diameter+2).extrude(1)
#result_outer = result_outer.faces(">Z[0]").circle(inner_diameter-1).extrude(thickness+1, combine="cut")
cq.exporters.export(result, "/home/deck/model_files/belt_hole_inner.step")
cq.exporters.export(result_outer, "/home/deck/model_files/belt_hole_outer.step")
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+4).extrude(1)
try:
show_object(result)
show_object(rivet)
except NameError:
pass

Loading…
Cancel
Save