Tech-Ecke / CATScript/VBS Inhalt / Externe Links

 

Externe Links

Es ist leider grundsätzlich nicht möglich die Kindsobjekte eines Elternobjekts in CATScript zu ermitteln. Das gleiche trifft auch für Externen Links zu. Jedoch ist der Umgekehrte weg oft möglich. Man könnte auch sagen: Die Eltern wissen generell nichts über ihre Kinder, viele Kinder kennen jedoch ihre Eltern.

Seiteninhalt:  
  Externer Link von einem Solid auslesen
  Alle "Externe Verlinkungen" eines Dokuments auslesen


 

Externer Link von einem Solid auslesen 

  Sub CATMain()
' Solid selektieren und dann Makro ausführen, verlinktes Part muss geöffnet sein

set Sel = CATIA.ActiveDocument.Selection
set Solid = Sel.Item(1).Value

set QuellBody = Solid.SourceElement
set QuellPart = Solid.SourceElement.Parent.Parent.Parent

MsgBox QuellBody.Name
MsgBox QuellPart.Name

End Sub
 

 

Alle "Externe Verlinkungen" eines Dokuments auslesen

Diese Methode funktioniert bei allen Dokumenttypen. Part, Product und Drawing.

  Sub CATMain()

set Bauteil = CATIA.ActiveDocument
set STIEngine = Catia.GetItem("CAIEngine")
set STIDBItem = STIEngine.GetStiDBItemFromAnyObject(Bauteil)
set Verlinkungen = STIDBItem.GetChildren()

Ausgabe = Ausgabe &"Anzahl der Verlinkungen: " &Verlinkungen.Count &Chr(10)
Ausgabe = Ausgabe &"----------------------------------------" &Chr(10)
for n = 1 to Verlinkungen.Count
   Ausgabe = Ausgabe &"Link Nr.: " &n &Chr(10)
   LinkTyp = Verlinkungen.LinkType(n)
   Ausgabe = Ausgabe &"Linktyp: " &LinkTyp &Chr(10)
   set Verlinkung = Verlinkungen.Item(n)
   set LinkDokument = Verlinkung.GetDocument
   Ausgabe = Ausgabe &"Verlinktes Dokument: " &LinkDokument.Name &Chr(10)
   Ausgabe = Ausgabe &"Dateipfad: " &LinkDokument.FullName &Chr(10)
   Ausgabe = Ausgabe &"----------------------------------------" &Chr(10)
next

MsgBox Ausgabe, 64, "Externe Links"

End Sub
 

Die Option Drucken funktioniert erst ab Netscape V4.0 bzw. I-Explorer 5.0 !

[letzte Aktualisierung 20.02.2016]