Hallo Joachim_R,
das ist ein recht einfach zu lösendes Problem.
Wenn die absoluten Punktkoordinaten vorliegen, dann ermittelt man die Ursprungskoordinaten des gewünschten Achsensystems und rechnet dann die Differenzwerte aus.
So nun im Detail:
Annahme:
die absoluten Koordinaten sind des Punktes x,y und z
die Ursprungs-Koordinaten des aktuellen Achsensystems sind xa,ya und za
die relativen Punktkoordinaten sind xp,yp,zp
Dann ist xp=x-xa ; yp=y-ya ; zp=z-za
Wie ermittelt man xa, ya und za:
Zuerst muss das aktuelle Achsensystem bestimmt werden und von diesem die Ursprungskoordinaten.
Dim oAxis As Axissystem
Dim i As Variant
Dim Coord_a(2)
Dim xp,yp,zp As Double
For i=1 To CATIA.ActiveDocument.Part.AxisSystems.Count
Set oAxis = CATIA.ActiveDocument.Part.AxisSystems.Item(i)
If oAxis.IsCurrent Then
oAxis.GetOrigin Coord_a
Exit For
End If
Next i
xp = x - Coord_a(0)
yp = y - Coord_a(1)
zp = z - Coord_a(2)
und nun noch xp,yp und zp rausschreiben.
Ich hoffe, das war soweit verständlich.
Gruss
Steffen
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP