Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Pro ENGINEER
  VB RetrieveSymbolDefinition

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO
Autor Thema:  VB RetrieveSymbolDefinition (1883 mal gelesen)
supTom
Mitglied
CAD-Support


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

Beiträge: 42
Registriert: 19.02.2008

erstellt am: 04. Jul. 2013 16:48    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

HAllo zusammen,

hat jemand schon den Befehl RetrieveSymbolDefinition bei Creo Elements Pro 5.0 M130 verwendet?

Ich komme beim Debuggen bis zum Befehl und erhalte dann die Fehlermeldung: "XToolkit not found"

Function GetSymbol(ByRef oDrw As IpfcDrawing, ByRef sSymFileName As String) As String
        GetSymbol = "Nothing"
        Dim oSymbolDef As IpfcDetailSymbolDefItem

        oSymbolDef = oDrw.RetrieveSymbolDefinition(sSymFileName, Nothing, Nothing, True)

        If oSymbolDef Is Nothing Then
            GetSymbol = "Nothing"
            Exit Function
        End If

Vorher lief schon die Verbindung zur Zeichnung, das Abprüfen der Symboldefinitionen und Symbolinstanzen in der Zeichnung ob das gesuchte Symbol dabei ist.

Da die Verbindung zur Zeichnung steht, der Verweis zur Creo API WF5.0 im VisualBasic 2008 vorhanden ist  kann ich mit der Fehlermeldung nichts anfangen. Hat sich der Befehl geändert?

Für einen Tip bin ich dankbar

Gruß Thomas

------------------
nixblick

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

Sauter
Mitglied
CAD/PDM - Systembetreuer


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

Beiträge: 43
Registriert: 10.05.2005

Creo 6.0.5.0
StartupTools 8.0.1.0
Windows 10 x64
DELL Precision T5820
Nvidia Quadro P2000
PDM : Pro.File 8.7

erstellt am: 08. Jul. 2013 13:51    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 supTom 10 Unities + Antwort hilfreich

Hallo supTom,
ich habe diesen Befehl auch schon verwendet.
Versuche es mal hiermit:

Function GetSymbol(ByRef oDrw As IpfcDrawing, ByRef sSymFileName As String) As String
        GetSymbol = "Nothing"
        Dim oSymbolDef As IpfcDetailSymbolDefItem

        oSymbolDef = (oDrw as IpfcDetailItemOwner).RetrieveSymbolDefinition(sSymFileName, Nothing, Nothing, True)

        If oSymbolDef Is Nothing Then
            GetSymbol = "Nothing"
            Exit Function
        End If

Mit dem Syntax bin ich mir nicht ganz sicher da ich Delphi benutze.
Evtl. noch den Pfad zum Symbolverzeichnis angeben (2.Parameter von Retrieve...).

------------------
Geht nicht gibts nicht... 

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

supTom
Mitglied
CAD-Support


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

Beiträge: 42
Registriert: 19.02.2008

erstellt am: 08. Jul. 2013 17:07    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

Hallo Herr Sauter,

immerhin ein halber Sieg.

Mit dem Typecast:
oSymbolDef = CType(oDrw,IpfcDetailItemOwner).RetrieveSymbolDefinition(sSymFileName, Nothing, Nothing, True)
zeigt VisualBasic schon mal an, daß es den Befehl kennt. Leider bekomme ich immer noch den Fehler mit dem fehlenden XToolKit.

Was mich weiter wundert ist die Definition von RetrieveSymbolDefinition. In der VB Hilfe am Befehl kommt:

  RetrieveSymbolDefinition(_FileName As String, _FilePath As Object, _Version As Object, _UpdateUnconditionally As Object)

Laut PTC Beschreibung sollte sein:

  RetrieveSymbolDefinition(_FileName as String, _FilePath as String, _Version As Long, _UpdateUnconditionally As Boolean)

Zudem sollten die Argumente bis auf den FileName optional sein, was leider nicht stimmt. Der Compiler nimmt fehlende oder leere Argumente ziemlich übel.
Immer habe ich wieder Hoffnung daß es jemanden gibt der den Befehl schon mal erfolgreich verwendet hat.

Grüße von Thomas

------------------
nixblick

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

Sauter
Mitglied
CAD/PDM - Systembetreuer


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

Beiträge: 43
Registriert: 10.05.2005

Creo 6.0.5.0
StartupTools 8.0.1.0
Windows 10 x64
DELL Precision T5820
Nvidia Quadro P2000
PDM : Pro.File 8.7

erstellt am: 10. Jul. 2013 16:24    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 supTom 10 Unities + Antwort hilfreich

Hallo SupTom,

hier noch ein Tipp...
Im Installationsverzeichnis von ProE (Creo) sind auch Beispiele zur VB Programmierung (...\vbapi\vbapi_examples).
Schau dir hier mal das Beispiel pfcDrawingExamples.vb an.
Darin wird ebenfalls die Funktion RetriveSymbolDefinition verwendet.

Viel Erfolg...

------------------
Geht nicht gibts nicht...  

[Diese Nachricht wurde von Sauter am 10. Jul. 2013 editiert.]

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

supTom
Mitglied
CAD-Support


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

Beiträge: 42
Registriert: 19.02.2008

erstellt am: 11. Jul. 2013 16:01    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

Hallo Herr Sauter,

es tut jetzt, aber ....

Im Beispielprogramm ist der letzte Parameter mit "Nothing" belegt, sollte laut Hilfe aber "Typ Boolean" sein. Im Zweifel hat dann das Beispielprogramm recht (wenn man es zum Laufen kriegt). So gehts jetzt:
oSymbolDef = oDrw.RetrieveSymbolDefinition(sSymFileName, "./.", Nothing, Nothing)

Der zweite Fehler war hausgemacht:
Der Name des Symbols ist "fettfrei" und nicht "fettfrei.sym".

Fazit:
Die Fehlermeldung "XToolKit not found" sollte eigentlich heißen, daß das Symbol nicht gefunden wurde. Mit dem Verhalten im Hinterkopf mach es auch Sinn daß in der Befehlsreferenz unter Returns nichts steht. Heißt im Klartext: Gibts kein Symbol mit dem Namen geht der ganze Befehl auf die Bretter. Sollte daher immer mit Try...Catch abgefangen werden.

Vielen Dank für den Tip und ich bin froh, daß es jetzt klappt.
Außerdem gibts ein paar U's für die richtige Spur.

Gruß von Thomas

------------------
nixblick

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

SpacemanSpiff
Mitglied



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

Beiträge: 57
Registriert: 02.05.2011

Creo 2

erstellt am: 28. Jul. 2017 08:36    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 supTom 10 Unities + Antwort hilfreich

Hallo supTom!

Zitat:
Original erstellt von supTom:
Vorher lief schon die Verbindung zur Zeichnung, das Abprüfen der Symboldefinitionen und Symbolinstanzen in der Zeichnung ob das gesuchte Symbol dabei ist.

Ich habe einen Code, der Symbole auf der Zeichnung mit Zeichnungskoordinaten (nicht Screen-Koordinaten) erstellt. Das funktioniert gut.

Ich möchte jetzt auch nach allen Symbolen auf der Zeichnung suchen und deren Eigenschaften (Texte, Typ, Koordinaten) auslesen. Kannst Du dafür Deinen Quelltext posten?

Im Übrigen scheint die Doku für RetrieveSymbolDefinition (mittlerweile) richtig zu sein. Bei mir geht es nur, wenn der letzte Parameter ein Boolean ist.

Set symbolDefinition = drawing_OW.RetrieveSymbolDefinition(symbolName, "./", dbnull, True)

Danke & Gruß: Spiff.

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