The community will undergo maintenance on October 16th at 10:00 PM PDT and will be unavailable for up to one hour.
Hi all,
Lyle,
The proceedure should be as follows:
-aquire the transfrom from the the assembly csys feature in question 'CS0 ' toassembly 'default' coordinates, (in Pro/Toolkit you would use ProMatrixInit and feed it e1, e2,e3 and origin of ProGeomitemdata of coordinate system ProGeomitem), you have CS0-to-assembly transformation,
- invert transformation matrix, now you have assembly-to-CSO transformation,
-aquire the transformation of the component in question to the assembly 'default' coordinates, you have component-to-assembly transformation,
-aquire the XYZ location of a component CS_LIGHT feature expressed in component default coordinate system.
-transfer XYZ point to an assembly 'default' coordinate system (Pro/Toolkit function ProPointTrfEval) using component-to-assembly matrix, you have A-XYZ now,
-transfer A-XYZ to CSO coordinates by using assembly-to-CSO matrix, now you going to have C-XYZ, those three numbers represent the distance from CSO to CS_LIGHT measured along the axis of CSO coordinate system.
HIH.
Feliks.
In Reply to Lyle Beidler:
JLink application, WF3
I'm trying to assemble a light to a coordinate system origin. I know the
CSO has a given name, and I've traversed the assembly to find all the CSO's
that match that name. Now, however, I need to determine where the geometry
resides relative to the CSO of the top-level assembly. I tried using
GetTransform, but this gives the Transform matrix from the CSO to the CSO of
the part.
If that's not making sense, here's a description of my program:
Traverse the assembly, finding every instance of 1234.prt
For each instance of 1234.prt, get its location relative to the assembly CSO
& store it in a list, then delete it from the assembly.
For each record in the list, assemble 5678.prt in the same location in the
assembly (comment: if I didn't desire 5678.prt to be fully constrained, I
could stop here, but this leaves it packaged)
Traverse the assembly, finding all components with a CSO named "CS_LIGHT"
For each CS_LIGHT, get its location relative to the assembly CSO <==== this
is the step I'm having trouble with
If CS_LIGHT is in the correct location, constrain 5678.prt to this CSO.
Thanks in advance.
--
Lyle Beidler
MGS Inc
178 Muddy Creek Church Rd
Denver PA 17517
717-336-7528
Fax 717-336-0514
< -
< http://www.mgsincorporated.com