Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape, CAD, maker project and design.

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.

Parts built in-context do not end up where expected when inserted

billyzelsnackbillyzelsnack Member Posts: 45 ✭✭
The above file should show you in "hip roll LR" part studio with "Context 1" of "Assembly" enabled.
Notice the two cube parts 16 and 32 and where they are relative to the other parts.
Click on "Go to assembly."
Zoom out so that you can see the entire model on a stick.
Try and insert those two cubes (Part 16 and Part 32) from "hip roll LR."

Why are the parts inserted upside down and at the origin? I built the other parts of "hip roll LR" this way and when inserted they positioned and oriented in the assembly as expected.

Best Answers

  • billyzelsnackbillyzelsnack Posts: 45 ✭✭
    edited September 15 Accepted Answer
    The first thing I do is delete the initial part studio and do a "Create Part Studio in context" from the assembly and choosing the origin is the only option at that point. That initial part studio typically does not even end up with a context until after I have other parts that interact with it.

    This is a new workflow for me and I'm learning more little details all the time so I probably just did something dumb early on in that file and I am just going to chalk it up to learning experience. I'll close this thread out and if it shows up again I'll post again and try to build a simple minimal example.

  • billyzelsnackbillyzelsnack Posts: 45 ✭✭
    Accepted Answer
    I figured out a way to get the insertions positioning where I expect them to again. All I had to do was create at the top of my feature tree (not sure if the top is required) a sketch with a single point at the "assembly origin" (which I happen to have that stick geometry at) and then add the sketch to the assembly and set it as the primary instance. This will pop the part studio origin to that "assembly origin" and from there the insertions will be positioned as expected. If you want you can change the primary instance to another inserted part from that part studio and then delete the single point sketch and insertions will continue to be positioned as expected. I feel a lot better knowing I can fix this issue when it shows up.




Answers

  • billyzelsnackbillyzelsnack Member Posts: 45 ✭✭
    edited September 14
    I noticed that I had built the cubes off of the Front plane and thought that maybe the default planes were special and lived outside of contexts. I tried creating a plane directly off a ghosted context part to get the little left arrow next to its feature and then building a part off of that but it gave me the same result with the new part inserted near the origin rather than where they where within the part studio.
  • billyzelsnackbillyzelsnack Member Posts: 45 ✭✭
    I ran out of ideas so I tried just deleting the context, creating a replacement, and fixing up all the broken context arrows. It actually was pretty fast to do so but I still ended up with the same results of inserted parts showing up at the origin. After that failure I just started over and was very careful when I started to not move the pelvis around as everything is built off of that. Also I am trying to absolutely minimize referencing context geometry whenever possible. So far so good, but I'm a little anxious that it's going to break at some future point.
  • NeilCookeNeilCooke Moderator, Onshape Employees Posts: 1,551
    @billyzelsnack when you create a part in-context, the origin and planes you see are for the part studio, so when you insert it into the assembly it will appear at the origin of the assembly. To do what you want, select the assembly origin when you create the part in-context. It will appear at some “random” place in the part studio away from the origin and planes but will insert into the correct location when your go back to the assembly. 
    Neil Cooke, Director of Technical Marketing, Onshape Inc.
  • billyzelsnackbillyzelsnack Member Posts: 45 ✭✭
    edited September 15 Accepted Answer
    The first thing I do is delete the initial part studio and do a "Create Part Studio in context" from the assembly and choosing the origin is the only option at that point. That initial part studio typically does not even end up with a context until after I have other parts that interact with it.

    This is a new workflow for me and I'm learning more little details all the time so I probably just did something dumb early on in that file and I am just going to chalk it up to learning experience. I'll close this thread out and if it shows up again I'll post again and try to build a simple minimal example.

  • billyzelsnackbillyzelsnack Member Posts: 45 ✭✭
    Accepted Answer
    I figured out a way to get the insertions positioning where I expect them to again. All I had to do was create at the top of my feature tree (not sure if the top is required) a sketch with a single point at the "assembly origin" (which I happen to have that stick geometry at) and then add the sketch to the assembly and set it as the primary instance. This will pop the part studio origin to that "assembly origin" and from there the insertions will be positioned as expected. If you want you can change the primary instance to another inserted part from that part studio and then delete the single point sketch and insertions will continue to be positioned as expected. I feel a lot better knowing I can fix this issue when it shows up.




  • owen_sparksowen_sparks Member, Developers Posts: 1,612 PRO
    This shouldn't be necessary, there's something odd going on in your workflow.  Not once have I had an ICE part come in at the wrong place so I feel there is an easier solution somewhere.

    Owen S.
    Production Engineer
    HWM-Water Ltd
  • billyzelsnackbillyzelsnack Member Posts: 45 ✭✭
    I am glad that I now have a tool to dig my way out of whatever hole I may have dug myself into.
  • billy2billy2 Member, OS Professional, Mentor, Developers Posts: 991 PRO
    edited September 19
    @billyzelsnack

    I'd use 2 in-contexts and each hip n roll would have it's own primary view. One for each hip n roll. This will prevent the flipping you're experiencing. With 2 in-contexts, you won't have to understand primary views.

    I don't like one context for a part studio and have experienced the same problems you describe.

    Philip suggested a named position in the assy to help control the state for the incontexts, this helps. Most my in-context have to deal with mounting holes for gearboxes, motors and other items. If the context is based on a position when something can move, then save that position.

    I'm thinking a context for each part. This is my new thinking and it's working so far. I have many contexts and could combine some if I put some thought into it.

    I would change up your entire workflow. I'd have a part studio with everything in it. Not sure why you have 2 part studios. I'd have sub assemblies instead of part studios. I'd break your top assy into more manageable chunks. I'd start naming parts to avoid confusion.

    One of the things that I do inside OS is to get the sub-assembly's to function using limit mate features. Punch each mechanism out in it's own smaller subassy. Then when they're brought into the top, those mates work. It's truly like building up something on a bench getting the subassy working and then bolting into the top. I've got some amazing mechanism designs using this work flow. Get the pieces working correctly and then aggregate them in the next level up. I've even made assignments in the higher level to further control motion. ie.. the sub-assy controls some aspects and then the top adds further control. I've never seen this in CAD before and think OS is great for this assy aggregate approach. It's the closest thing to assembling real life mechanisms and designs.

    Your mechanism looks like a lot of fun to build up. 

    Me, I'd have one part studio, many working sub-assy's, multiple contexts and start naming your parts.

    Wish I could help more, but I'm busy working trying to get my company to do the same thing I just outlined.




  • billy2billy2 Member, OS Professional, Mentor, Developers Posts: 991 PRO
    edited September 19
    Thinking more about your project: I'd keep the multi-part studios and drop in-context. You don't have to use in-context. Delegate sub-assemblies to your part studios. Just like you're doing, add some sub-assys. Don't roll it up in one assembly & use a sub-assembly for each part studio. Then roll them up to the top. Still get your sub-assemblies working before rolling up, This is really cool when you get motion to inherit to the next level up. Works really well. Look at named positions to help control key points in either assy.

    Now for the radical idea. When in an assembly, double click a part from the feature manager, this ghosts the assembly in the part studio. A context is not necessary for this behavior and most of the time it's what I'm wanting. I just want to see everything my part studio. Now for the 1,000 arrows flung into my back. When you create a context, you have to continually update for things to show correctly. Not true with double clicking. To me, double clicking is faster and in most cases this is preferred. 

    Now don't get me wrong, I'm an old time top down designer who's mastered project datum creation. Top down is everything for a piece of equipment. especially when assembling automated equipment. I mate shafts to shafts and let the CAD figure out how to update the mounting points. I never assembly a gearbox by it's mounting holes. I worry about the equipment functioning and can move things around easily based on functionality. I let the CAD handle the bracketing details. This, to me, is in-context.

    I'm thinking you're wanting to break your project up to control it, yet you want to see everything. Try the double click and compare to the in-context. I think you'll like the double click method. Use part studios to control the relationship between parts that need to be related. In-context may be over kill. 






  • billyzelsnackbillyzelsnack Member Posts: 45 ✭✭
    Up until very recently I have avoided assemblies entirely and instead used complicated configured derived chains of part studios that allowed me to gain performance back when building slowed down too much. Now I've kinda went the other way with simple part studios for each multi-part rigidbody and mates connecting them for articulation.

    I am constantly changing my workflow and it's not unusual for me to restart a document just to try a new one. The double click method seems handy and I should give sub-assemblies another try now that I have a better handle on assemblies in general. I'm always playing this game between under and over organizing things. I can never make up my mind.
  • billy2billy2 Member, OS Professional, Mentor, Developers Posts: 991 PRO
    @billyzelsnack ; been there, done that.

    After 4 years, I'm still changing up my work flow. 

    One thing that I'm doing is starting the assembly and part studio at the same time.  I know I'm going to use them both eventually, so I just start that way. I use a lot of downloaded parts and deriving them into a part studio wasn't working for me. Double clicking between the 2 tabs is hard to explain, but it works and I'm not creating in-context relationships. I just want to see everything when designing parts.

    If you come up with something new, please let me know


Sign In or Register to comment.