Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.
First time visiting? Here are some places to start:- Looking for a certain topic? Check out the categories filter or use Search (upper right).
- Need support? Ask a question to our Community Support category.
- Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
- 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
dan_schwartz
Member Posts: 16 ✭✭
Answers
HWM-Water Ltd
You can mate to the origin, if that is what you're wanting
IR for AS/NZS 1100
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:
groups
mate connectors
mates
don't move up:
mates to origins
fixes (thanks @brucebartlett )
I don't have a good listing, Philip seems to have it all worked out in his head and has been repeating them to me.
Assembling by coordinates is a standard design pattern in use with all other parametric modelers. I think we all use them, but they're not in OS. There are other ways to put things together.
One pattern that seems to be working well, and Philip showed me, is to use mate connectors defined in part studios. A mate connector can be anywhere yet owned by any solid body. These seem to move up the assy structure nicely. My problem was that I needed to assemble to something that wasn't selectable. Using a mate connector at the part level allowed the selection needed. This might be a substitution for assembly by coordinates. I think this is @owen_sparks suggestion and it's working for me.
It's hard to explain and some good examples are needed badly, looking forward to the webcast.
@billy2 fixes also don't move up.
My general rule for stable assemblies is only ever use 1 fix or 1 mate to origin per assembly. I will generally use fixes rather that mate to origin as the fixes are easy to visually see and alarm bells go off for me if an assembly has multiple fixes.
Also, I try only ever use group mates in the first level of the assembly. If you use group mates over multiple levels conflicts can arise causing the assembly to have parts out of position.
Twitter: @onshapetricks & @babart1977
Thanks
https://learn.onshape.com/learn/article/mating-basics
One point about things 'floating away in space' - I only hear this about 10 times a day.
Here is the reason - "A 'fix' only applies to the level of assembly in which the fix is applied".
This means that if you insert this (now) sub-assembly into a parent one, those parts that were 'fixed' in the sub-assembly are now floating.
As a general rule - there should only be ONE fix in any level of assembly - usually this holds a main component on the origin.
EVERYTHING ELSE RELATED TO ITS POSITION IN SPACE (but not to another component) should be a GROUP mate.
Workflow for an imported assembly with multiple parts in a single part studio.
1) insert part studio into assembly.
2) apply group mate to all inserted parts
3) apply fix to ONE part
That's it - you're done and it always works - 3 simple steps. You may now insert this assembly into a parent one with impunity - none of the parts will move relative to one another. The entire assembly can float around (because the 'fix' only applies at the level of assembly to which it was applied) - you can now mate the assembly with ONE mate or fix ONE part.
I hope this helps
Webinar will be announced soon
Those are my general assembly rules as well. One 'Fix' or origin mate per assembly level, and only use Group mates where absolutely necessary. Everything else gets properly mated.
I've had assemblies not update correctly to part changes because a Group mate was used somewhere which caused some confusion for awhile, so I stay away from them as much as possible.
When you say 'not update correctly', is there any example you can describe or point me to? (just trying to understand perspectives and use-cases).
Thank you.
How do you handle hardware? I'm dragging them into their own assembly to keep'm out of the tree. If I need to reposition them, I'll drag'm from the assy, move'm, and then put'm back. For things that aren't stable, I'll mate those to holes so when the design changes they update. But, when things are stable, I'll drag'm back to the assy. You can see the 2 bolts that are outside my assy. These are changing position as my design changes.
One thing I use all the time is the 'move to origin' after bringing in 1st component:
Once at the origin, I fix it. This is how I deal with first component in. Then it's moving things in/out of groups after that. I use a fastener mate to position components. Then when adding to group, it throws an error, I then delete the mate. I have fairly simple assemblies with hardly any mates.
To prevent having to use a mate and then deleting it, I've asked if 'move to origin' get upgraded to position any component to any other, and then all I have to do is add it to a group. Possibly the concept of mates is just a bad idea. Yeah, maybe we need a few.
I'm thinking an assembly is mostly groups and a few mates.
Can you post your tree and show me your structure?
I can't share the document that I had the issues in, and I've deleted the group mate after that anyway, but I'll see if I can make an example document later.
I'll try and describe what I saw.
I had a subassembly that consisted of a couple of manifold blocks with custom shaped seals between them and a long brass fitting attached to one block with an O-Ring on the end of the fitting. Everything was mated with fasten mates except for the custom seals. I used a group mate for the seals and one of the blocks since they were brought in from a single part studio. This subassembly was then added into a larger main assembly.
At a later date, I changed the length of the brass fitting. When I switched back to the main assembly, the O-Ring on the end of the fitting was no longer in the correct location even though it was mated with a fasten mate (it was still in its original position from before the length change). The only way to get the O-Ring to reset to the correct location was to suppress and usuppress the group mate. To be clear, the O-Ring and the brass fitting were not a part of the Group mate, but were in the same subassembly.
Also, if I remember right, the O-Ring was correctly located in the subassembly, but not in the main assembly. So I had:
Part studio 1 ( with blocks and seals )
Manifold Subassembly (with the group mated block and seals) <-- This one had the O-Ring in the correct position
Main Assembly <-- This one had the O-Ring in the wrong position.
It took a support ticket with Lou Gallo to help me figure out what the problem was.
After that, I've pretty much stopped using group mates and just taken a little extra time to mate things properly.
I personally think the mate to origin should follow up into higher assemblies, like a plane mate would in Solidworks but I am very happy that fixes don't move up this creates very nice workflows for floating assemblies and using the fixes as local controls after initial mating is done.
You bring up a very good point, I am constantly using mates to position parts then deleting and adding a group mate. I think it would be really nice if you could position the ball on the triad on your geometry then invoke a way to drag and snap to position parts without having to add and delete mates. Is there an IR for this?
Twitter: @onshapetricks & @babart1977
Here's my test assemblies that seems to work fine with groups on groups.
https://cad.onshape.com/documents/479fb6167f8c97471312996e/w/2736ced464ca56f21255a93f/e/d66f83905cae572f36a5717e
Twitter: @onshapetricks & @babart1977
Group mates are awesome and I love using them but if you overuse them you get in trouble. My general rule is to keep them minimal and on the lower level assemblies, always look to edit an existing group mate rather than add a new one. However, if used carefully looks like they can be used on the upper levels successfully too.
Twitter: @onshapetricks & @babart1977
I will go through your other scenarios in depth tomorrow (I am at a restaurant currently).
This is all very timely as we are looking closely at the workflows with a view to improving them.
I'll try letting the part stay put and see where I end up.
As far as groups go, I tend to have a part assigned to a group, A part either moves or it doesn't. I'm not cross pollinating my groups with other groups. They seem to stay intact and maybe it's my simplistic usage of groups allowing it to work for me. My assemblies aren't that deep which might also help in my use case.
Thanks
On the positioning of parts in assemblies, I find if I can lock/fixe the position to be the same as the part studio where possible and also model parts in the part studio's in position where possible, this makes it very easy to add new parts to the assemblies and the group mates.
Ideally, however if Onshape are looking at these workflows , it would be nice to somehow get the group of parts (subassemblies) automatically from the part studio with instances from the part studio without having to drop the parts in assemblies and modify group mates.
Twitter: @onshapetricks & @babart1977
I just tried to recreate my problem, and couldn't get the simple example to fail. I'm not sure if that's due to updates in Onshape or what.
I did look back at my support ticket, and was slightly wrong in my previous message. The assembly with the group mate (the main assembly) was the one that would not update part positions that were mated in the subassembly until the group was suppressed/unsuppressed.
I can message you the support ticket number that has all the details and screenshot if that helps you.
https://cad.onshape.com/documents/479fb6167f8c97471312996e/w/2736ced464ca56f21255a93f/e/d66f83905cae572f36a5717e
Twitter: @onshapetricks & @babart1977
Yes, that is what was happening to me except I only had a single group mate at the top level. I was told that the group mate was preventing downstream mates (in lower subassemblies) from updating at the top level. Suppressing/Unsuppressing fixed it.
https://cad.onshape.com/documents/70f3cbb4d5530e20ad68516b/w/08522aa5dce52f34914e687e/e/2f2889d0a18f9e7ab7976ac0
I have a subassembly and a main assembly. There is a group mate in the main assembly between the seal and the subassembly. When I changed the length of the fitting and added a plug to the subassembly, it is not updated in the main assembly. Suppressing/Unsuppressing the group will fix it.
Understanding the relationship between the partstudio & assembly is more complicated than in the past. I'm trying to keep it simple and the assembly moves things and instances things (make many copies). Most partstudios have assemblies that end up in the top assembly. Once this become stable, I'll move it to it's own document. I will establish a top document that pulls in the other documents. Right now my top is a folder (the project) containing multiple documents. I have established a few global documents.
My projects are fairly simple and not that deep so this easy approach is working.
The idea that newly added parts in a partstudio will appear in the correct position in the assembly, well, I gave up on that idea a long time ago.
To me personally, that is a flaw or deficiency. It's just a group of "things", it shouldn't matter if that thing is a single part, a subassembly, or another group.
I shouldn't need to think about where those "things" come from first before grouping them together just because of how the software works under the hood.
In other programs, I can just group things and move on without worrying about it. That's what I want to do in Onshape.
Alternatively, the software shouldn't allow me to group things that could cause breakage later that might not be noticed.
Twitter: @onshapetricks & @babart1977
@Kevin_Snyder is totally right
@brucebartlett - that is an excellent enhancement request - in fact, please submit it as a bug!
This is an excellent thread and you are all giving me excellent material for the upcoming webinar
"Onshape assemblies for SolidWorks users"
I'm just trying to figure out how to use OS to design products. I'm not sure it's clear how to structure a project in OS that'll handle all the requirements for developing a great product.
Possibly after your "Onshape assemblies for SolidWorks users", you can share with us one of your successful projects and detail out your structures you used to create a great product using OS?
Would you spend an hour with me over a GoToMeeting so that you can show me what you feel is the natural, discoverable path in Onshape?
Clearly we are doing something 'sub optimal' if users are not getting the optimized workflows that we believe exist ("its us, not you")
my email is pthomas@onshape - just let me know when works for you.