|
|
@ -31,37 +31,40 @@ result = Workplane().polyhedron(*outer_poly) |
|
|
|
holder_angle_offset = 20 |
|
|
|
|
|
|
|
|
|
|
|
planter_polygon = (result.workplane(offset=-36) |
|
|
|
.makePolygon( |
|
|
|
regularPolygon( |
|
|
|
nSides=4, |
|
|
|
radius=planter_radius - 40, |
|
|
|
thetaStart=holder_angle_offset, |
|
|
|
thetaEnd=360 + holder_angle_offset, |
|
|
|
), |
|
|
|
forConstruction=True, |
|
|
|
)) |
|
|
|
|
|
|
|
result = ( |
|
|
|
planter_polygon |
|
|
|
.vertices() |
|
|
|
.sphere(8, combine="cut") |
|
|
|
planter_polygon = result.workplane(offset=-36).makePolygon( |
|
|
|
regularPolygon( |
|
|
|
nSides=4, |
|
|
|
radius=planter_radius - 40, |
|
|
|
thetaStart=holder_angle_offset, |
|
|
|
thetaEnd=360 + holder_angle_offset, |
|
|
|
), |
|
|
|
forConstruction=True, |
|
|
|
) |
|
|
|
|
|
|
|
result = planter_polygon.vertices().sphere(8, combine="cut") |
|
|
|
|
|
|
|
paths, attributes = svg2paths("/home/deck/cad_files/tree_of_gondor_small.svg") |
|
|
|
|
|
|
|
#print(dir(result.addSvgPath(paths[0]))) |
|
|
|
# print(dir(result.addSvgPath(paths[0]))) |
|
|
|
|
|
|
|
tree = (Workplane("YZ") |
|
|
|
.center(0, 75) |
|
|
|
.addSvgPath(paths[0]) |
|
|
|
.extrude(-2.0) |
|
|
|
.translate((95.03, -100, 0)) |
|
|
|
) |
|
|
|
tree = ( |
|
|
|
Workplane("YZ") |
|
|
|
.center(0, 75) |
|
|
|
.addSvgPath(paths[0]) |
|
|
|
.extrude(-2.0) |
|
|
|
.translate((95.03, -100, 0)) |
|
|
|
) |
|
|
|
|
|
|
|
print(tree) |
|
|
|
tree2 = ( |
|
|
|
Workplane("YZ") |
|
|
|
.center(0, 75) |
|
|
|
.addSvgPath(paths[0]) |
|
|
|
.extrude(-2.0) |
|
|
|
.translate((-95, -100, 0)) |
|
|
|
) |
|
|
|
|
|
|
|
result = result.cut(tree, clean=False) |
|
|
|
result = result.cut(tree2, clean=False) |
|
|
|
|
|
|
|
cone = cq.Solid.makeCone(planter_radius, 33, planter_height + 95) |
|
|
|
|
|
|
|