Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create a section in the docs attempting to describe the design process #743

Closed
gumyr opened this issue Oct 18, 2024 · 4 comments
Closed
Labels
documentation Improvements or additions to documentation enhancement New feature or request

Comments

@gumyr
Copy link
Owner

gumyr commented Oct 18, 2024

The documentation describes the tools available to design objects but it doesn't provide an description of the steps one might use to go about creating a design with build123d. Here is a proposal for what this section might contain - feedback requested:

Designing a Part in build123d

Designing a part with build123d involves a systematic approach that leverages the power of 2D profiles, extrusions, and revolutions. Where possible, always work in the lowest possible dimension, 1D lines before 2D sketches before 3D parts. Here is a guide to get started:

  1. Examine the Part in All Three Orientations

    Start by visualizing the part from the front, top, and side views. Identify any symmetries in these orientations, as symmetries can simplify the design by reducing the number of unique features you need to model.

  2. Identify Rotational Symmetries

    Look for structures that could be created through the rotation of a 2D shape. For instance, cylindrical or spherical features are often the result of revolving a profile around an axis. Identify the axis of rotation and make a note of it.

  3. Select a Convenient Origin

    Choose an origin point that minimizes the need to move or transform components later in the design process. Ideally, the origin should be placed at a natural center of symmetry or a critical reference point on the part.

  4. Create 2D Profiles

    Design the 2D profiles of your part in the appropriate orientation(s). These profiles are the foundation of the part's geometry and can often represent cross-sections of the part. Mirror parts of profiles across any axes of symmetry identified earlier.

  5. Use Extrusion for Prismatic Features

    For solid or prismatic shapes, extrude the 2D profiles along the necessary axis. You can also combine multiple extrusions by intersecting or unionizing them to form complex shapes. Use the resulting geometry as sub-parts if needed.

  6. Generate Revolved Features

    If any part of the geometry can be created by revolving a 2D profile around an axis, use the revolve operation. This is particularly useful for parts that include cylindrical, conical, or spherical features. Combine these revolved sub-parts with existing features using additive, subtractive, or intersecting operations.

  7. Combine Sub-parts Intelligently

    When combining multiple sub-parts, keep in mind whether they need to be added, subtracted, or intersected. Subtracting or intersecting can create more refined details, while addition is useful for creating complex assemblies.

  8. Apply Chamfers and Fillets

    Identify critical edges or vertices that need chamfering or filleting. Use build123d’s selectors to apply these operations accurately. Always visually inspect the results to ensure the correct edges have been modified.

  9. Design for Assembly

    If the part is intended to connect with others, add features like joints, holes, or other attachment points. Ensure that these features are precisely located to ensure proper fitment and functionality in the final assembly.

  10. Plan for Parametric Flexibility

    Wherever possible, make your design parametric, allowing dimensions and features to be easily adjusted later. This flexibility can be crucial if the design needs modifications or if variations of the part are needed.

  11. Test Fit and Tolerances

    Visualize the fit of the part within its intended assembly. Consider tolerances for manufacturing, such as clearance between moving parts or shrinkage for 3D-printed parts. Adjust the design as needed to ensure real-world functionality.

@gumyr gumyr added documentation Improvements or additions to documentation enhancement New feature or request labels Oct 18, 2024
@gumyr gumyr added this to the Not Gating Release 1.0.0 milestone Oct 18, 2024
@CePeU
Copy link

CePeU commented Oct 18, 2024

Fillet early if possible this will avoid the necessity to find the correct edges later on.

Maybe make some "standard" hints like (and they might be dumb but things I "discovered"):

  • Use polyline instead of a set of lines
  • explain (again) the operator to place a startingpoint between 0 and 1 on a line
  • Give a hint about filters and selecting faces,edges and vertices
  • explain right hand rule
  • explain orientation of a face/place and how it impacts extrudes
  • explain the difference between brep and stl

I think these are the most often asked questions a beginner has asked in the discord channel

@CePeU
Copy link

CePeU commented Oct 18, 2024

Oh yes one more! The difference between move, locate etc. a more or less more baisc introduction to handling the placing of objects. I am still struggling ;)

@wcraigtrader
Copy link

wcraigtrader commented Oct 18, 2024

Design for Manufacturing

  • Consider the materials you're planning to use, and their strengths and weaknesses.
  • If you're 3D printing using FDM, consider trade-offs orienting your part: layer adhesion, layer strength, supports, etc.
  • If you're 3D printing using SLA, consider resin drip paths for hollow parts.
  • If you're milling a part, do you have a 2-axis mill, 3-axis mill, or more? How will you secure your material during milling?
  • If you're thermoforming, make sure you have draft angles so you can release your part, and vent holes to allow the thermoplastic to snug into the mold. Overhangs will block part removal!

@gumyr
Copy link
Owner Author

gumyr commented Oct 21, 2024

I've created a first version of Designing a Part in build123d with a66b8c7. It doesn't cover all of the points above as some of these are more specific to different manufacturing processes, but we should have a page on that too.

gumyr added a commit that referenced this issue Oct 21, 2024
@gumyr gumyr closed this as completed Oct 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants