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.

Assemblies

billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 2,071 PRO
edited May 2015 in Using Onshape
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. 




Tagged:

Comments

  • devon_sowelldevon_sowell Member Posts: 52 ✭✭
    edited May 2015
    Bill, are their settings set to not allow In-Context relationships? And they don't know it. You know where to look...Tools, Options, System Options... :-)
    Devon Sowell
    Engineering Consulting Partner
    Professor, Engineering Technology, Palomar College, San Marcos, CA
    sowelldevon@gmail.com
    760 809 9046
    CarlsbadCAD Carlsbad,CA
  • traveler_hauptmantraveler_hauptman Member, OS Professional, Mentor, Developers Posts: 419 PRO
    @billy Training is a constant issue. Since it's fresh in your mind are there any software features or UI hints that would have helped them do the right thing?

    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.)
  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 2,071 PRO
    Devon that's not turned off and I want mounting holes to move with components when components are moved. I like assembly references (in-context references). I use them sparingly and intelligently.

    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!



     
  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 2,071 PRO
    edited May 2015
    Traveler-

    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.




  • traveler_hauptmantraveler_hauptman Member, OS Professional, Mentor, Developers Posts: 419 PRO
    @billy In my solidworks my approach is to use two assemblies; a flat one for in-context design and a hierarchical one that reflects assembly order and how subassemblies are stored on the shelf. I add a little magic to insure that I can easily remove parts from the context when needed for re-use in other designs.

    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.
  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 2,071 PRO
    Traveler-

    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.



  • 3dcad3dcad Member, OS Professional, Mentor Posts: 2,475 PRO
    Good stuff. As an self studied, only partly designer I don't always have courage questioning the fundamentals (like dividing modules into part, assy, sheetm, drawings) of cad package. But reading @billy 's story I noticed I'm forced to drag all my stuff into assembly only because there is ca. 10% moving parts in each design. But if I could do it all in same workspace (don't care of the name it's called) it would be much more intuitive and save time. And the dressing for this cake would be creating manufacturing drawings from this very same workspace.

    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. 
    //rami
  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 2,071 PRO
    edited May 2015
    Yes, 5 axis machining has changed everything, one setup and goto town (machine a really crazy part).

    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.




  • andrew_troupandrew_troup Member, Mentor Posts: 1,584 ✭✭✭✭✭
    Well, I for one don't think I have the intellectual horsepower to cope with recombining the domain of the Part Studio with that of the Assembly.

    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?
  • juan_avilesjuan_aviles Member Posts: 78 ✭✭
    billy said:


    Having 2 environments to develop a product isn't friendly. Let's combine'm, there's no need for part studios & assemblies.



    This is what gives me the most troubles with Onshape, and why I'm having such a hard time fully jumping on-board. Not being able to create a new part or edit an existing part in the assembly frustrates me.  
  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 2,071 PRO
    juan-

    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?




  • traveler_hauptmantraveler_hauptman Member, OS Professional, Mentor, Developers Posts: 419 PRO
    I think what you are saying is that you intend to roll all the functionality of the assembly tab into the part studio and add some motion tools on top?
  • andrew_troupandrew_troup Member, Mentor Posts: 1,584 ✭✭✭✭✭
    @billy

    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.. 
  • shashank_aaryashashank_aarya Member Posts: 265 ✭✭✭
    I  would like to share a type of top down approach which I used while designing assembly in Autodesk Inventor.

    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. 
  • peter_hallpeter_hall Member Posts: 196 ✭✭✭
    Personally I prefer having the parts studio for designing the parts and the assembly studio for bringing the parts together with the mates. Crossing things over I find confusing , I tried the current mates button in the parts studio and found it of no benefit. Maybe it is of use to more experienced designers, but for me I will create parts in the parts studio and then bring them together in the assembly studio.
  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 2,071 PRO
    I design a lot of automated equipment with with 10 to 12 degrees of freedom (things that move). Designing (layout creation) in a part studio with a static position works fine for me and keeps the whole idea of assembly references at bay (not sure that was ever a good idea).

    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.


  • 3dcad3dcad Member, OS Professional, Mentor Posts: 2,475 PRO
    @billy What do you think about animated movement from mate connector to another? This is something I was thinking with 6ax robot cell modeling..

    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.
    //rami
  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 2,071 PRO
    3dcad- 

    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.



  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 2,071 PRO
    edited August 2015
    3dcad-

    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.


  • andrew_troupandrew_troup Member, Mentor Posts: 1,584 ✭✭✭✭✭
    Thanks for laying it out, @billy

    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 ...
  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 2,071 PRO
    edited August 2015
    Andrew-

    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.


     
  • malay_kumarmalay_kumar Onshape Employees, Developers Posts: 93
    This is a very interesting discussion and I learn something new every time i read it :smile: 

    Some comments:
    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..

    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.. 

    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
    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????). 

    billy said:

    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. 
    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. 



  • andrew_troupandrew_troup Member, Mentor Posts: 1,584 ✭✭✭✭✭
    This is a very interesting discussion and I learn something new every time i read it :smile: 

    Some comments:
    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..

    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.

    > I imagined this environment to be an enhanced temporary facility within the Part Studio, to allow previewing motions ALONG PATHS rather than using mates. This would facilitate setting up sophisticated interactions with a minimum of modelling.
    I imagine extra constraints being created from sketch entitites to those paths, which would be created, viewed, edited, and be operational 
    only within that environment.
    I don't like the idea of bringing mates into the PS:  I think mates should continue to be restricted to "proper" assemblies, because there will inevitably be conflicts otherwise, and because of the cognitive load on the designer. It's very difficult to design models which colleagues can "drive" or, harder still, amend, in sophisticated modellers which offer many ways to achieve the same result.
    So I think it would be worth considering if something along these lines should be implemented as a sort of operational cul-de-sac, not interacting with the model subsequently  (except it might be used by the application to suggest mates per my comment below, or in some other way to
     facilitate building a "proper" assembly once the motions were satisfactory.)

    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.. 

    > I meant that eventually I think it would be great if the paths could be 3D, to permit setting up "space linkages", but I think the initial release should be 2D, for planar paths.
    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
    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????). 

    > I don't understand your question well, but I think probably the second, per the last part of my first reply above. When I said "Turning the PS into an assembly" I was meaning: importing part groups into a new assembly, and providing "proper" mates between them to achieve the same results which had been previewed using the "quick and dirty" PS motion simulation facility discussed above.
    By this time the design options would have been distilled down to one "winner" (or a small short list), and the extra effort of providing a mating scheme would be justified.
    The idea of the app suggesting "tentative mates" was really just hand-waving on my part, because I don't have 
    clear ideas what sort of assistance the application could realistically provide for this transition from PS to Assy.

    Thanks for engaging, @malay_kumar



Sign In or Register to comment.