Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  GetPointsOnCurve - Unterschied zwischen 32bit und 64bit

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  GetPointsOnCurve - Unterschied zwischen 32bit und 64bit (2001 mal gelesen)
CATLama
Mitglied



Sehen Sie sich das Profil von CATLama an!   Senden Sie eine Private Message an CATLama  Schreiben Sie einen Gästebucheintrag für CATLama

Beiträge: 23
Registriert: 30.03.2006

Catia V5 R18

erstellt am: 05. Okt. 2010 08:22    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Part0.JPG

 
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


Sehen Sie sich das Profil von HoBLila an!   Senden Sie eine Private Message an HoBLila  Schreiben Sie einen Gästebucheintrag für HoBLila

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für CATLama 10 Unities + Antwort hilfreich

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



Sehen Sie sich das Profil von CATLama an!   Senden Sie eine Private Message an CATLama  Schreiben Sie einen Gästebucheintrag für CATLama

Beiträge: 23
Registriert: 30.03.2006

Catia V5 R18

erstellt am: 05. Okt. 2010 13:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Result: "Müsste funktionieren"  .... nein, der Object is not leer.

(Das ist VB6)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


Sehen Sie sich das Profil von HoBLila an!   Senden Sie eine Private Message an HoBLila  Schreiben Sie einen Gästebucheintrag für HoBLila

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für CATLama 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von INLU an!   Senden Sie eine Private Message an INLU  Schreiben Sie einen Gästebucheintrag für INLU

Beiträge: 71
Registriert: 01.03.2008

erstellt am: 05. Okt. 2010 14:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für CATLama 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von HoBLila an!   Senden Sie eine Private Message an HoBLila  Schreiben Sie einen Gästebucheintrag für HoBLila

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für CATLama 10 Unities + Antwort hilfreich

War doch nicht so kritisch.

Habe das Makro in Code überführt, wie ich ihn schreiben würde und schon geht's:

Code:

Option Explicit

Sub 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 Lebensmittel­verarbeitungs­lö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 Spezial­maschinen und Lösungen für die Verarbeitung von Fisch, Geflügel und Fleisch über Vertrieb, Projektierung und Installation bis hin zu unterstützenden Büro­funktionen, Service und After-Sales....

Anzeige ansehenProduktmanagement
CATLama
Mitglied



Sehen Sie sich das Profil von CATLama an!   Senden Sie eine Private Message an CATLama  Schreiben Sie einen Gästebucheintrag für CATLama

Beiträge: 23
Registriert: 30.03.2006

Catia V5 R18

erstellt am: 07. Okt. 2010 10:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz