Posiadam model rysunkowy, na którym jest widok kołnierza z przodu. Aby wyświetlić widok z przodu, muszę wybrać widok z dołu półki. Chcę, za pomocą makra, zmienić konfigurację tego widoku (zmienia się nazwa wyróżniająca).
Rejestrator makr daje mi kod, który działa, ale kiedy uruchamiam makro po raz pierwszy, tworzy konfigurację, która kończy się na "-SM-FLAT-PATTERN" i jestem zmuszony uruchomić go po raz drugi, aby konfiguracja się zmieniła (wyświetla konfigurację utworzoną przy pierwszym uruchomieniu).
Nie chcę tworzyć nowych konfiguracji i uruchamiać makra raz.
Poniżej znajduje się uzyskany kod:
Dim swApp As Object
Przyciemnij część jako obiekt Dim boolstatus As Boolean Dim longstatus As Long, longwarnings As Long
Sub main()
Ustaw swApp = _ Aplikacja.SldWorks
Ustaw część = swApp.ActiveDoc boolstatus = Part.Extension.SelectByID2("Widok rysunku1", "DRAWINGVIEW", 0.267271785970659, 0.323684671386922, 0, Fałsz, 0, Nic, 0) boolstatus = Part.ChangeRefConfigurationOfFlatPatternView("O:\FJS typ kołnierza11B ASA300. SLDPRT", "DN040") Part.ClearSelection2 Prawda Koniec subwoofera
Tak, staram się zautomatyzować tę funkcję, ponieważ musi to być wykonywane na wielu poziomach przez moich kolegów i przeze mnie. Widok nadal ma tę samą nazwę, ale konfiguracja ulega zmianie. Załączam zdjęcie konfiguracji. Chcę zmienić konfigurację zgodnie z wartością DN.
Znalazłem kod, który działa, ale, którą konfigurację chcę wyświetlić, ale chciałbym, aby było to wykonywane automatycznie zgodnie z wartością DN (otrzymuję tę wartość w pliku Excel):
Sub ChangeRefConfig()
Przyciemnij moją aplikację jako SldWorks.SldWorks
Ustaw myApp = Application.SldWorks
Przyciemnij myDraw jako DrawingDoc
Ustaw myDraw = myApp.ActiveDoc
Przyciemnij mójView jako widok
Ustaw myView = myDraw.ActiveDrawingView
Przyciemnij myModel jako ModelDoc2
Ustaw myModel = myView.ReferencedDocument
Dim msg As Ciąg
msg = "Proszę wybrać konfigurację do zmiany na dla widoku " & myView.Name & vbCrLf
Dla i = 0 TB UBound(myModel.GetConfigurationNames)
w rzeczywistości tworzy konfigurację blachy w wersji rozłożonej, stąd nazwa "-SM-FLAT-PATTERN" i odpowiadając PL, DN to średnica nominalna kołnierza. Może uzda i blacha i dlatego tworzy dla Ciebie wersję z płaskim wzorem.
Spójrz w kod swojego pytania, 4 wiersz od dołu, który masz: "boolstatus = Part.ChangeRefConfigurationOfFlatPatternView("O:\FJS Bride " Myślę, że ta część kodu powinna zostać zmodyfikowana lub usunięta, aby nie tworzyła już wersji flatpattern
W przypadku kodu manu67 błąd występuje w wierszu boolstatus = Part.ChangeRefConfigurationOfDefaultView("O:\FJS flange type11B ASA300. SLDPRT", "DN040". Wyświetlany jest następujący błąd: "Błąd wykonania '438': Właściwość lub metoda nie jest obsługiwana przez ten obiekt"
W przypadku kodu .PL błąd znajduje się w wierszu Set swView = swDraw.IGetFirstView: "Runtime error '424': object required. Próbowałem zadeklarować zmienną ConfigName, ale błąd jest taki sam: