Autor
|
Thema: Koordinaten von HybridShapePointOnCurve auslesen (2477 mal gelesen)
|
koopi01 Mitglied
Beiträge: 5 Registriert: 27.05.2008
|
erstellt am: 27. Mai. 2008 12:32 <-- editieren / zitieren --> Unities abgeben:
Hallo, wie kann ich die Koordinaten von HybridShapePointOnCurve auslesen Habs so versucht :
Code:
Dim oPartDoc As PartDocument = CATIA.Documents.Open(sFilename) Dim oPart As Part = oPartDoc.Part Dim oHBod As HybridBody = oPart.HybridBodies.Item("Geometrisches Set.1") Dim pcoord() As Double Dim oPT As HybridShapePointOnCurve oHBod.HybridShapes.Item("testpunkt1").getcoordinates(pcoord)
Leider gibts getcoordinates nicht bei HybridShapePointOnCurve DANKE für ne Hilfe koopi01 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
FiRo Mitglied Skript-Student
Beiträge: 26 Registriert: 07.11.2007 V5R17
|
erstellt am: 27. Mai. 2008 14:39 <-- editieren / zitieren --> Unities abgeben: Nur für koopi01
hi ich hatte neulich ein aehnliches problem mit den punkten. meine loesung war die punkt ueber ein 'measurable' zu vermessen. dort bekommst du einen vektor mit den coordinaten zurueck. hier mal mein code dazu:
Code:
Dim coords(2) As Variant Set hsPOC = hb.HybridShapes.Item(i) ''dein punkt Set rhsPOC = cpart.CreateReferenceFromObject(hsPOC) ''referenz auf den punkt Set TheMeasurable = TheSPAWorkbench.GetMeasurable(rhsPOC) ''messobjekt Call TheMeasurable.GetPoint(coords) ''koordinaten werden in coords gespeichert
------------------ no milk today... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
zoltan.bekesi Mitglied
Beiträge: 321 Registriert: 22.10.2006 Job: CATIA V5R19 / XP 32bit MS Office 2003 Microstation V8 2004 Edition DELL Precision M6300
|
erstellt am: 27. Mai. 2008 19:07 <-- editieren / zitieren --> Unities abgeben: Nur für koopi01
Hallo koopi01, es geht schon auch ohne Messung, man darf nur für GetCoordinates keine Datentyp verwenden... Code: Sub test() Dim oActDoc As Document Set oActDoc = CATIA.ActiveDocument Dim oActPart As Part Set oActPart = oActDoc.Part Dim oHybShapes As HybridShapes Dim oHybPoint 'As Point Set oHybShapes = oActPart.HybridBodies.Item(1).HybridShapes Set oHybPoint = oHybShapes.Item(1) Dim coord(2) oHybPoint.GetCoordinates coord Debug.Print coord(0), coord(1), coord(2) End Sub
Gruß, Zoltan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
koopi01 Mitglied
Beiträge: 5 Registriert: 27.05.2008
|
erstellt am: 27. Mai. 2008 22:13 <-- editieren / zitieren --> Unities abgeben:
Danke für Eure Antworten. Habe die Lösung von Zoltan mit kleinen Modifikationen umgesetzt. Ich steuer CATIA aus VB, daher die notwendigen Änderungen vermute ich Habe aber noch eine Frage: Wie kann ich das Auswertekoordinatensystem ändern. Die Koordinaten, die mir ausgegeben werden beziehen sich alle auf AXIS1, ich benötige sie aber auf ein lokales CS, das im Part bereits exisiert. Hier mein Code:
Code:
Dim oActDoc As PartDocument oActDoc = CATIA.ActiveDocument Dim oActPart As Part oActPart = oActDoc.Part Dim oHybShapes As HybridShapes Dim oHybPoint As HybridShapePointOnCurve oHybShapes = oActPart.HybridBodies.Item(1).HybridShapes oHybPoint = oHybShapes.Item("testpunkt1") Dim coord(2) oHybPoint.GetCoordinates(coord)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
zoltan.bekesi Mitglied
Beiträge: 321 Registriert: 22.10.2006 Job: CATIA V5R19 / XP 32bit MS Office 2003 Microstation V8 2004 Edition DELL Precision M6300
|
erstellt am: 28. Mai. 2008 19:49 <-- editieren / zitieren --> Unities abgeben: Nur für koopi01
Hallo koopi01, mein Beispiel war aus VBA, da waren die Deklarationen in der Form passend. Die Koordinaten beziehen sich auf den Part Urspung. Evtl. könntest Du noch mit Messen im Product Ursprung die Koordinaten haben, aber soweit ich weiß kannst du es in CATIA aus Makros nicht in ein beliebiges Koordinatensystem abfragen/messen lassen. Da musst du wahrscheinlich hergehen und die Koordinaten in die richtige Achsensystem transformieren. Da kann dir folgender Beitrag z.B. weiterhelfen: Forumbeitrag - Punktkoordinaten auslesen Gruß, Zoltan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |