1 of 27

D3.1 OnShape Robot Organization - 2023

2 of 27

OnShape Learning Pathways

  • Top Down Design

3 of 27

Top-Down Modeling

  • Using a primary document to define the overall design and then using portions of that document to define the system mechanisms.
  • Updating the sketches and entines in the primary document will propagate changes to each system document.

4 of 27

Multiple Documents and Versioning

  • We create our robot in multiple documents
    • The main robot assembly lives in document 0
    • Each mechanism gets its own numbered document
  • Versioning is a big advantage to multiple documents
    • You can roll back a single mechanism to a previous state if a change isn’t working.
  • It’s critical to manually create versions while working in multiple documents.
    • Until a document is versioned the other documents won’t be able to see any updates.
  • “Pin Reference”
    • lets you stop an item from being included in the Uplated All Linked document list, useful for MKCAD documents.

5 of 27

The importance of the Origin

  • It’s critical that all the documents keep a consistent origin
    • When inserting Part Studios into an assembly they default to their space relative to the origin so if we keep all the origins the same the Part Studio all naturally line up.
    • Mating to the origin and using group mates are much easier ways to define objects in space and consistent origins allows us to do this.
  • We recommend that the origin be the center of the robot at the level of the field carpet.
    • This way measurements from the origin can tell you a robots height, half its width, and half its length.

6 of 27

Reference Cube

  • The Reference Cube is a part that lives at the origin of each of your assemblies and part studios.
  • The Reference Cube allows you to easily keep your parts located in the same space, and allows for easy inserting, deriving, and in-context editing.
    • Allows you make a new part studio, derive the cube, insert it in an assembly in other document and then edit in context your new part studio.
  • Reference cubes can also have mate connectors�allowing you to position items in assemblies

7 of 27

Primary Documents

8 of 27

Primary Assembly

  • In the primary robot document (#0) we will only keep the primary assembly
    • The Primary Assembly will import each of the mechanism assemblies
    • You will mate the reference cubes to the origin/other reference cubes.

9 of 27

Primary Sketches

  • In the Primary Elements Document (#0.1) we will keep a part studio with the primary sketches
    • The Primary Sketches part studio will have sketches that define the overall characteristics of the robot.
    • Normally we will have at least one sketch for each system in this part studio.

10 of 27

Space Allocation Volumes/Shapes

  • Allows you to visualize the volumes that a mechanism must fit into
    • Robot volumes may include the full frame perimeter and height of the robot and the expansion limits of the rules, including height expansion limits
    • Subsystem volumes may be generic shapes showing how much space is allocated for a subsystem or you may make it more detailed and include simple shape representations of the mechanism itself. (Block CAD, Crayola CAD, etc)

11 of 27

Variables

  • Variables allow you to use the same values in multiple places and allow for easy editing.
    • When starting a document think about the variables you will use the most and create variables for them
    • Variables that are only used in one place aren’t required but may be helpful if you believe it’s a value that you may want to change often.

  • Variable Studio - Video
    • https://cad.onshape.com/help/Content/variable_studio.htm
    • Variable Studios allow you to share variables across documents.
    • Our Primary Elements document hold our Variable Studio for each project.
    • Include Field dimensions, max starting sizes, extension limits, frame dimensions, etc.

12 of 27

Primary Documents Recap

  1. The Main Robot Assembly document (#0) includes the Primary Assembly that will all the mechanism assemblies inserted into it.
  2. The Primary Elements Document (#0.1)
    1. Includes the Primary Sketches part studio that has 3+ sketches defining much of the mechanisms geometry
    2. Includes the Space Allocation part studio with simple shapes defining the 3D constraints of the robot and mechanisms
      1. May also include simple block versions of mechanisms
    3. Includes the Primary Variable Studio for robot wide variables
  3. We separate these documents to allow for better load times and better versioning.

13 of 27

System Documents

14 of 27

Derived Sketches/Parts

  • This is how we will import the primary elements into our mechanism documents.

15 of 27

In Context Editing

  • In context editing of a mechanism allows us to pull dimensions from the rest of the robot when needed.
    • Be careful when doing this as most things should be defined in the variable studio, primary sketches and space allocations.
    • If you are regularly referring to in context items for dimensions you may need to add more details to your primary elements document to include that information.
  • In context editing is best used for copying hole and mounting locations across mechanisms
  • “Set as Primary Instance”
    • very useful for allowing you to update the context in a part studio. The option is in the assembly though.

16 of 27

How to make a System Document

  1. Create a new document and name it “#. System” (ex. 1. Drivetrain)
  2. Rename your part studio (System main) and assembly (#. System)
  3. Derive in the Reference Cube from 0.1 Primary Elements into the main part studio
  4. Derive in any Primary Sketches that you need for your system.
  5. Insert the Reference cube into the assembly and mate it to the origin
  6. Create Version #1 of your System Document
  7. Insert the System assembly into the Main Robot Assembly
  8. In the main robot assembly fasten the Reference Cube to the origin/other reference cubes
  9. We can now right click on our System Reference Cube (in the main assembly) and click “edit in context”
    1. This allows us to see the whole robot in context in our main part studio.

17 of 27

Starting a System

  • Create the initial part
    • This part should be based on one of your primary sketches are created in it’s proper place relative to the reference cube.
    • likely a part that will mount to the other systems
  • Insert it in the assembly and group with the Reference Cube
    • Using a main group mate will let you insert parts from the part studio very easily. Any fixed part can just be grouped.

18 of 27

When to make Part Studios/Assemblies

  • Each system is likely to have 3 to 5+ part studios and subassemblies.
    • If you are creating a part studio for every part, that’s too many studios.
    • If you are doing dozens of parts in one studio that’s too few studios.
  • Ways to determine how to separate your system
    • You should think of about how you might build and maintain your system.
    • Are their natural places that your system can be broken up into separate sections?
      • I.e. An arm, a roller, a gearbox, etc.
    • Are there areas that might be updated/iterated separate from the rest of the system?
    • These natural break points are the best places to divide your system.
  • Often it will make sense for each of your part studios to have it’s own assembly that is inserted into the larger system assembly.
    • If a part studio only have one part than it doesn’t need an assembly otherwise it probably should.

19 of 27

Using Sketches in Assemblies

  • You can import sketches into assemblies to help with mating parts.
    • Primary Sketches work well for this
  • This is great when you need to place multiple parts in relation to another without using multiple mate connectors.
  • Example a sketch is used to position these two MAX tubes in their correct locations.

20 of 27

Using mate connectors instead of planes

  • When you need to create a new part offset from another create a mate connector instead of a plane.
  • You can create the sketch on the mate connector the same way as the plane and it’s often faster to get the correct orientation.
  • When you are ready to insert the part into the assembly you will already have a mate connector created for you.
  • This is especially useful for items that won’t be fasten/group mated, such as an arm that will pivot around a shaft with a revolut mate.

21 of 27

Mirrored Part Studio/Assembly

  • Derive + Mirror + Delete
  • Derive in the parts from your part studio for one side of the assembly
  • Mirror all the parts across the center plane of the robot
  • Delete the original parts
  • Create an assembly and insert the mirrored parts studio.
  • Insert the mirrored assembly into the main system assembly

  • we are still testing this process, there are likely times this isn’t the best process and the full assemblies should be created directly
  • This will make Bill of Materials less accurate but it may be fine for many teams

22 of 27

Check Interference in the Assembly

  • Use the right click -> Check Interference tool to let you see if you assembly is correct.
  • It is very easy to mate to the wrong mate connector
    • center of a whole face instead of the edge, etc
  • When you check for interference any overlapping parts will show up in read.
    • Some of the time it’s okay for them to overlap such as hex shaft into a hex bearing that isn’t the correct orientation, gear teeth, etc.

23 of 27

Part Name, Material, and Appearance

  • Before any part is finished you should set the part name, the material, and the Appearance.

24 of 27

Mechanism Document Recap

  • Top Assembly
    • Named with the same number and name as the document.
    • This is what will be inserted in the Primary Assembly
  • Part Studios
    • Here is where you will model all the parts for the Mechanism
    • You can include/derive the Primary Sketches, Space Allocations in these part studios.
    • Most mechanisms will have 3-5 Part Studios.
  • SubAssemblies
    • Having subassemblies is great to keep things organized. Each of your part studios is likely to have it’s own assembly
    • You can often create your assembly in the Top Assembly then section things out into the subassemblies as needed
      • Select all the parts and right click->”Create new Subassembly”

25 of 27

Part Libraries

26 of 27

Part Libraries and COTS Parts

  • Use the official MKCAD files at all times
    • You don’t want people using different copies of MKCAD documents and you end up with slightly different models of the same part.
  • Create your own CAD library for parts that are not included in MKCAD.
    • Don’t directly import COTS STEP files into your robot documents.

27 of 27

How to use COTS parts

  • COTS parts should be all be inserted from MKCAD, a vendor document (REV), or our COTS Library.
    • There are likely expectations for very unique COTS parts but if you ever think we will reuse it again, we should add it to our COTS Library.
  • COTS parts that can be generated using a feature script are normally better created using the script.
    • This is true for Extrusion (REV 2x1 with holes, etc), Shafts (rounded hex, etc), Spacers. belts
    • This allows you to properly define their lengths in the part studio.
  • For parts with configurable lengths it is okay to derive them into the part studio.
    • You can use driven variables to set configuration lengths for derived parts similar to extrude to face.
    • REV MaxSpline Shaft is a good example of this.