Get Help

Turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- Community
- :
- Creo Parametric
- :
- 3D Part & Assembly Design
- :
- Calculate the transform matrix between two CSYS fe...

Options

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Notify Moderator

07-30-2020
08:20 PM

07-30-2020
08:20 PM

Calculate the transform matrix between two CSYS features

Is anyone aware of a method to obtain the transform matrix between two CSYS features using built in Creo functions?

The measure transform function generates the **transposed matrix** of the matrix which transforms coordinates based on the second selected CSYS to that based on the first selected CSYS. I would like to obtain the transform matrix but can not find any internal function available for relations or a direct analysis to generate this matrix.

I would then use the transform matrix values in some relations to drive additional features.

3 REPLIES 3

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Notify Moderator

07-31-2020
07:40 AM

07-31-2020
07:40 AM

Re: Calculate the transform matrix between two CSYS features

native within Creo -- I don't think so. Unless you set up an analysis feature between your references (or something)?

If you need more detailed access - you might look at CREOSON (Open Source Creo Automation)-- there is a function in there called:

**file : get_transform**

Sample Request:

```
{
"sessionId": "~sessionId~",
"command": "file",
"function": "get_transform",
"data": {
"asm": "plate_assy.asm",
"path": [
54,
23,
45
],
"csys": "CS0"
}
}
```

Sample Response:

```
{
"status": {
"error": false
},
"data": {
"origin": {
"x": 380.0000554810615,
"y": 120,
"z": 1.000000000017174e-20
},
"x_axis": {
"x": 0,
"y": 1,
"z": 0
},
"y_axis": {
"x": 1,
"y": 0,
"z": 0
},
"z_axis": {
"x": 0,
"y": 0,
"z": 1
},
"x_rot": 0,
"y_rot": 0,
"z_rot": 0
}
}
```

Once you have that... I think it would be pretty easy to compute your transform.

Dave

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Notify Moderator

07-31-2020
08:49 AM

07-31-2020
08:49 AM

Re: Calculate the transform matrix between two CSYS features

I don't know of any native commands that can calculate the transform. There is a pretty slick workaround that we use to calculate coordinate system offsets/angles that may be useful to you. Very helpful when designing end of arm tools for robots.

Assuming you have coordinate systems A and B, and you need to know the offset dimensions and angles from A to B.

Here's the steps:

- Identify coordinate systems A and B
- Create a new coordinate system
- Select coordinate system B as a reference for the new coordinate system
- Select coordinate system A (reroutes constraint of csys so that it's tied back to A with dimensions)
- Click OK

See the attached video clip for more details.

Ty

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Notify Moderator

07-31-2020
07:56 PM

07-31-2020
07:56 PM

Re: Calculate the transform matrix between two CSYS features

I found an older thread that is closely related to what I am trying to implement. I think it is a possible solution although I have not verified the Euler angle calculations work for my test case yet. It is worth looking at for anyone needing to use transform matrix elements in relations.

https://community.ptc.com/t5/Assembly-Design/how-to-retrieve-ALL-csys-parameters/td-p/58618