Hallo Seher,
Das Problem liegt in
Set oSketches = ThisApplication.ActiveDocument.ComponentDefinition.Sketches
wie der Kommentar schon sagt: This assumes that a partdocument is active.
In einer ipt ist die ComponentDefinition von einem anderen Typ (PartComponentDefinition) als in der iam (AssemblyComponentDefinition). Das Bedeutet, das es auch andere Eigenschaften und Methoden gibt.
Du musst erstmal das eigentliche PartDocument in deiner iam finden und dort dann die Skizze nehmen.
Dazu musst Du die
ThisApplication.ActiveDocument.ComponentDefinition.Occurences
durchsuchen, bis Du ein
ThisApplication.ActiveDocument.ComponentDefinition.Occurences(n).Definition.Type = kPartDocumentObject
findest. Die kannst Du nach Skizzen durchsuchen.
Für den Fall
ThisApplication.ActiveDocument.ComponentDefinition.Occurences(n).Definition.Type = kAssemblyDocumentObject
musst Du noch die
ThisApplication.ActiveDocument.ComponentDefinition.Occurences(n).Definition.SubOccurences
absuchen, da du es dann mit verschachtelten Baugruppen zu tun hast. Am besten über eine rekursive Funktion.
------------------
Grüße Jörgen
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP