Cancel
Showing results for 
Search instead for 
Did you mean: 

Using offset CSYS with expression?

Valued Contributor
Valued Contributor

I revised an existing Datum CSYS to use an "Offset CSYS" type so I could rotate it about the z-axis.  I also created an expression for the rotation angle to make it easier to change, but for some reason that is not working.  The datum will rotate using the Datum CSYS dialog, but it doesn't respond to changes in the expression.  Also, if I edit the datum it always shows the Type as "Dynamic" (not Offset).  So apparently there's something I'm not undestanding with this.  What am I missing?

 

Thanks for the help.

 

 

12 REPLIES

Re: Using offset CSYS with expression?

Gears Honored Contributor Gears Honored Contributor
Gears Honored Contributor

Create an expression for the rotation, make sure the dimensionality is set to "angle". Create a new datum csys, type "offset", choose "selected csys" for the reference, pick the existing datum csys that you want to reference (you cannot make an associative datum csys that references the WCS or absolute csys), in the "angle Z" enter the name of your angular expression, make sure the "associative" option is turned on in the "settings section of the dialog. Ok the dialog to create the new datum csys. Try changing the value of the angular expression to make sure it updates.

Re: Using offset CSYS with expression?

Valued Contributor
Valued Contributor

That worked. Thanks. However, I don't quite understand why my original approach didn't. It should be possible (in theory) to have an expression control an offset datum csys referenced to the absolute csys. Of course it's going to be non-associative, since the absolute csys can't move. That shouldn't matter though. So why isn't that allowed?

I'm my case, I have a sketch I'm placing on the datum I want to rotate. So I can just offset its "intermediate datum" instead. Otherwise, I would have to create another datum just for that.


Re: Using offset CSYS with expression?

Gears Honored Contributor Gears Honored Contributor
Gears Honored Contributor

"So why isn't that allowed?"

 

That's a question for the developers to answer...

Re: Using offset CSYS with expression?

Gears Esteemed Contributor Gears Esteemed Contributor
Gears Esteemed Contributor

How did you rotate it in theoriginal file?

Did you just grab the dynamic "drag handles" and rotate it?  If so, that method is not associative.

Ken Akerboom Sr CAx Systems Engr, Moog, Inc.
Production: NX10.0.3.5 MP16/TC11.2
I'd rather be e-steamed than e-diseaseled


Re: Using offset CSYS with expression?

Valued Contributor
Valued Contributor

Ken_A wrote:

How did you rotate it in theoriginal file?


I edited the datum and changed the type to "Offset CSYS".  That rotated it datum.  I just wasn't able to control the rotation with an expression.  Apparently its not allowed when the datum reference is the Absolute CSYS.  Not clear why that restriction exists though.

Re: Using offset CSYS with expression?

Siemens Phenom Siemens Phenom
Siemens Phenom

This limitation is there because the Offset Datum CSYS references the absolute coordinate system of the displayed part. In the case of a component in an assembly the CSYS would be in the parent part. I understand the desired behavior to be able the reference the absolute coordinate system of the work part. 

Filed an ER.

 

Regards, **bleep**

NX Product Definition

Re: Using offset CSYS with expression?

Valued Contributor
Valued Contributor

DickBaardse wrote:

This limitation is there because the Offset Datum CSYS references the absolute coordinate system of the displayed part. In the case of a component in an assembly the CSYS would be in the parent part. I understand the desired behavior to be able the reference the absolute coordinate system of the work part. 

 


I guess I'm a bit confused by this. I thought there was only one Absolute Coordinate System.  Is that not true? If so, wouldn't  the absolute csys of the dispalyed part then be the same as the absolute csys of the work part?

Re: Using offset CSYS with expression?

Siemens Phenom Siemens Phenom
Siemens Phenom

Hi,

 

I understand this is not easy.

 

Each part has its own absolute origin and coordinate system. Now if you have a component and that is not positioned at the absolute origin of the assembly (you moved it) then that component's absolute origin will not be at the same location as the absolute origin of the assembly.

Now when you work in the context of the assembly then there is an absolute origin of your component and there is the absolute origin of the assembly. This is why we explicitly show the words "Displayed Part" in the menu of the datum CSYS.

 

I agree it is confusing. It even works differently from what I initially expected when I found this. This behavior was not designed recently. In order releases the difference was not even this clear because we just mentioned absolute.

 

We do not often work with the absolute coordinate system of the displayed part. This is an exception. But tht fact that we do is the main reason that we cannot drive his offset with expressions.

 

Regards, **bleep**

Re: Using offset CSYS with expression?

Valued Contributor
Valued Contributor

Unless I am missing something: If you create an datum CSYS that is actually the Abs CSYS, then you can create an associative offset CSYS using this datum CSYS (use selected CSYS as ref), which then indirectly but correctly is referencing the Abs CSYS and allows any expressions to be used.

Dan Iorga
Sulzer Pumps US