Witam
Co się zmieniło:
'----------------------------------------------------------------------------
' Warunki wstępne:
' 1. Otwórz plik public_documents\tutorial\advdrawings\foodprocessor.slddrw.
' 2. Otwórz okno bezpośrednie.
'
' Warunki końcowe:
' 1. Określony kątowy wymiar biegnący zostanie wstawiony do rysunku.
' 2. Sprawdź okno bezpośrednie.
'
UWAGA: Ponieważ model jest używany w innym miejscu, nie zapisuj w nim zmian.
' ---------------------------------------------------------------------------
Dim swApp jako SldWorks.SldWorks
Przyciemnij część jako SldWorks.ModelDoc2
Dim PartExt jako SldWorks.ModelDocExtension
Sun selmgr jako SldWorks.SelectionMgr
Dim dispdim As SldWorks.DisplayDimension
Dim swDispDim As SldWorks.DisplayDimension
Dim vdim As Variant
Dim boolstatus As Boolean
Dim errstatus tak długo
Słońce i tak długo
Opcja jawna
Sub main()
Ustaw swApp = Application.SldWorks
Ustaw część = swApp.ActiveDoc
Ustaw PartExt = Rozszerzenie części
boolstatus = Part.ActivateView("Widok rysunku1")
boolstatus = Part.Extension.SelectByID2("", "WIERZCHOŁEK", 0.17648799570697, 0.195948476524618, 4.7999999999881E-03, Prawda, 0, Nic, 0)
boolstatus = Part.Extension.SelectByID2("", "EDGE", 0.270641278567064, 0.202920893989561, 4.799999999993197E-03, Prawda, 0, Nic, 0)
boolstatus = Part.Extension.SelectByID2("", "EDGE", 0.238383279638647, 0.257816085148446, -3.99999999999592E-04, Prawda, 0, Nic, 0)
boolstatus = Part.Extension.SelectByID2("", "EDGE", 0.154059738580153, 0.26234352359454, 6.00000000247292E-04, Prawda, 0, Nic, 0)
boolstatus = Part.Extension.SelectByID2("", "EDGE", 0.104823845478885, 0.213673560299033, 6.000000000019918E-04, Prawda, 0, Nic, 0)
boolstatus = Part.Extension.SelectByID2("", "EDGE", 0.152361949162868, 0.163871737392003, 6.0000000000019918E-04, Prawda, 0, Nic, 0)
vdim = PartExt.AddAngularRunningDim(Prawda, Prawda, Prawda, 0.154288188900673, 7.94194886913027E-02, 0, errstatus)
Part.SetPickMode
Dla i = 0 Do UBound(vdim)
Ustaw dispdim = vdim(i)
Part.Extension.ReJogRunningDimension
Part.Extension.AlignRunningDimension
Debug.Print "Wyświetlić łańcuchowe wymiary kątowe? " & dispdim. DisplayAsChain
Debug.Print "Uruchomić wymiary kątowe dwukierunkowo? " & dispdim. Bieganie w dwóch kierunkach
Debug.Print "Przedłużyć pomocnicze linie wymiaru od środka kątowego wymiaru roboczego? " & dispdim. ExtensionLineExtendsFromCenterOfSet
Debug.Print "Czy linie pomocnicze są utwardzone? " & dispdim. Ucięty
Debug.Print "Styl linii pomocniczej taki sam jak styl linii odniesienia? " & dispdim. ExtensionLineSameAsLeaderStyle
Debug.Print "Linia wewnętrzna korzysta z ustawień dokumentu? " & dispdim. ExtensionLineUseDocumentDisplay
Następny
Koniec subwoofera
Pogrubioną czcionką:
Wystąpił problem z rzutowaniem wartości zwracanej przez funkcję AddAngularRunningDim() i swDispDim .
Nawiasem mówiąc, funkcja AddAngularRunningDim() zwraca wartość Array(of DisplayDimension), której vba nie mogła rzutować na obiekt.
Kursywą jest to tylko pętla do wyświetlania właściwości utworzonych wymiarów.
Pozdrowienia.