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 from math import ceil, floor Workplane = cqmore.extend(Workplane) Workplane.addSvgPath = addSvgPath part_diameter = 3.54 part_radius = part_diameter / 2 part_height = 24 result = Workplane() result = result.cylinder(part_height, part_radius) result = result.workplane(offset=part_height / 2).cylinder(2, part_radius + 1) end_piece = Workplane() end_piece = end_piece.cylinder(2, part_radius * 4) end_piece = end_piece.cylinder(6, part_radius - 0.3, combine="cut") cq.exporters.export(result, "/home/deck/model_files/tongs_part.step") cq.exporters.export(end_piece, "/home/deck/model_files/tongs_part_end_piece.step") try: show_object(end_piece) except NameError: pass