Hallo an alle
Ich habe ein Makro erstellt, um meine Nomenklatur in eine CSV-Datei zu exportieren, die gut funktioniert.
Jetzt möchte ich es verbessern, indem ich den Ausgabedateinamen formatiere.
Zu diesem Zweck muss ich den Wert einer Eigenschaft des Teils mit dem Namen "DRAWING_NUM" abrufen, um sie in eine Variable einzufügen, während ich mich in der Zeichnung befinde und diese Eigenschaft in der Zeichnung nicht vorhanden ist.
Hat jemand von euch eine Idee, wie man das umsetzen kann?
Ich habe in diesem Forum bereits mehrere Beispiele für die Rückforderung von Eigentum gefunden, aber keines davon entspricht meinem Fall
Vielen Dank im Voraus
Hallo
Es würde ausreichen, es zu Ihrer Planvorlage hinzuzufügen, und es wird als Teil davon bezeichnet
1 „Gefällt mir“
Hallo
Ist es immer ein Teil des Plans und gibt es nur ein Model, das in diesen Aufnahmen genannt wird?
1 „Gefällt mir“
Ja, es gibt bereits Ansichten im Plan, und die Teileeigenschaften werden für die Befüllung der Kartusche abgerufen
Re
Grundsätzlich ermöglicht der folgende Code aus der ersten "gescannten" Ansicht, die DRAWING_NUM Eigenschaft der Datei abzurufen, die an die Ansicht angehängt ist.
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swDraw As SldWorks.DrawingDoc
Dim swView As SldWorks.View
Dim swCustProp As CustomPropertyManager
Dim bRet As Boolean
Dim ResolvedValOut As String
Dim sValout As String
Dim WasResolved As Boolean
Sub main()
Set swApp = CreateObject("SldWorks.Application")
Set swModel = swApp.ActiveDoc
Set swDraw = swModel
Set swView = swDraw.GetFirstView 'Active le fond de plan
Set swView = swView.GetNextView 'Active la première vue après le fond de plan
Set swModel = swView.ReferencedDocument 'Récupère le fichier associé à la première vue
Set swModelDocExt = swModel.Extension
Set swCustProp = swModelDocExt.CustomPropertyManager("")
bRet = swCustProp.Get5("DRAWING_NUM", False, sValout, ResolvedValOut, WasResolved) 'Récupération de la propriété "DRAWIND_NUM"
Debug.Print ResolvedValOut 'Utiliser ResolvedValout ou sValout, tout dépend si c'est une valeur calculée ou une valeur fixe
Set swModel = Nothing
Set swApp = Nothing
End Sub
2 „Gefällt mir“
Danke Cyril.f es funktioniert perfekt!
1 „Gefällt mir“