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.
Assemblies
billy2
Member, OS Professional, Mentor, Developers, User Group Leader Posts: 2,071 PRO
I suspect that onshape's assemblies are being refactored and improved. A design review happened yesterday and I thought it would be a good use case scenario for onshape programmers or who ever defines this product.
The design review work is being done in SW, it's a SW story. I'm the lead and control the top level assembly and I have 2 young engineers working with me. We have a structure that allows us to collaborate and everyone is trying to make a better design simultaneously.
I can go over our structure, if necessary, but for now let's just say their assemblies magically appear in the top assembly.
Yesterday they both gave me their latest assemblies and I opened the top level assembly. I needed to make minor changes to their work and double clicked features in their models to make changes. I wasn't able to make any meaningful changes. I began to drill down into their assemblies and into their parts to understand how to make the changes I needed. Turns out none of their parts were built to behave "in context" of an assembly and some features were just poorly defined.
I pushed my chair back, looked at both, asked if they saw what I was doing to their models and if they saw my frustration. They needed to create designs that could be updated in a predictable way from the top assembly. They have the assembly locally and can anticipate most of my changes. They need to improve their design intent to match the behavior in the top assembly. I'm not asking for 100% but maybe 1 in 10. I mean at least freak'n try.
I've asked them to improve their modeling techniques to allow me to make changes from the top level. We'll see tomorrow during our next design review.
Some would call this 'top down design' which I don't subscribe to or believe in. This is how you should design, from the top. You have to be able to design in the assembly to make great products. You start changing by 10mm, then 1mm, then .1mm and your design becomes symbiotic and integrated. The faster you can make these changes the faster you get to a great product.
I'm a good engineer, my projects are usually on time, on budget and they're pretty good. Typically better than the guy down the street.
I need onshape to offer this functionality so I can be on time, on budget & on shape.
The design review work is being done in SW, it's a SW story. I'm the lead and control the top level assembly and I have 2 young engineers working with me. We have a structure that allows us to collaborate and everyone is trying to make a better design simultaneously.
I can go over our structure, if necessary, but for now let's just say their assemblies magically appear in the top assembly.
Yesterday they both gave me their latest assemblies and I opened the top level assembly. I needed to make minor changes to their work and double clicked features in their models to make changes. I wasn't able to make any meaningful changes. I began to drill down into their assemblies and into their parts to understand how to make the changes I needed. Turns out none of their parts were built to behave "in context" of an assembly and some features were just poorly defined.
I pushed my chair back, looked at both, asked if they saw what I was doing to their models and if they saw my frustration. They needed to create designs that could be updated in a predictable way from the top assembly. They have the assembly locally and can anticipate most of my changes. They need to improve their design intent to match the behavior in the top assembly. I'm not asking for 100% but maybe 1 in 10. I mean at least freak'n try.
I've asked them to improve their modeling techniques to allow me to make changes from the top level. We'll see tomorrow during our next design review.
Some would call this 'top down design' which I don't subscribe to or believe in. This is how you should design, from the top. You have to be able to design in the assembly to make great products. You start changing by 10mm, then 1mm, then .1mm and your design becomes symbiotic and integrated. The faster you can make these changes the faster you get to a great product.
I'm a good engineer, my projects are usually on time, on budget and they're pretty good. Typically better than the guy down the street.
I need onshape to offer this functionality so I can be on time, on budget & on shape.
Tagged:
1
Comments
Engineering Consulting Partner
Professor, Engineering Technology, Palomar College, San Marcos, CA
sowelldevon@gmail.com
760 809 9046
CarlsbadCAD Carlsbad,CA
For myself, I think my in-context needs will be met when inter-studio relationships are added in (Part studios are a design centered assembly and I fully expect to be able to have sub-part-studios eventually so that the complete design can be done in a single context when needed.)
It's more along the lines that there's 20 ways to build a part. I want those that work from the top level. It requires a discipline while building models and being aware of where they are used so they update properly. These guys aren't beginners, they're experts. I'm pushing them further. I want them to deliver me something I can use and don't want to have to redefine all of their stuff. Many people have survived working with me, most are friends.
If you've ever optimized a design from the top, it's fast. They're hard to build but wonderful to work with. When we did demo's, we always tried to start with the most robust model and then amazed everyone.
As a designer, it's the proof parametrics rule!
Yeah It's called it nazi-training, they'll get it. One has worked on another project with me and understands the importance of designing in an assembly. They want to learn, that's the important thing. This time, they're starting from scratch. No seed files from me. Tomorrow will be a different day.
I think what I offer them is direction, it's not except-able to build a bunch of parts and stick'm into an assembly. Show me the structure and how it all goes together. It's like an orchestra, when it works it's music, when it doesn't work it's noise. I would like OS to sing. It's the beginning and now's the time to get it right, not 5 years from now.
I went through a SW multi-body stint where everything I designed was in a part file. One file, you gotta love that. But nothing moves. Then, after spaceclaim, I started playing around with virtual parts. Now most my stuff is a combination of multi-bodies, virtual and a few external files. Those assemblies I hand-off to these guys are external references. It's rare that my projects have more than 10 files associated with them. Some complain that you can't make drawings from virtual parts. There's ways around that.
Currently I use a part studio as my layout also, just like you. But are you telling me that my linear actuator can't actuate? I understand that an assembly is nothing more than transformation stacks and keeping track of all that is only for masters like Dave C. Why can't we have animations in part studios? I don't want to drag my parts around in an assembly. I want my machine to go through it's motions. Even straight rotates and translates is fine with me. If you can tie bodies to sketches, then you get your 4-bar linkage and something visual to understand. But I really don't want that. I'd rather my layouts play like an animation and all the references are computed at time 0. There's gotta be a better way to do this rather than copying that crap PTC came up with a long time ago.
My point, if we have parts & assemblies, let me design in the assembly.
So for me, part-studios are flat in-context assemblies for design and Assemblies are what one builds their BOM and does FEM or motions studies with.
If having two windows open, side by side, one with the assembly for viewing the motion and one with the part studio for updating the design does not work for you, I definitely respect that. It's really hard to manage screen realestate.
For me though, this is a good division. I never have to scratch my head wondering where something that affects the design is located. It's never in the assembly. Once part-studios are fleshed out with equations, multiple imports, and references to other part-studios, it should all work nicely for me.
All that said, I am all for software that lets everyone work in the way the suits them best.
I do that also. In SW I export the bodies into a different folder and then assemble them. I guess we can do the same in OS, at least that's how I've tried to do it.
But....this is twice the work. Typically you build the assembly after your part studio (multi-body part) and a lot can be lost in the time difference. I'm not sure it's ideal. You end up flipping back and forth trying to figure out your next move. Makes my dizzy. Maybe I should install a seat belt on my chair to prevent me from loosing it and falling to the floor.
In your scenario, what if you had a team of engineers working with you. Do you pass 2 instances around? Do you only share the flat one and make your engineers look over your shoulder to see the project move? How do you collaborate with your dual data structure?
I was hoping, still hoping for something new. Something modern. Something that pairs up with this fancy internet CAD that's being built. Something the competitors haven't figured out. Something that can't be improved.
Having 2 environments to develop a product isn't friendly. Let's combine'm, there's no need for part studios & assemblies.
It would be same evolution that machinery have had; in old days one machine of the production line drill vertical holes, another one does horizontal drilling, then there might be some special machine and in the end something still must be done by hand. Currently, everything is done in one machine with one grip and that has changed the game - you don't need to drag pieces through un-necessary machinery if there is no need for such workings.
Imagine how nice it would be to learn and work in only one environment rather than bouncing through parts, (sheetmetal), assembly and drawings.
I'm a little timid also (not really). Please ask questions and post comments, I want to push design software to the next level and I think this is the best place to have these discussions.
It's the answer to a prayer, for me, to separate the in-context capabilities of the former from the motion capabilities of the latter. Failing that, I don't know how I would determine whether and how my in-context features should move when the part relativities change in the combined domain.
But maybe there's a way of toggling the single workspace between those two modes, so that a given workspace is only dealing with either one or the other domain?
I think it's fixed
With the new functionality (part studio in part studio) I think I'm ready to rock and roll with onshape.
Layouts will be done inside a part studio. Motion will occur in an assembly. You'll have to manage 2 tabs for designs that move. I can't justify this but oh-well.
I'm a big fan of multi-body part layouts in SW and I'm familiar to this style of design. I had to push my bodies into an SW assembly to see them move. We'll have to do this in Onshape as well (it's easier in OS than SW).
I did migrate to virtual parts inside SW and preferred them when laying out a project. The rejection from other SW users left me abandoned to my virtual methods and isolated me the traditional bottom-up modelers. It's funny how stuck in mud most SW designers are. Even the SW pundits seem lost to me.
Now in onshape I'll get back to the multi-body design approach creating layouts in part studios. This works and you'll have total associativity. This is a good design pattern and it's worked in the past.
How do you structure a huge collaborative project with multiple engineers? Don't know yet, but it's going to fun.
Assemblies don't work for me
As an OS developer, I hope to add animations to part studios. I'm not a fan of assemblies as my designs don't do what assemblies build.
Here I've moved all these parts to the center of the screen and the assembly is ok with this:
But the design won't do this / can't do this.
This is state of the art in CAD modeling. Now watch everyone's going to chime in about collision detection and limit mates.........
Me, I'd rather have a part studio animation that moves this component from the one point to the another in a time frame. Stack up multiple time frame sequences. Run some simultaneously. Let me play my part studio and watch my layout move like real life. All design associativity happens at time 0.
I can tie motion to a sketch and have d-cubed solve linkages and possibly find some physics engine to compute some "dynamic motion" information.
My question to you is this: would you pay $10/month for such a tool?
I'm intrigued that you are still pitching for motion inside the in-context subassembly workspace.
To me, Onshape's separation of these workspaces (in-context vs assembly motion) instantly struck me as a combined "Ah-ha!" and "why didn't I think of that?" insight of major proportions, and nothing I've seen since has shaken that, for me.
You say further up this thread "I want mounting holes to move with components when components are moved" - by which I understand you to mean you want discretionary movement, by the designer, to move the mounting holes automatically when the designer relocates the component.
I don't think of that as assembly motion, and I'm pretty sure you don't, but I think the discussion can derail if we don't separate the two types of movement.
Let me clarify that when I say "motion", I'm not referring to changes to the permanent location of one part relative to another which it normally moves with, but motion arising during the operation of the mechanism or system represented by the model.
The first time I used Onshape, I saw a new paradigm.
Part relativity, wherever it was intended to be set in stone once the design was signed off, was established in Part Studios.
This was done simply and elegantly, without recourse to fiddling with mates.
In-Context features are expected and trivial. Mates ARE NOT AVAILABLE
Assembly motion was controlled using mates, in "Assembly" workspaces.
Mates are optimised for assembly motion. In-Context features ARE NOT AVAILABLE
Solidworks (and others) use mates for both these very different types of relative motion, and because they co-exist alongside in-context features, it means that intimate knowledge of the designer's intentions is a prerequisite for working with an Solidworks assembly relying on such features. And even that, whilst being necessary, is a not a sufficient condition for success: we also need intimate knowledge of their individual philosophy of relationship management, for in-context relations. Crisp philosophies are essential because the working environment is blurry.
One symptom of failure (among unaccountably many) is that, in the absence of rigorously enforced disciplines on top of Solidworks, Solid Edge, Pro-E etc etc, features can wander around on parts, in unintended and perverse, and sometimes undetected ways, as a result of assembly motion.
Such disciplines are very difficult to establish in a peer collaboration structure, and even in a hierarchical structure, cannot arise without an overarching, longstanding and consistent educational regimes. Which is why many, perhaps most, large design offices have discouraged (and sometimes forbid) in-context design of the sort usually referred to as "top down", except under special, tightly controlled circumstances.
Maybe you've always had the luxury of such disciplines, but if not:
As an evidently thoughtful, smart operator, it seems to me you must have something in mind, as to how a single environment combining assembly motion and in-context sharing of sketches and features could be architected to work differently and better than other CAD providers have made it work?
If so, have you laid it out elsewhere on this forum? and if not, it seems to me this would be a great time to do that, if you have the time and inclination..
1. At the beginning one basic and reference part say "Base plate" is designed in which positions for other mating parts are already defined. After that base plate is called in assembly and fixed at default position.
2. For designing next mating parts there is an option itself in assembly as "Create new part" Using this option will allow you to create a new part by taking assembly references which can be defined from any datum plane, axis or part geometry.
3. So, new mating parts to the base plate are created in assembly itself so that any change in length, width and height of base plate will update the positions of other mating parts.
Inventor also have the multi-body part modeling approach but it is not as simple as in Onshape, so generally in Inventor, top down approach is used in assemblies. After creating assemblies with this method relative motions can also be given through Inventor studio which is separate tool.
So, @billy I think you are saying the same thing which Onshape requires in assembly. But my experience of top down approach is more user friendly in Onshape than Inventor, since every time it needs to activate particular part/sub assembly while making any changes. But in Onshape there is no need of activation of any part in part studio for making changes. Also Onshape assembly constrains to define mechanisms are very simple and user friendly than what I found in Inventor studio.
Basically, I think we all agree that assembly references are a bad thing. Look at all the problems it dredges up.
But I need my layout to move so I have to create an assembly. Now I have 2 tabs, a part studio for my design and an assembly to move things around. Ok I get this and it's ok.
My beef with assemblies is that I don't want to click on something and move it. With 10 to 12 degrees of motion, that's a lot of stuff to move and most of the time the components move in ways not possible. It's easy to make mistakes. Now you can say I screwed up, but I've lived in the drag around assembly space and find it unfriendly when designing automated equipment. It's a lot of work insuring that components won't hit each other.
I would much rather play a moving sequence of all the degrees of freedom. I can look at the motion from the top, side and front views. Dragging things around while rotating the assembly isn't optimal, a real pain.
I know what an assembly is, I know what assembly references are, I've created very large layouts and I've managed many projects with multiple engineers.
I think I'd prefer animations in a part studio vs. an assembly. It just seems like animations would be a better tool to use for designing.
I like your ideas, to simplify old workflows. I hope we will someday have a cloud cad without modules like part, assembly and drawings - instead we could just have 3d design studio with smart enough UI to handle all 3 traditional modules.
The robot would require 3D vector transformations. My simplified sketch bound transforms I'm thinking about wouldn't come close to your representation of the robot.
I was thinking that a four bar linkage could be coupled to a 2D sketch and let it solve those locations. Your robot would require a 3D sketch.
My 1st cut at this would have translations and rotations bound to a sketch. Just 2d motions bound to a 2d sketches that are thrown around in space.
think of a gimbal:
3 rotations
0 translations
now how many sketches would that take? 2 sketches. Look at the orange line,
I can define it in any direction which is basically a gimbal using only 2 sketches. Now if each sketch took 0 seconds to solve, I think you could stack up enough sketches to achieve your robot & an animation. I just don't know who could figure all that out. It might be better to wait for a 3d sketch.
I'd be happy with a partial solution of simple translations & rotations for now.
I expected it to be worthwhile and thought-provoking to better understand what you envisage, and I'm not disappointed.
This will take some thought...
At first encounter, I like the idea of an 'informal' way of previewing relative motion, with minimal input.
Perhaps, but not necessarily, this could happen within Part Studios.
If it did, I'm thinking this could happen after switching to a temporary (but savable) environment, in which tentative motions were simulated.
The positions would obviously need to revert (when switching back to the PS proper), to avoid any ambiguity about the fixed part relativities, on which in-context features rely.
I also like the idea of rolling it out using 2D sketches to define the paths and limits, and am excited by the prospect of it being expanded in future to 3D sketches.
I guess at some future date it is even conceivable that, on turning the PS into an assembly, tentative mates would be offered for at least some of the motion paths saved in the PS, to cut down duplication of effort and help consistency
The least attractive aspect of this particular implementation, for me, is the notion of having two concurrent and potentially competing places in which to specify relative motion of parts, and perhaps this would be less problematic if the simulation of motion happened in the nascent assembly, rather than the PS.
A countervailing advantage of doing it in the PS is that it may remain possible to keep sketches out of assemblies (which appeals, on grounds of simplicity).
Interesting possibilities, of which we're only scratching the surface, no doubt ...
I found the motion in SW hard to use. Hopefully here it could be easier to define.
I would like to hit a play button and my machine moves through a range of motions while I change the views.
I guess I want to watch my device operate virtually without having to drag it around.
Some comments:
The above seems very close to a desire to go back and forth between assembly and part studio kind of environment. May be we can make it easier to turn a multi-part Part-Studio to (sub)assembly but we also have to consider cases of standard parts/standard sub-assemblies etc.
what do you mean by "idea of rolling it out using 2D sketches to define the paths and limits.". Keep your ideas and use-cases coming..
Do you see yourself duplicating effort is PS and assembly in Onshape or are you talking about if and when you will be able to do layout motion in Part studio (using 2d or 3d sketch????).
There is no reason the above cannot happen in assembly. I would like these kind of motion profile to be created/imported and played in assembly environment.