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.

Planes in Assembly



  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 1,989 PRO
    @philip_thomas I have your cell phone number.

    I think I have a good work flow for a small projects. Just looking for other ways, insights & recommendations.

    Billy won't talk to me any longer. Playing with the API, I managed to destroy billy as a login, it's still there, but not accessible. The next logical choice was billy2.

  • philip_thomasphilip_thomas Member, Moderator, Onshape Employees, Developers Posts: 1,381
    edited July 2018
    @billy2 - ah, the penny has dropped as to who you are.
    Bill - your 'challenges' are well known to me! ;)
    Philip Thomas - Onshape
  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 1,989 PRO
    edited July 2018
    @philip_thomas why do I feel like the lights have been turned on and I have my hand in the cookie jar.

    I'm busted!

  • philip_thomasphilip_thomas Member, Moderator, Onshape Employees, Developers Posts: 1,381

    Yes Bill, you are def busted! :)

    Philip Thomas - Onshape
  • philip_thomasphilip_thomas Member, Moderator, Onshape Employees, Developers Posts: 1,381

    Bill - sorry, just getting around to clearing my backlog.

    Re your statements . . . 

    Be careful mating to the origin in the assembly. What's not obvious, when moving this assembly into a higher assembly, mates to the origin don't transfer up and everything becomes unstable. There's no red flags. Once an assembly is in the higher level, check to make sure mates transferred properly. Look in the mate features folder, watch for mates to origin which can only be detected by editing the mate feature and looking for 'mate to origin'. 'mate to origin' will be in lower assembly but is missing in the higher assembly.

    What would be nice is to have a chart of those things that move up to the next assembly and those that don't.

    move up:
    mate connectors

    don't move up:
    mates to origins
    fixes (thanks @brucebartlett@brucebartlett

    There appears to be some misunderstanding.
    If I mate something to the origin of an assembly and then put that assembly into a parent, the mates ABSOLUTELY DO move up to the parent.
    What you are seeing is the fact that all assemblies in Onshape are flexible. This means that the origin is free to move (you just cannot see it). The mate between the part and the origin is absolutely there and being respected.

    Help me  - what are you trying to do and how do you expect it to work?
    Philip Thomas - Onshape
  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 1,989 PRO
    I'll try again and confirm. Thanks,

  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 1,989 PRO
    edited July 2018
    @philip_thomas this is the same old problem we've been working on when you're trying to assemble geometry with no geometric centers, yet, you need to assemble with geometric centers.

    A few weeks ago, I assembled using mate connectors assembled to assembly origins and it didn't work. Then, I rerouted these to other geometry and it worked. I'm assuming that mates to origins don't move up to next assy. Since I'm under NDA, I've simplified the geometry and shared it.

    Geometry needs to be assembled based on axis, yet, there is no geometry to pick for mate connector:

    So to get around this issue, I use implicit mate connectors to define the origin of each part:

    I believe this is the implicit variant of a mate connector? These 2 are now one (the mate connector and it's owner, the part). 

    I assemble using implicit mate to sub assy's origin:

    And this sub assy is working:

    Ok, now let's move this to the top assy:


    Seems to be working, maybe Philip is correct. The actual scenario had less success. Let's dive deeper.

    Why is there only one mate connector for a mate?:

    How come top doesn't show sub assy's state? Look above at sub assy state:

    Ok so top assy solves it's own state and is independent of sub assy?

    No parts should be able to move below origin based on limits:

    I'm missing something here.

    This example is actually working better than my real parts & assemblies. I'll have to go back and see what I did wrong. One thing that I'm finding I do a lot, when assembling into top assy, I pick from the part studio vs the assembly. That creates badness and I'm catching myself.

    Here is the link to this document as I made it public with edit rights:

    Just realized you can't make a public document with edit rights, why not it's versioned?


  • philip_thomasphilip_thomas Member, Moderator, Onshape Employees, Developers Posts: 1,381
    @billy2 - I will have a look - yes this is the same problem you and i have worked on before. It does work - but you're right, it's not obvious how to do it and that's our bad.

    I will cover this scenario in the webinar.

    Also - your idea about editing public Documents is one we talk a lot about around here (I personally am a big fan). Please add your name to a feedback ticket and an Improvement Request :)

    Bill, thank you for taking the time to write this up :)
    Philip Thomas - Onshape
  • owen_sparksowen_sparks Member, Developers Posts: 2,660 PRO
    philip_thomas said:

    ...Also - your idea about editing public Documents is one we talk a lot about around here (I personally am a big fan). Please add your name to a feedback ticket and an Improvement Request :)

    Hi folks.  I couldn't find an existing IR for this so have raised something along that theme here:-


    Owen S.
    Business Systems and Configuration Controller
    HWM-Water Ltd
  • VanJrVanJr Member Posts: 9
    edited September 2018
    Advanced SW user here too. Why are there no planes in an assembly? Furthermore, I cannot add a document/part that is only composed planes to an assembly. We design machines and setup planes in a PART that we use to position critical components. We then build the structure of the machine around those critical components. Mating only to features is bad (at least in SW) because if someone edits/deletes the feature the mate reference gets hosed. Planes are far more stable.
  • philip_thomasphilip_thomas Member, Moderator, Onshape Employees, Developers Posts: 1,381
    @VanJr - welcome to the forums!
    Yes, this topic comes up many times from new SolidWorks users. Onshape is different. In assemblies, we use mate connectors to define coordinate systems and planes.

    Here is a resource in the learning center that walks you through Onshape assemblies;

    <a rel="nofollow" href="https://learn.onshape.com/courses/fundamentals-onshape-assemblies">https://learn.onshape.com/courses/fundamentals-onshape-assemblies</a>

    And here is a webinar that I did just for SolidWorks users;


    Please let me know if you have any additional questions . . .
    Philip Thomas - Onshape
  • chris_pellegrinochris_pellegrino Member Posts: 2
    On the topic of not mating to planes, as done in Solidworks, how do people work out concepts in Onshape? This is extremely frustrating. What am I supposed to do with a COTS part (Commercial Off The Shelf) that is not designed specifically for one application? The mate lesson with the vise assembly is horrible because I have never in my CAD life mated parts like that. Those jaws are nominally supposed to be on center with the base. That's the purpose of mating with planes - it allows you to easily mate according to the design intent. In this case, parts being on center.

    Let's say I have a part that is primarily a revolved shape, and I know that the center of it is 1.2" from the center line (or center plane) of another part. If I can mate it in position like this, whether it is directly between the part and assembly planes, or to a sketch in the assembly or the sketch within another component in the assembly, then I can conceptualize other components around it. I thought I could do this in Onshape with an in context part that will basically have sketches in it and then mate to those sketch entities. Nope. At least it's not obvious.

    How do people do this in Onshape? Do you put the COTS component somewhere close to where you think it will end up, then design other parts that will eventually locate it so that you have actual part features to mate to and then adjust dimensions to position that COTS part where you wanted it all along? This seems backwards to me. The design intent is for that COTS part to be >HERE<, therefore I should be able to locate it there and design everything around it. Many designs are not perfect cartesian assemblies with perfectly defined features.
  • john_mcclaryjohn_mcclary Member, Developers Posts: 3,860 PRO
    edited December 2019
    You can add a mate connector to a part in the part studio or assembly.

    That can then be mated as if it were a plane/point/axis (3 things for the price of one) as you would in solidworks.

    This is also a stronger mate, as it won't matter how much you change the part geometry.
  • edward_petrilloedward_petrillo Member Posts: 77 EDU
    I use top-level design to create robot mechanisms that incorporate COTS parts and structural parts designed from scratch.  Kori Ryter's blog post on "furniture first" design provided a great starting point.  

    Onshape's approach to mating makes it easy to place multiple COTS parts (gears, pulleys, motors, screws, wheels) in fixed locations in a top-level assembly. Mate connectors can be offset from the origin at any position or orientation, and a COTS part can be constrained to a connector with as many degrees of freedom as required by the design.  Where needed, mate relationships (gear, screw, linear) can be used to show limits of motion among moving parts.  Once the COTS-only assembly is sufficiently constrained, a parts studio can be created in context that shares the origin of the top-level assembly.  Relevant geometry from the COTS components (mounting holes, shaft bores, etc.) can be projected ("used") in sketches to create new parts.  Since the assembly and parts studio share the same origin, new parts snap into position when inserted.  Edits to the positions of parts in the assembly drive corresponding changes to the parts studio when the context is updated.  Once the supporting structure is complete, the original mates that were used to position COTS parts in the assembly can be deleted and replaced with mates to the supporting structure as needed.  It's easy to trim the final complement of mates to the minimum needed to constrain the assembly. I find that this workflow speeds design in numerous ways:  fewer dimensions need to be explicitly specified, much less switching among tabs, much easier to optimize parts before adding them to the assembly.  

    I jumped from SW to Onshape four years ago.  Trying to recreate a familiar workflow from SW was often frustrating, but the emergence of in-context editing in Onshape was a huge step forward.  
Sign In or Register to comment.