Importing 8020 in Onshape

We are learning CAD (specifically Onshape) and are trying to follow along with what 7461 did in their Robots to the Rescue submission since they won the Onshape Expert Award!

We are building our 2020 robot in CAD since we didn’t do it in CAD yet.

We have a master layout sketch and are working out how to attach parts to it. Since our team uses mostly standard parts like 8020, and aluminum C channel I’m thinking we should be able to almost exclusively import these parts from MKCad, mate the part to lines in the master layout sketch and change the length of the part. However, I’m not seeing a way to do this.

Am I thinking along the correct lines? How would I import parts and change their lengths?


A good start, since you mentioned MKCad, would be to take a look at the first several posts in this thread (namely 1 and 3 for getting the MKCad libraries set up & being able to import them into documents):

Several of the documents are labeled as “configurable” that would let you set your own lengths. I’m not sure if there is one for 80/20 specifically so you may have to look into importing your own 80/20 profile (from here),

1 Like

I design a good bit of 80/20 structures in SOLIDWORKS.

You should be able to use custom profiles (you’ll need to import 80/20 profiles as sketches in a library) with OnShape’s beam feature: Using The Beam Feature To Create Weldments

Protip: use the “smooth” profile 80/20, even if you aren’t planning on using that on your final robot. Less lines to look at and render.

IMHO, no frame made of extrusion should be modeled in any way that isn’t like the beam/weldment tool. It’s just so much easier, especially long-term. Make the entire frame in one part studio.


Not that I’m aware of.

However, our team’s Onshape library contains 80/20 extrusion profiles you can access here to use with the Beam featurescript. I believe a couple of them are configurable as well.

1 Like

There is an Onshape FeatureScript to generate 8020 profiles. Onshape.
They mention that this may have detriments to performance, but use at your own risk.

Using feature scripts is explained here but someone like @dydx can give a much better explanation than I can: Custom Features | Onshape

1 Like

Hey! I’m glad to hear you’re using our CAD for reference! While we don’t use any 8020 or C-channel on 7461 (due to the low strength to weight ratio as opposed to 1x1 and 2x1 box tubing), meaning our workflow probably isn’t the most suited to 8020/C-channel, I can give some advice on modeling.

For 8020, there’s a featurescript (mentioned above), and for C-Channel you can just extrude a rectangle and then use the shell tool for the sides that are “open”. Feel free to ask me if you have any questions!

Some miscellaneous ramblings:

It looks like you’re a rookie team, so I’ll just put a bit of general advice here:

  1. Master layout sketches are only useful if your workflow is heavily CAD-driven. If you try building your robot before you CAD it, don’t bother with anything of the sort (though I highly recommend the former)
  2. In general, I’d recommend moving away from C-channel and 8020, since both aren’t very robust for construction. Instead, the use of hole-patterned box tubing and metal gussets allows for really fast construction of rigid structures.
  3. I think that, while CADing your old robot is a great exercise for the pure mechanics of CAD, it won’t really help you with learning the workflow or actually improving at design, since you already have the robot built. Instead, what I’d do is work on designing small mechanisms (i.e., a hatch manipulator from 2019), which will give you a feel for why the layout sketch is useful, and what its actual purpose is in a CAD model.

I hope you were able to make sense of my ramblings – if you have any questions or want any help/advice, feel free to shoot me a message, and I’ll be happy to respond. Good Luck!


For something like 8020 I would simply create a configurable part that you can then import into assemblies and set the length when importing. I put together a quick tutorial to show how to do it:
Using MKCad is a very useful skill for lots of other parts.

Thank you for all the responses!

Do you know where they said that about the performance? Is it because the profile is so complicated or because of some other processor intensive task?

Is there a simple way to get the part to be drawn directly on a line? I want it to follow the line that goes directly up toward the shooter instead of coming out away from the sketch. I could do a couple transform operations but there’s got to be a way easier solution that I’m not finding.

  1. I think it’s a good learning experience for our students to do the master layout and I’m not experienced with CAD myself so I don’t really have any other workflow to teach anyway.
  2. I believe our current stock (donated) is based around the 8020 and C channel. Since we have this robot and expect to use most of it next year, I don’t see changing right away but will keep your suggestion in mind for the future.
  3. Building our 2020 robot in CAD is in large part preparation for changing the robot for next year.

Congratulations again!

Thanks for putting the video together! It looks like this gives us the most amount of control over what is going on and allows us to determine how much detail there is in the profile and therefore the performance impact. It surprised me how easy it was to make the part configurable!
We recognized your voice from the Techno Girls Mini Bot Series which we watched some of when we were starting our own Robots to the Rescue submission.

One thing I’m really struggling with right now is how to import any external part (say from MKCad) and then drill a hole in it or modify it in any way. I don’t see a way to import external parts into a Part Studio (to allow me to make further modifications), only an assembly.

In terms of importing external parts into a Part Studio, use the Derive command. That’ll allow you to make any modifications you need to before putting it into your assembly. If you want a little bit more control on where the derived part is located in the Part Studio and don’t want to use the Transform command, @dydx made an awesome FeatureScript called Derive In-Place that you can use.

1 Like

If you’re planning on changing your robot, I’d actually recommend re-architecting your robot (so keeping the same overall practice, but not copying exact geometry from your current robot, and making design improvements), getting practice designing with box tubing (and probably some c-channel as well, since you have a lot on hand), while saving the 8020 for prototypes, where it can be extremely valuable due to the ease of adjusting. This will also give you experience with planning out ball paths and systems integration in CAD, without having to make huge changes to your robot design or needing to purchase too much (beyond some new metal) if you decide to construct the new improvements.

IMO, the biggest benefit of the master layout workflow is that you can easily visualize your robot before it comes into 3d, so the best way to learn and understand it intuitively (which I have our kids do) is building something new in CAD, instead of CADing something that already exists – this can be as simple as having a kid re-design a mechanism from someone else’s robots (i.e., I had a rookie member re-design 2976’s hopper from this year), or as complex as designing a full robot from the ground up.

The Derive In-Place FeatureScript worked great when in a part studio. How would I import the KOP frame from MKCad (which appears to only be an assembly) and then cut a hole in some part of it or even remove the battery from it’s holder? It doesn’t seam to let me start a new sketch on it or edit the parts because I don’t have access to it.

What I usually do if I need to modify the frame is I import the chassis STEP from the AndyMark website as a part studio, which lets me modify individual parts in context to eachother. From there, I just insert everything and group mate

Lots of great suggestions. I’ve put together another video showing how I modify parts from MKCad. I hope it is useful.

1 Like