cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Surface transform using Csys

SOLVED
Highlighted
Pearl

Surface transform using Csys

I am looking to streamline a workflow for transformation of surfaces using two CSYS features to move and reorient a quilt. Doing it manually using the transform options in the Warp tool or the Legacy surface move command is quite tedious and requires calculating linear transforms using the two bases.

 

My best workaround is to export the quilt relative to one CSYS and then import it back into the model using the desired CSYS as the origin, not ideal since it lacks associativity. Is anyone aware of a method supporting a single transform operation to move and reorient a quilt/surface from one orthonormal basis (Csys) to a new one? I can keep it all within Creo without the export but it requires doing the matrix algebra for rotational transforms outside of Creo, which is slow and tedious to do it manually. Getting the new origin can be obtained by using a measure of the transform between the two csys but the rotational info is not explicit in that measure.

 

ObjectiveObjectiveTransformed quiltTransformed quilt

Tags (3)
1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted

Re: Surface transform using Csys

Ah yes, I see I missed the important step from my picture explanation of the flexible-move-copy:

You have to include the CSYS of the moving quilt (CS_0 in my example) in the references:

move_with_constraints_reference_selection.png

 

Then this CSYS will be available to use as a reference from the "moving geometry" when defining the new placement constraint.

 

Also, as an annoying side-effect, the CSYS will be copied along with the quilt - ending up on top of CS1. Do let us know if PTC tells you how to prevent creation of this extraenous internal datum.

View solution in original post

7 REPLIES 7
Highlighted

Re: Surface transform using Csys

I recall someone on this forum made a UDF where they constructed a bunch of measure analysis features and put in the relations to recover the transformation between two frames - I think they found the origin shift + required euler angles).  Alas, I can't find the thread.

 

I can suggest you try the Measure : Transform tool (last icon in the measure tool, next to the Measure: Volume)

 

1) Give it 2 coordinate systems (order is important!) and you will get the homogenous transformation matrix.

2) Click on the (i) icon to bring up the information window, and then save the file as info.TRF

3) You can then load this file by using the "from file" option for the offset type when making or redefining your  coordinate system.

 

this is fairly quick, but not parametric.

Highlighted

Re: Surface transform using Csys

I think you misunderstand my objective. I am well versed in the functionality of the transform measurement tool. The matrix generated by this measurement is the transposed matrix of the matrix which transforms coordinates based on the second selected CSYS to that based on the first selected CSYS . To do what I want you need to calculate the transform matrix and there is not an internal function within Creo I am aware of to obtain this transform matrix.

 

I have both the source and target CSYS available and want to transform a quilt from one basis to a new basis. This can be done with 6 transform operations (3 translate and 3 rotate) manually with the copy/paste special transformation function. I would like to do it with a single transform by specifying a source CSYS and quilt and then a target CSYS. This would take care of all of the transform matrix calculations and move and orient the quilt to a new origin (CSYS).

Highlighted

Re: Surface transform using Csys

Yes, I see.

Well, I know the flexible-modeling-extension can do such a thing relatively easily:

Flexible move(with copy) feature definitionFlexible move(with copy) feature definition

 

Highlighted

Re: Surface transform using Csys

I tried this approach but I can only select  a csys for the fixed geometry option for the alignment. It will not allow me to select a csys for the moved item. I logged a call with PTC support before posting here as I could not get this to work , they have not responded with a solution yet.

 

I am selecting a quilt for the transform operation in part mode. It is all good until attempting selection of the second csys for the moving item, I can not select another csys even with the selection filter set to csys or intent csys. Outside of this selection dialogue box I am able to select all csys in the model.

 

 

flex model xform.jpg

Highlighted

Re: Surface transform using Csys

Ah yes, I see I missed the important step from my picture explanation of the flexible-move-copy:

You have to include the CSYS of the moving quilt (CS_0 in my example) in the references:

move_with_constraints_reference_selection.png

 

Then this CSYS will be available to use as a reference from the "moving geometry" when defining the new placement constraint.

 

Also, as an annoying side-effect, the CSYS will be copied along with the quilt - ending up on top of CS1. Do let us know if PTC tells you how to prevent creation of this extraenous internal datum.

View solution in original post

Highlighted

Re: Surface transform using Csys

This definitely works once you select the csys as a reference along with the quilt to move. I went back and looked at the PTC documentation again and nowhere do I see an explanation of this. The documentation of so many things is lacking the relevant information to even execute the commands being documented. Clearly the help files did not enlighten the support engineer working this case either as even after talking with him neither of us picked up on this key detail for selection.

 

https://support.ptc.com/help/archive/creo40/creo_pma/usascii/index.html#page/part_modeling%2Fflexibl... 

Highlighted

Re: Surface transform using Csys


@tbraxton wrote:

 

My best workaround is to export the quilt relative to one CSYS and then import it back into the model using the desired CSYS as the origin, not ideal since it lacks associativity.

 


You can create a new part, use copy geometry to import the quilt from your original, then go to your original and do Another copy geometry, assembling it to your coordinate system. It still requires an external part, but it's associative. You could even have a specific part which just contains a lot of these quilts, so you don't need to create a new one each time.

Announcements