Witam
Chcę wyświetlić listę wszystkich komponentów aktywnego zespołu w formularzu
komponent1-1@assemblageracine
komponent1-2@assemblageracine
ssassembly1-1@assemblageracine/component2-1@ssassemblage1
itd...
Celem jest następnie wstrzyknięcie wyniku do powyższego makra zgodnie z innymi parametrami.
Sub main()
Ustaw swApp = Application.SldWorks
Ustaw część = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("1052616-1@1052602/2102935-1@1052616", "KOMPONENT", 0, 0, 0, Fałsz, 0, Nic, 0)
Część.Ukryj komponent2
Part.ClearSelection2 Prawda
Koniec subwoofera
Dziękuję
Witam, to powinno ci odpowiadać, trochę wyczyściłem makro pomocy, http://help.solidworks.com/2018/english/api/sldworksapi/solidworks.interop.sldworks~solidworks.interop.sldworks.icomponent2~getchildren.html
Opcja jawna
Sub TraverseComponent(swComp As SldWorks.Component2, nLevel As Long)
Dim vChildComp jako wariant
Dim swChildComp As SldWorks.Component2
Dim swCompConfig jako SldWorks.Configuration
Dim sPadStr As String
Słońce i tak długo
Dla i = 0 Do nLevel - 1
sPadStr = sPadStr + " "
Dalej i
vChildComp = swComp.GetChildren
Dla i = 0 TB UBound(vChildComp)
Ustaw swChildComp = vChildComp(i)
Debug.Print sPadStr & "+" & swChildComp.Name2 & " "
PrzechodzićKomponent swChildComp, nLevel + 1
Dalej i
Koniec subwoofera
Sub main()
Dim swApp jako SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Przyciemnij swAssy jako SldWorks.AssemblyDoc
Dim swConf As SldWorks.Configuration
Dim swRootComp jako SldWorks.Component2
Dim nStart tak długo
Dim bRet As Boolean
Dim fileName As Ciąg
Błędy przyciemnienia tak długo
Ostrzeżenia o przyciemnieniu tak długo
Ustaw swApp = CreateObject("SldWorks.Application")
' Otwarty montaż
fileName = "C:\Użytkownicy\Publiczny\Dokumenty\SOLIDWORKS\SOLIDWORKS 2018\samples\tutorial\smartcomponents\stepped_shaft.sldasm"
Set swModel = swApp.OpenDoc6(nazwa_pliku, swDocumentTypes_e.swDocASSEMBLY, swOpenDocOptions_e.swOpenDocOptions_Silent, "", błędy, ostrzeżenia)
Ustaw swConf = swModel.GetActiveConfiguration
Ustaw swRootComp = swConf.GetRootComponent3(True)
nStart = Zegar
Debug.Print "Plik = " & swModel.GetPathName
Komponent trawersu swRootComp, 1
Debug.Print ""
Debug.Print "Czas = " & Timer - nStart & " sekundy"
Koniec subwoofera
2 polubienia
działa dobrze, dziękuję mandragora