Hallo Thomas,
mit dem folgenden Programmcode - ist aus den Übungsbeispielen geklaut - kommst Du zumindestens an all Deine Verknüpfungen heran:
Set swApp = CreateObject("SldWorks.Application")
Set Part = swApp.ActiveDoc
' Get the 1st feature in part
Set Feature = Part.FirstFeature
' While we have a valid feature
While Not Feature Is Nothing
' Get the name of the feature
featureName = Feature.Name
message = "Feature: " & featureName & Chr(10) & " SubFeatures:"
Set subFeat = Feature.GetFirstSubFeature
' While we have a valid Sub-feature
While Not subFeat Is Nothing
' Get the name of the Sub-feature
subFeatureName = subFeat.Name
message = message & Chr(10) & " " & subFeatureName
Set subFeat = subFeat.GetNextSubFeature
' Continue until the last Sub-feature is done
Wend
' Display the Sub-features
swApp.SendMsgToUser message
' Get the next feature
Set Feature = Feature.GetNextFeature()
' Continue until the last feature is done
Wend
End Sub
Meiner Meinung nach musst Du jetzt nur noch herausfinden, wann die richtige Verknüpfungen ausgelesen wurde (Du erhälst den Verknüpfungsnamen in der Variablen "subFeatureName") und dann kannst Du Dir den benötigten Namen zum Ansprechen des Masses zusammensetzen. Meiner Erfahrung nach heissen die Bemassungen immer D1 innerhalb von Verknüpfungen, denn hier gibt es auch nur ein Mass was gesetzt wird. Achtung, wenn die Konstrukteure die Bezeichnungen ändern funktioniert das ganze nicht mehr.
Lass das Beispiel einfach mal an einer Baugrppe ablaufen und Du wirst sehen was passiert.
Es ist allerdings nur ein Woraround, vielleicht komst Du ja auch weiter, wenn Du in der API
-Hilfe mal nach "Mate" suchst und hierrüber an die Verknüpfung gelangst.
Leider habe ich nicht die Zeit und hatte solch ein Aufgabe auch noch nicht zu lösen.
Halt mich bitte auf dem laufenden, wenn Du ein Lösung gefunden hast.
Gruß Mathias
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP