Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations KootK on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Orient a CATPart in its Assembled Position

Status
Not open for further replies.

T105

Mechanical
Jun 7, 2009
14
Hi,
What I'm trying to do is basically:

- Suppose we have a bunch of parts to be assembled.
- We add the parts to a product file and assemble them using assembly constraints (3d constraints)
- By using 3D constraints we change the positions and orientations of the parts as required.
- What I want is to set the part's original position & orientation to its assembled one. So that when I open the part in its part file separate from the product, I want see that it rests in its assembled position.

Another case where I need a similar approach is:

i. Suppose that we have a cylinder in a CatPart. The center axis of the cylinder has two angles wrt to 2 axes and the angles are like 3.235676...E-9. What I need to do is I want the centre axis of the cylinder to rest in a X-Axis orientation, or I want the cylinder to rest horizontally.

ii. The problem is I cannot determine the exact angles to use rotate/translate.

iii. I can open a CatProduct, create a dummy part with a line in x-axis, then insert the cylinder into the product. After that using assembly constraints attach the center axis of the cylinder to the dummy part's line. Now the cylinder part in product lies in the orientation I want.

iv. What I need is to ensure that the cylinder lies in the same orientation in the part design. Or when I open the cylinder seperately in part design I want it lying in x direction.

Sorry for the long explanation and thanks in advance for your help.

Best regards
 
Replies continue below

Recommended for you

well...
I do not know any solution that will keep history construction.

but you can do this:

Solution 1:

Open your assembly. for each part in you assembly create a new one. Copy for the original part to the new part (copy/paste as result). as the new part is position by default to the origine of the product and the position is kept while doing copy/past then you have new parts with the same origine as the product with the geometry in position.

Solution 2:

Open your assembly, from assembly design WB do a create CATPart from CATProduct. This will copy (no history) all solids from all parts to one catpart.
duplicate this file and remove all but one solid in each file. This could be automated with a script.

Eric N.
indocti discant et ament meminisse periti
 
I usually add some bogus feature to the part, like a Chamfer, to know which end is which when I first add it to an Assembly. Once I get it Mated, I then delete that feature.

As for the methodology you are looking for...there is no easy way to do this. You will spend much more time (and get more gray hair) trying to accomplish this, rather than just using some simple work-around. To re-emphasize this...say you get all of the above figured out and working, what happens when you want to insert a second instace of the component...then what, create a second part that is identical to the first but orientated different? And what if you want to re-use this component in another assembly, but it needs to be vertical rather than horizontal...you'll have to re-set this component up every time, and make re-use of any component very difficult.
 
Thank you itsmyjob and brengine.

Brengine, the situation is in fact simpler than what you foresee. My situation actually is I got a part which will be the first part in an assembly. I will design the following parts based upon the planes and axes of that first part.

The problem is my base part (which is a step file came from another conmpany and nonparametric) is wrongly oriented in the 3d space, such that the primary axis is misaligned in two axes with unmeasurable angles (like 2.54565765756E-5 deg).

What I need is to align the whole part so that its primary axis is lying in x-axis (suppose) and save the part in this new alignment. This way, I will ensure that when I insert that part in the assembly as the 1st part, the following parts based upon it will have correct alignment.

Thats my problem....
 
Can't you create a new axis system in your original part that aligns with your 'new system' and use the axis to axis translation? (It will make a surface model of your solid, but as long as you only need it as a reference i figured it wouldn't be such a big deal.)
 
Similar to CBunes suggestion, I would do a Axis-to-Axis constraint, to position this "first part" with a temporary fixed part.
 
T105,

Drop your customer part in an Assembly and Mate it accordingly to the 3 Planes/Axes in the Assembly File...you don't have to leave it "Fixed"!?! Then build everything off of that Part geometry and/or the Assembly planes/axes (and forget about the planes/axes in the original Part file, which will be off 2.54565765756E-5 deg from the Assembly planes/axes).

If you really wanted to plan ahead (i.e. the customer changes their Part and sends you a new file..then what do you do without loosing all of your work!?!)-->So create a bunch of Reference Geometry (i.e. Planes, Axes, and/or Points as needed) in the Assembly file that are either controlled by hard dimensions or linked to the original Part file. Then add any subsequent Part/Subassembly files you want and Mate/Relate them to the Reference Geometry, rather than your original Part. That way if you have to swap out that original Part, all you'll have to "re-link" is the Reference Geometry. (This methodology is called "Layout Part", "Layout Sketch", "Skeleton Layout", or some form of those names.)

If that's not good enough, and your original Part is (or you're ok with it being) a dumb solid, then:
-Drop your customer part in an Assembly and mate it accordingly to the 3 Axes in the Assembly File.
-While in the Assembly file, do a SaveAs .sldprt
-Then open that .sldprt file and do a SaveAs .step
-And lastly open the .step file in SolidWorks...and voila, your part geometry is aligned with it's planes/axes.

Personally, I recommend that whatever you do, you still incorporate the Skeleton Layout in the main Assembly file, or dedicate a "Skeleton Part" that is only Reference Geometry (just to facilitate easier updating later if the customer part ever changes or you find more bad geometry in the customer part [that you'd need some work-around for that too]).

Enjoy.
 
WHOOPS! I forgot which forum I was in...the previous post would be for SolidWorks.

For Catia, the first CATPart we always add to any Product file is the "ORIGIN.CATPart". The next thing you do is Fix it before you do anything else (you don't want it moving around since that will be our orthagonal origin to base everything else off of [surprise] ).

Basically we use this ORIGIN.CATPart to give us 3 planes in a Product file to mate to. There is nothing else in the ORIGIN.CATPart. If you want, you can use the ORIGIN.CATPart as a Skeleton Layout Part too (as explained in my previous post), which I do still recommend. In that case, the ORIGIN.CATPart would need some unique name specific to this project (it would be to confusing to use this file in all of your Product files everywhere unless is was empty).

Now drop in your customer part in the Product file and Mate it to the ORIGIN.CATPart. Apply the methodology I explained previously for Mating, Relating, etc...
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor