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.

Move sub-assembly or part in an assembly

New Onshape user here. I'm trying to do something that seems like it should be so simple. I have a small assembly that I've just inserted into a new empty assembly. Just getting a feel for things, I see I can freely click to move the sub-assembly in space. So then I want to move it so that a particular vertex in the sub-assembly is on the origin. The obvious thing seemed to be to use the transform tool, but it's not available. Doesn't matter whether I have the entire sub-assembly or an individual part selected, that tool isn't available.

I also read about using the triad manipulator to perform a transform. I can summon it and move it wherever I want on the sub-assembly. And I can use it to transform linearly as long as I know the precise distance I want to move it. But that doesn't help. I need to perform a point-to-point translation between known points that are an unknown distance apart.

I also read about a "fix to origin" option but that doesn't appear available either (and doesn't seem right anyway).

I feel like I'm missing something fundamental about why Onshape really doesn't want you transforming in an assembly. I'd get that for subsequent parts/assemblies I insert where it would make more sense to mate them. But it seems like I should be able to position and orient the first part/assembly wherever/however I want. TIA.

Best Answer

  • martin_kopplowmartin_kopplow Member Posts: 1,275 PRO
    Answer ✓

    You don't transform in an assembly, you constrain. So pick a feature of your model, check if there is an implicite mate connector ar the place (it usually is, if not create an ecxlicit one) and then contrain that MC to the origin.

    It is wise to set up proper constraints in the sub assembly tab before, so the whole subassy moves as one unit.

Answers

  • martin_kopplowmartin_kopplow Member Posts: 1,275 PRO
    Answer ✓

    You don't transform in an assembly, you constrain. So pick a feature of your model, check if there is an implicite mate connector ar the place (it usually is, if not create an ecxlicit one) and then contrain that MC to the origin.

    It is wise to set up proper constraints in the sub assembly tab before, so the whole subassy moves as one unit.

  • chris_martin444chris_martin444 Member Posts: 8

    Thanks that helped. I went back and was careful to both fix the first part in my subassy and mate the other parts to the first part. I also mated that first part to the origin in a way I was happy with. Then when bringing that subassy into the main assy, adding a mate connector to the instance origin and then constraining that MC to the global assy origin worked great.

  • chris_martin444chris_martin444 Member Posts: 8

    Thanks! Going back to my subassy and 1) constraining the first part to the subassy origin in a way that I liked, 2) fixing that first part, and 3) mating the rest of the parts to the first part enabled this to work like you described. I was able to go up to the main assy, insert the subassy, move it by clicking in the canvas (just to demonstrate this works), add a mating connector to the instance origin, and constraining that MC to the assy origin. Hopefully that's a sensible sequence of steps. It produced what I was after and I think I can develop muscle memory around that.

Sign In or Register to comment.