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.
59 lines
1.5 KiB
59 lines
1.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
|
|
from math import ceil, floor
|
|
|
|
Workplane = cqmore.extend(Workplane)
|
|
Workplane.addSvgPath = addSvgPath
|
|
|
|
width = 154
|
|
height = 182
|
|
|
|
holes_plane = (
|
|
Workplane("XZ")
|
|
.workplane(offset=-2)
|
|
.center(85, height - 75)
|
|
.cylinder(8, 14 / 2)
|
|
.center(-20, 0)
|
|
.cylinder(8, 14 / 2)
|
|
.center(10, 20)
|
|
.cylinder(8, 17 / 2)
|
|
)
|
|
|
|
|
|
magnet_holes_plane = (
|
|
Workplane("XZ")
|
|
.workplane(offset=-2)
|
|
.center(20, height - 100)
|
|
.cylinder(12, 2)
|
|
.center(0, -90)
|
|
.cylinder(12, 2)
|
|
)
|
|
|
|
cover_usb = Workplane("XZ").workplane(offset=-4.5).center(-4, height - 77).box(11, 5.3, 1.0)
|
|
|
|
result = cq.importers.importStep("/home/deck/Downloads/Backpanel_Part3.stp")
|
|
|
|
|
|
result = result.cut(holes_plane)
|
|
#result = result.union(magnet_holes_plane)
|
|
result = result.union(cover_usb)
|
|
|
|
# magnet distance should be 90 mm apart
|
|
test_piece = Workplane().workplane(offset=110).center(70, 0).box(80, 4, 60).cut(holes_plane)
|
|
|
|
cq.exporters.export(result, "/home/deck/model_files/modified_backpanel_part_3.step")
|
|
cq.exporters.export(test_piece, "/home/deck/model_files/modified_backpanel_test_piece.step")
|
|
|
|
try:
|
|
show_object(result)
|
|
except NameError:
|
|
pass
|
|
|