Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.

First time visiting? Here are some places to start:
  1. Looking for a certain topic? Check out the categories filter or use Search (upper right).
  2. Need support? Ask a question to our Community Support category.
  3. Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
  4. Be respectful, on topic and if you see a problem, Flag it.

If you would like to contact our Community Manager personally, feel free to send a private message or an email.

How to mate chain link like parts and also align them to a flat plane (3D Printing)?

I'm new to onshape, but have been dappling CAD modeling for a couple years. I have also search tutorials and forums to try and find an answer. I made a model to 3D print of an articulating snake. This is essential chain links between body parts to allow the model to flex around. So, I created my parts and a fully assembly and was able to mate the joints but having to use a Ball Mate for them. With a limit of 15 degrees, I was able to get my model from being a straight line to a curve. Exciting, as that's what I wanted to do to fit my 3D printer build plate better (or play with other shapes to possibly print more at once).

My issue that I cannot solve is that the bottom surfaces of my model are not flat. When I export and put it into a slicer, they can't lie flat on the build plate without major tweaking. This seems to be due to various Z rotations, which I believe the ball mates are making as the part is rotated.

To try to counter act this, I wanted to try and mate the bottom surfaces to some other plane (or at least get them all on the same Z level). I cannot figure out if I can't do this because of my experience, or if this isn't possible at all.  I'm assuming the Ball Mate is wrong for my joints, but I also can't seem to get any other mount to give me the correct rotation and angle limit like the ball mate does. Adding any other mates to these parts either jumbles everything up or just breaks the current mates and nothing is allowed to work.

My model is here https://cad.onshape.com/documents/67837dfe1c8e292f8f182f85/w/a625f92a26a14ab5d54eb6ac/e/b5eb07d8cd1387fe1063feb0 , if anyone can take a look and at least let me know what I'm doing wrong - or if it's just not possible (especially for a free version). At least I'll know if the software just can't do what I'm looking for and I'll have to make adjustments by hand instead, but I'd obviously rather have the software help out.

Thank you,


  • glen_dewsburyglen_dewsbury Member Posts: 453 ✭✭✭
    A quick check shows me that the only reason your snake does not lay flat for printing is because the head of the snake is low. Not because the body parts aren't flat.
    The ball mates should give the flexibility to show snake bending as you have them. If you want to force it to lay flat for printing it may be better nicer to simply use mate connections that are rigid. When you want to switch back and forth between flexible and rigid for a reset, I would put the mate sets in folders so that you can suppress or unsuppress whole folders. When you unsuppress mate folder in sample assembly you'll see the snake head pull back in place.
    Link here may give you some ideas to improve the set up. Not sure what all the transforms are about in part studio or repeats of body parts. That may be where the head and body misalignment came from.
    Hope this helps with your SNEK. :)

  • Evan_ReeseEvan_Reese Member Posts: 2,034 PRO
    edited September 9
    Rather than try to mate and bend them all in an assembly, this is a situation where I'd model it all into a studio to take advantage of the patterning tools there. I can think of two custom features that might be a game changer for you here.
    1. Line of Links (by @carl_malagodi ) - This one was a student featurescript challenge winner, I believe. It automates the creation of this type of link, but also limits you to what it makes. You could use the feature output as-is, modify it some, or build your links from scratch.
    2. Path pattern (by @konstantin_shiriazdanov) - This one is similar to the native Curve Pattern feature, but with a lot of alternate options. The most important one here is the ability to specify instance spacing along the path, instead of just the path and a number of instances.
    Here's an example. Note I only used 5 features.
    1. Sketch 1 - sets up for the Line of Links feature (origin and direction)
    2. Line of Links 1 - creates the first 3 links. I only needed the middle one since it has a loop and a hole. (The start only has a hole, and the end only has a loop). Skip these first two features and model your links manually if you want to.
    3. #step - is a variable feature measuring how far it is from a point on one link to a corresponding point on the next one. This will drive the Path Pattern spacing.
    4. Sketch 2 - is the path to pattern on.
    5. Path pattern 1 - is where I can put in the path, spacing, and number of links to create the pattern.
    Some things to tweak and consider:
    • To get them lined up nicely, you need to consider the start position of the path. Play with the start point of Sketch 2 to see what I mean (the one near the origin)
    • You'll still have to tweak the arc radius to make sure they aren't bent so tight they intersect. You could use the interference detection to check for this. You could also set Path Pattern to Add and if the links merge, then they're touching.
    Evan Reese / Principal and Industrial Designer with Ovyl
    Website: ovyl.io
  • david_lang457david_lang457 Member Posts: 71 ✭✭
    when you are trying to lay things flat in an assembly, you can make the bottom surfaces tangent to each other (watch the order you click on them or you may flip them)
  • jonathan_mayerjonathan_mayer Member Posts: 4
    Thank you everyone for the replies. Unfortunately life came up after I posted this and I'm just getting back to it. The hobby always takes the back seat :)

    I will look into your recommendations and thank you all again.
Sign In or Register to comment.