Chcę pobrać nazwę konfiguracji części używanej jako odniesienie na rysunku.
Oto fragment kodu, który obecnie posiadam:
Aktywujemy dokument roboczy Ustaw swApp = Application.SldWorks Ustaw część = swApp.ActiveDoc Set FileSys = CreateObject("Scripting.FileSystemObject")
Pobiera pełną ścieżkę do bieżącego dokumentu, łącznie z nazwą pliku PathName = Nazwa_Części.NazwaŚcieżki_Użytkownika Pobiera ścieżkę do bieżącego dokumentu bez nazwy pliku: FilePath = Left(NazwaŚcieżki, InStrRev(NazwaŚcieżki, "\")) Pobiera nazwę pliku: NazwaPliku = Right(NazwaŚcieżki, Len(NazwaŚcieżki) - InStrRev(NazwaŚcieżki, "\")) Typedoc = Prawo(nazwaPliku, 3)
Wybierz typ sprawy Pole "drw", "DRW"
Ustaw swview = Part.GetFirstView Ustaw swview = swview. GetNextView 'włącza/pobiera pierwszy widok dla właściwości niestandardowych Ustaw swRefDoc = swview. ReferencedDocument ' Mamy teraz swRefDoc 3D rysunku
Pobieramy właściwości konfiguracji części referencyjnej lub zespołu configNames = swRefDoc.GetConfigurationNames vConfigNameArr = swRefDoc.GetConfigurationNames
Dla każdej nazwy vConfigName w vConfigNameArr Debug.Print vConfigName vCustInfoNameArr = swRefDoc.GetCustomInfoNames2(vConfigName)
z wyjątkiem tego, że w "configNames" otrzymuję wszystkie konfiguracje części, podczas gdy chciałbym tylko konfigurację części użytej na rysunku, a następnie będę mógł usunąć moją pętlę For Each.
Dziękuję za pomoc, jestem pewien, że to dla ciebie fałszywe.
a w przypadku części lub zespołu szukam, aby wartość określonej właściwości (np. Engineering PartNumber) była obecna tylko w "właściwościach konfiguracyjnych" dla konfiguracji aktywnej części.
Dim swConfigMgr jako SldWorks.ConfigurationManager Dim swConfig jako SldWorks.Configuration .... Set swConfig = swConfigMgr.ActiveConfiguration ' konfiguracja Aktywna stnameConfig = swConfig.Name 'Aktywna nazwa konfiguracji
Dim swCustProp As Variant .... Ustaw swCustProp = swModel.Extension.CustomPropertyManager(swConfig) No_article = swCustProp.Get4("Numer części inżynierskiej", False, val, valout) No_article = valout 'z dim No_article jako ciąg
W ostatnim wierszu poprzedniej wiadomości zmienna swConfig wskazuje na obiekt iConfiguration (w tym przypadku swconfig jest bieżącą konfiguracją), a nie na ciąg zawierający jego nazwę, stąd błąd 13. Prawdopodobnie jest to swConfig.Name jest ciąg znaków, którego należy użyć (nazywany również stnameConfig przez Maclane'a).