Witam wszystkich,
Utworzyłem makro do eksportu mojej nomenklatury w pliku CSV, które działa dobrze.
Teraz chcę to poprawić, formatując nazwę pliku wyjściowego.
Aby to zrobić, muszę pobrać wartość właściwości części o nazwie "DRAWING_NUM", aby umieścić ją w zmiennej, podczas gdy jestem na rysunku i ta właściwość nie istnieje na rysunku.
Czy ktoś z Was ma pomysł, jak to zrobić?
Znalazłem już na tym forum kilka przykładów odzyskiwania mienia, ale żaden z nich nie odpowiada mojemu przypadku
Z góry dziękuję
Witam
Wystarczy, że dodasz go do swojego szablonu planu i będzie on nazywany jego częścią
1 polubienie
Witam
Czy zawsze jest to element w planie i czy w tych ujęciach jest tylko jeden model, o którym mowa?
1 polubienie
Tak, w planie znajdują się już widoki, a właściwości części są pobierane w celu napełnienia wkładu
Ponownie
Zasadniczo, poniższy kod pozwala z pierwszego "zeskanowanego" widoku pobrać właściwość DRAWING_NUM pliku dołączonego do widoku.
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 polubienia
Dziękuję Cyril.f działa idealnie!
1 polubienie