Restructured docs to separate objects and opertions from builder api

This commit is contained in:
Roger Maitland 2023-04-17 14:40:04 -04:00
parent 632bba2753
commit c44455c095
69 changed files with 6360 additions and 228 deletions

182
docs/objects_3d.py Normal file
View file

@ -0,0 +1,182 @@
# [Setup]
from build123d import *
# [Setup]
svg_opts1 = {"pixel_scale": 100, "show_axes": False, "show_hidden": True}
svg_opts2 = {"pixel_scale": 50, "show_axes": True, "show_hidden": False}
# [Ex. 1]
with BuildPart() as example_1:
Box(3, 2, 1)
# [Ex. 1]
example_1.part.export_svg(
"assets/box_example.svg", (-100, -50, 30), (0, 0, 1), svg_opts=svg_opts1
)
# [Ex. 2]
with BuildPart() as example_2:
Cone(2, 1, 2)
# [Ex. 2]
example_2.part.export_svg(
"assets/cone_example.svg", (-100, -50, 30), (0, 0, 1), svg_opts=svg_opts1
)
# [Ex. 3]
with BuildPart() as example_3:
Box(3, 2, 1)
with Locations(example_3.faces().sort_by(Axis.Z)[-1]):
CounterBoreHole(0.2, 0.4, 0.5, 0.9)
# [Ex. 3]
example_3.part.export_svg(
"assets/counter_bore_hole_example.svg",
(-100, -50, 30),
(0, 0, 1),
svg_opts=svg_opts1,
)
# [Ex. 4]
with BuildPart() as example_4:
Box(3, 2, 1)
with Locations(example_3.faces().sort_by(Axis.Z)[-1]):
CounterSinkHole(0.2, 0.4, 0.9)
# [Ex. 4]
example_4.part.export_svg(
"assets/counter_sink_hole_example.svg",
(-100, -50, 30),
(0, 0, 1),
svg_opts=svg_opts1,
)
# [Ex. 5]
with BuildPart() as example_5:
Cylinder(1, 2)
# [Ex. 5]
example_5.part.export_svg(
"assets/cylinder_example.svg", (-100, -50, 30), (0, 0, 1), svg_opts=svg_opts1
)
# [Ex. 6]
with BuildPart() as example_6:
Box(3, 2, 1)
Hole(0.4)
# [Ex. 6]
example_6.part.export_svg(
"assets/hole_example.svg", (-100, -50, 30), (0, 0, 1), svg_opts=svg_opts1
)
# [Ex. 7]
with BuildPart() as example_7:
Sphere(1, 0)
# [Ex. 7]
example_7.part.export_svg(
"assets/sphere_example.svg", (-100, -50, 30), (0, 0, 1), svg_opts=svg_opts1
)
# [Ex. 8]
with BuildPart() as example_8:
Torus(1, 0.2)
# [Ex. 8]
example_8.part.export_svg(
"assets/torus_example.svg", (-100, -50, 30), (0, 0, 1), svg_opts=svg_opts1
)
# [Ex. 9]
with BuildPart() as example_9:
Wedge(1, 1, 1, 0, 0, 0.5, 0.5)
# [Ex. 9]
example_9.part.export_svg(
"assets/wedge_example.svg", (-100, -50, 30), (0, 0, 1), svg_opts=svg_opts1
)
# # [Ex. 4]
# with BuildPart() as example_4:
# Rectangle(2, 1)
# # [Ex. 4]
# example_4.part.export_svg(
# "assets/rectangle_example.svg", (0, 0, 100), (0, 1, 0), svg_opts=svg_opts1
# )
# # [Ex. 5]
# with BuildPart() as example_5:
# RectangleRounded(2, 1, 0.25)
# # [Ex. 5]
# example_5.part.export_svg(
# "assets/rectangle_rounded_example.svg", (0, 0, 100), (0, 1, 0), svg_opts=svg_opts1
# )
# # [Ex. 6]
# with BuildPart() as example_6:
# RegularPolygon(1, 6)
# # [Ex. 6]
# example_6.part.export_svg(
# "assets/regular_polygon_example.svg", (0, 0, 100), (0, 1, 0), svg_opts=svg_opts1
# )
# # [Ex. 7]
# with BuildPart() as example_7:
# arc = Edge.make_circle(1, start_angle=0, end_angle=45)
# SlotArc(arc, 0.25)
# SlotArc(arc, 0.01, mode=Mode.SUBTRACT)
# # [Ex. 7]
# example_7.part.export_svg(
# "assets/slot_arc_example.svg", (0, 0, 100), (0, 1, 0), svg_opts=svg_opts1
# )
# # [Ex. 8]
# with BuildPart() as example_8:
# c = (0, 0)
# p = (1, 0)
# SlotCenterPoint(c, p, 0.25)
# with Locations(c):
# Circle(0.02, mode=Mode.SUBTRACT)
# with Locations(p):
# Circle(0.02, mode=Mode.SUBTRACT)
# # [Ex. 8]
# example_8.part.export_svg(
# "assets/slot_center_point_example.svg", (0, 0, 100), (0, 1, 0), svg_opts=svg_opts1
# )
# # [Ex. 9]
# with BuildPart() as example_9:
# SlotCenterToCenter(1, 0.25)
# # [Ex. 9]
# example_9.part.export_svg(
# "assets/slot_center_to_center_example.svg",
# (0, 0, 100),
# (0, 1, 0),
# svg_opts=svg_opts1,
# )
# # [Ex. 10]
# with BuildPart() as example_10:
# SlotOverall(1, 0.25)
# # [Ex. 10]
# example_10.part.export_svg(
# "assets/slot_overall_example.svg", (0, 0, 100), (0, 1, 0), svg_opts=svg_opts1
# )
# # [Ex. 11]
# with BuildPart() as example_11:
# Text("text", 1)
# # [Ex. 11]
# example_11.part.export_svg(
# "assets/text_example.svg", (0, 0, 100), (0, 1, 0), svg_opts=svg_opts1
# )
# # [Ex. 12]
# with BuildPart() as example_12:
# Trapezoid(2, 1, 80)
# with Locations((-0.75, -0.35)):
# Text("80", 0.2, mode=Mode.SUBTRACT)
# # [Ex. 12]
# example_12.part.export_svg(
# "assets/trapezoid_example.svg", (0, 0, 100), (0, 1, 0), svg_opts=svg_opts1
# )
if "show_object" in locals():
show_object(example_1.part, name="Ex. 1")
# show_object(example_2.part, name="Ex. 2")
# show_object(example_3.part, name="Ex. 3")
# show_object(example_4.part, name="Ex. 4")
# show_object(example_5.part, name="Ex. 5")
# show_object(example_6.part, name="Ex. 6")
# show_object(example_7.part, name="Ex. 7")
# show_object(example_8.part, name="Ex. 8")
# show_object(example_9.part, name="Ex. 9")
# show_object(example_10.part, name="Ex. 10")
# show_object(example_11.part, name="Ex. 11")
# show_object(example_12.part, name="Ex. 12")