Autor
|
Thema: GetPointsOnCurve - Unterschied zwischen 32bit und 64bit (2001 mal gelesen)
|
CATLama Mitglied
Beiträge: 23 Registriert: 30.03.2006 Catia V5 R18
|
erstellt am: 05. Okt. 2010 08:22 <-- editieren / zitieren --> Unities abgeben:
Hallo, dieser Code funktioniert auf 32bit WinXPprof. Coord() enthalt Coordinates der Punkten von Spline.1. Auf 64bit WinXP bleibt coord() leer ... , kein Fehler ist gemeldet. Wo ist ein Problem? Catia V5 R18 SP8 Sub CATMain() Dim i, count1 As Integer Dim coord(8) Dim reference1 As Reference Dim workbench1 As Workbench Dim measureable1 As Object Dim shape1 As HybridShape Dim part1 As Object Set part1 = CATIA.ActiveDocument.Part Set workbench1 = CATIA.ActiveDocument.GetWorkbench("SPAWorkbench") count1 = part1.HybridBodies.Item(1).HybridShapes.count For i = 1 To count1 If part1.HybridBodies.Item(1).HybridShapes.Item(i).Name = "Spline.1" Then Set reference1 = part1.HybridBodies.Item(1).HybridShapes.Item(i) Set measureable1 = workbench1.GetMeasurable(reference1) measureable1.GetPointsOnCurve (coord) MsgBox coord(0) & coord(1) & coord(2) & coord(3) & coord(4) & coord(5) & coord(6) & coord(7) & coord(8) End If Next i End Sub Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 05. Okt. 2010 10:25 <-- editieren / zitieren --> Unities abgeben: Nur für CATLama
ist vielleicht einfach dein aller erstes Geo Set unter 64bit leer? Mach mal:
Code:
measureable1.GetPointsOnCurve (coord) if(not measureable1 is nothing) then msgbox "Müsste funktionieren" end if MsgBox coord(0) & coord(1) & coord(2) & coord(3) & coord(4) & coord(5) & coord(6) & coord(7) & coord(8)
Ich vermute VB.NET? ------------------ Mit freundlichen Grüßen, Henry Schneider alias Lila Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren: Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen, die Natur versucht, immer bessere Idioten zu bauen Xing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CATLama Mitglied
Beiträge: 23 Registriert: 30.03.2006 Catia V5 R18
|
erstellt am: 05. Okt. 2010 13:35 <-- editieren / zitieren --> Unities abgeben:
|
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 05. Okt. 2010 14:44 <-- editieren / zitieren --> Unities abgeben: Nur für CATLama
Problem ist nachvollziehbar und stufe ich als ernst zu nehmen ein. Brauche jedoch eine Weile um da dahinter zu steigen. ------------------ Mit freundlichen Grüßen, Henry Schneider alias Lila Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren: Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen, die Natur versucht, immer bessere Idioten zu bauen Xing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
INLU Mitglied Konstrukteur Automotive
Beiträge: 71 Registriert: 01.03.2008
|
erstellt am: 05. Okt. 2010 14:47 <-- editieren / zitieren --> Unities abgeben: Nur für CATLama
Hallo CATLama, hast du auf dem 64bit system die zusätzliche VB6.msi von der 2CD installiert ? Vielleicht besteht noch die Möglichkeit, dass Script auf R19 64-bit zu testen? mfg Lars [Diese Nachricht wurde von INLU am 05. Okt. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 05. Okt. 2010 15:32 <-- editieren / zitieren --> Unities abgeben: Nur für CATLama
War doch nicht so kritisch. Habe das Makro in Code überführt, wie ich ihn schreiben würde und schon geht's: Code:
Option ExplicitSub CATMain() Dim hybBodyWork As MECMOD.HybridBody Dim iHybShapeWork As Integer Dim iCountOfHybShapes As Integer Dim measureableWork As Object 'SPATypeLib.Measurable Dim partWork As MECMOD.Part Dim refWork As INFITF.Reference Dim shapeWork As MECMOD.HybridShape Dim spaWorkbench As SPATypeLib.spaWorkbench Dim varCoord(8) As Variant Set partWork = CATIA.ActiveDocument.Part Set hybBodyWork = partWork.HybridBodies.Item(1) iCountOfHybShapes = hybBodyWork.HybridShapes.Count Set spaWorkbench = CATIA.ActiveDocument.GetWorkbench("SPAWorkbench") For iHybShapeWork = 1 To iCountOfHybShapes Set shapeWork = hybBodyWork.HybridShapes.Item(iHybShapeWork) If shapeWork.Name = "Spline.1" Then Set refWork = partWork.CreateReferenceFromObject(shapeWork) Set measureableWork = spaWorkbench.GetMeasurable(refWork) Call measureableWork.GetPointsOnCurve(varCoord) MsgBox varCoord(0) & varCoord(1) & varCoord(2) & varCoord(3) & varCoord(4) & varCoord(5) & varCoord(6) & varCoord(7) & varCoord(8) End If Next iHybShapeWork End Sub
Edit: Habe nun auch das Problem gefunden. Wenn Du an eine Methode Parameter übergibst dann ohne Klammern, oder du rufst mit Call auf. Als Fuastregel gilt bei mir Klammern, dafür steht aber vor jedem Aufruf entweder ein = oder ein Call (Ausnahmen sind If, etc.) ------------------ Mit freundlichen Grüßen, Henry Schneider alias Lila Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren: Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen, die Natur versucht, immer bessere Idioten zu bauen Xing [Diese Nachricht wurde von HoBLila am 05. Okt. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Produktmanager* für Maschinenbau | BAADER ist mit mehr als 1.600 Mitarbeitenden weltweit der Partner für Lebensmittelverarbeitungslösungen und in mehr als hundert Ländern auf sechs Kontinenten aktiv. Bei uns erwarten Sie vielfältige Tätigkeitsfelder, von der Entwicklung und Herstellung von Spezialmaschinen und Lösungen für die Verarbeitung von Fisch, Geflügel und Fleisch über Vertrieb, Projektierung und Installation bis hin zu unterstützenden Bürofunktionen, Service und After-Sales.... | Anzeige ansehen | Produktmanagement |
|
CATLama Mitglied
Beiträge: 23 Registriert: 30.03.2006 Catia V5 R18
|
erstellt am: 07. Okt. 2010 10:39 <-- editieren / zitieren --> Unities abgeben:
Bingo Henry!! Mit CALL Funktion lauft macro auch aut 64bit Platform. Vielen Dank fur Help ... Call measureable1.GetPointsOnCurve (coord) ... [Diese Nachricht wurde von CATLama am 07. Okt. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |