# This is a declaration of a PartCAD package. # See https://partcad.org/ and https://github.com/openvmp/partcad for more information. desc: Examples of parts defined with build123d url: https://github.com/gumyr/build123d partcad: ">=0.5.22" pythonRequirements: - ocp_vscode - build123d>=0.7.1 sketches: examples/clock: type: build123d desc: Clock Face (Builder mode) examples/clock_algebra: type: build123d desc: Clock Face (Algebra mode) examples/python_logo: type: build123d desc: This python module creates the Python logo as a Sketch object show: PythonLogo(10) examples/shamrock: type: build123d desc: Adds a four leaf clover parts: examples/benchy: type: build123d desc: STL import and edit example (Builder mode) cwd: examples examples/boxes_on_faces: type: build123d desc: Demo adding features to multiple faces in one operation (Builder mode) examples/boxes_on_faces_algebra: type: build123d desc: Demo adding features to multiple faces in one operation (Algebra mode) examples/build123d_customizable_logo: type: build123d desc: This example creates the build123d customizable logo (Builder mode) examples/build123d_customizable_logo_algebra: type: build123d desc: This example creates the build123d customizable logo (Algebra mode) examples/build123d_logo: type: build123d desc: This example creates the former build123d logo (Builder mode). examples/build123d_logo_algebra: type: build123d desc: This example creates the former build123d logo (Algebra mode). # `canadian_flag` can't be a PartCAD part as it doesn't have volume, and it can't be a sketch as it's not plain # examples/canadian_flag: # type: build123d # desc: Canadian Flag Blowing in The Wind (Builder mode) # examples/canadian_flag_algebra: # type: build123d # desc: Canadian Flag Blowing in The Wind (Algebra mode) examples/circuit_board: type: build123d desc: This example demonstrates placing holes around a part (Builder mode) examples/circuit_board_algebra: type: build123d desc: This example demonstrates placing holes around a part (Algebra mode) examples/custom_sketch_objects: type: build123d desc: | This example demonstrates the creation of a Playing Card storage box with user generated custom BuildSketch objects. Four new BuildSketch objects are created: Club, Spade, Heart, and Diamond, which are then used to punch holes into the top of the box's lid. (Builder mode) examples/custom_sketch_objects_algebra: type: build123d desc: | This example demonstrates the creation of a Playing Card storage box with user generated custom BuildSketch objects. Four new BuildSketch objects are created: Club, Spade, Heart, and Diamond, which are then used to punch holes into the top of the box's lid. (Algebra mode) examples/din_rail: type: build123d desc: | This example demonstrates multiple vertex filtering techniques including a fully custom filter. It also shows how a workplane can be replaced with another in a different orientation for further work. (Builder mode) parameters: rail_length: type: int desc: Length of the DIN rail default: 1000 examples/din_rail_algebra: type: build123d desc: | This example demonstrates multiple vertex filtering techniques including a fully custom filter. It also shows how a workplane can be replaced with another in a different orientation for further work. (Algebra mode) parameters: rail_length: type: int desc: Length of the DIN rail default: 1000 examples/dual_color_3mf: type: build123d desc: | The 3MF mesh format supports multiple colors which can be used on multi-filament 3D printers. This example creates an tile pattern with an insert and background in different colors. examples/extrude: type: build123d desc: | This example demonstrates multiple uses of Extrude cumulating in the design of a key cap. (Builder mode) examples/extrude_algebra: type: build123d desc: | This example demonstrates multiple uses of Extrude cumulating in the design of a key cap. (Algebra mode) examples/handle: type: build123d desc: | This example demonstrates multisection sweep creating a drawer handle (Builder mode) examples/handle_algebra: type: build123d desc: | This example demonstrates multisection sweep creating a drawer handle (Algebra mode) examples/heat_exchanger: type: build123d desc: | This example creates a model of a parametric heat exchanger core (Builder mode) examples/heat_exchanger_algebra: type: build123d desc: | This example creates a model of a parametric heat exchanger core (Algebra mode) examples/holes: type: build123d desc: This example demonstrates multiple hole types (Builder mode) examples/holes_algebra: type: build123d desc: This example demonstrates multiple hole types (Algebra mode) examples/intersecting_chamfers: type: build123d desc: Intersecting chamfers (Builder mode) examples/intersecting_chamfers_algebra: type: build123d desc: Intersecting chamfers (Algebra mode) examples/intersecting_pipes: type: build123d desc: | This example demonstrates working on multiple planes created from object faces and using a Select.LAST selector to return edges to be filleted. examples/joints: type: build123d desc: Experimental Joint development file (Builder mode) examples/joints_algebra: type: build123d desc: Experimental Joint development file (Algebra mode) examples/key_cap: type: build123d url: https://www.cherrymx.de/en/dev.html desc: | This example demonstrates the design of a Cherry MX key cap by using extrude with a taper and extrude until next (Builder mode) examples/key_cap_algebra: type: build123d url: https://www.cherrymx.de/en/dev.html desc: | This example demonstrates the design of a Cherry MX key cap by using extrude with a taper and extrude until next (Algebra mode) examples/lego: type: build123d cwd: docs desc: | This example creates a model of a double wide lego block with a parametric length (pip_count) (Builder mode) examples/lego_algebra: type: build123d cwd: docs desc: | This example creates a model of a double wide lego block with a parametric length (pip_count) (Algebra mode) examples/loft: type: build123d desc: | This example demonstrates lofting a set of sketches, selecting the top and bottom by type, and shelling (Builder mode) examples/loft_algebra: type: build123d desc: | This example demonstrates lofting a set of sketches, selecting the top and bottom by type, and shelling (Algebra mode) examples/maker_coin: type: build123d desc: | This example creates the maker coin as defined by Angus on the Maker's Muse YouTube channel examples/mixed_algebra_context: type: build123d desc: Mix content and algebra api examples/multiple_workplanes: type: build123d desc: Multiple workplanes (Builder mode) examples/multiple_workplanes_algebra: type: build123d desc: Multiple workplanes (Algebra mode) examples/packed_boxes: type: build123d desc: Demo packing a bunch of boxes in 2D cwd: examples patch: "\\Z": "\\nshow_object(packed)" # "\\Z": "\\nshow_object(test_boxes)" examples/pegboard_j_hook: type: build123d desc: | This example creates a model of j-shaped pegboard hook commonly used for organization of tools in garages (Builder mode) examples/pegboard_j_hook_algebra: type: build123d desc: | This example creates a model of j-shaped pegboard hook commonly used for organization of tools in garages (Algebra mode) examples/pillow_block: type: build123d desc: This example demonstrates placing holes in a part in a rectangular array (Builder mode) examples/pillow_block_algebra: type: build123d desc: This example demonstrates placing holes in a part in a rectangular array (Algebra mode) examples/platonic_solids: type: build123d desc: This example creates a custom Part object PlatonicSolid examples/playing_cards: type: build123d desc: | This example demonstrates user generated custom BuildSketch objects. The script defines five classes: Club, Spade, Heart, Diamond, and PlayingCard in addition to a two part playing card box which has suit cutouts in the lid. examples/projection: type: build123d desc: Projection examples (Builder mode) examples/projection_algebra: type: build123d desc: Projection examples (Algebra mode) # `roller_coaster` can't be a PartCAD part as it doesn't have volume, and it can't be a sketch as it's not plain # examples/roller_coaster: # type: build123d # desc: | # This example demonstrates building complex 3D lines by "snapping" # features to existing objects (Builder mode) # examples/roller_coaster_algebra: # type: build123d # desc: | # This example demonstrates building complex 3D lines by "snapping" # features to existing objects (Algebra mode) examples/stud_wall: type: build123d desc: | This example builds stud walls from dimensional lumber as an assembly with the parts positioned with RigidJoints examples/tea_cup: type: build123d desc: | This example demonstrates the creation a tea cup, which serves as an example of constructing complex, non-flat geometrical shapes programmatically (Builder mode) examples/tea_cup_algebra: type: build123d desc: | This example demonstrates the creation a tea cup, which serves as an example of constructing complex, non-flat geometrical shapes programmatically (Algebra mode) examples/vase: type: build123d desc: | This example demonstrates the build123d techniques involving the creation of a vase. Specifically, it showcases the processes of revolving a sketch, shelling (creating a hollow object by removing material from its interior), and selecting edges by position range and type for the application of fillets (rounding off the edges). (Builder mode) examples/vase_algebra: type: build123d desc: | This example demonstrates the build123d techniques involving the creation of a vase. Specifically, it showcases the processes of revolving a sketch, shelling (creating a hollow object by removing material from its interior), and selecting edges by position range and type for the application of fillets (rounding off the edges). (Algebra mode)