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 hole_diameter = 3.66 hole_radius = hole_diameter / 2.0 screw_dist = 76 bracket_height = 5 result = Workplane() result = result.box(60, bracket_height, 7) result = result.workplane(offset=-bracket_height + 4).box(60, 1.2, 7, combine="cut") result = result.workplane(offset=-bracket_height+2.38).move(0, 4).box(100, 5, 2) result = result.workplane(offset=(bracket_height/2)-1).move(0, 5.5).box(100, 2, 6) holes = Workplane("XZ").workplane(offset=-6).move(-37, 1).line(screw_dist, 0, forConstruction=True).vertices().cylinder(4, hole_radius) result = result.cut(holes) cq.exporters.export(result, "/home/deck/model_files/ssd_bracket.step") try: show_object(result) except NameError: pass