Witam
Chcę odczytać nazwy części w drzewie tworzenia i zapisać je w zmiennych.
Lubię co:
Zmienna1= "Pierścień korony 26"
Zmienna2= "EP-BC-AR
...
...
(patrz załącznik)
Dziękuję za pomoc,
JB
capture.png
Witam
Chcę odczytać nazwy części w drzewie tworzenia i zapisać je w zmiennych.
Lubię co:
Zmienna1= "Pierścień korony 26"
Zmienna2= "EP-BC-AR
...
...
(patrz załącznik)
Dziękuję za pomoc,
JB
Witaj jb!
Mimo moich wątpliwości udało mi się tak:
TreePiece = InputBox("wprowadź nazwę części, która ma zostać wybrana, jak również jej numer w drzewie" & vbCrLf & "00-XXXXX-0-Piece-3" & vbCrLf & "'-3' będąc tutaj indeksem wystąpienia")
Następuje
swModel.ClearSelection2 Prawda
bstatus = swModel.Extension.SelectByID2(stnewfilename & "@SE-XXXXX-0-Trajectory", "KOMPONENT", 0, 0, 0, Prawda, 0, Nic, 0)
w celu wybrania kawałka :-)
Zobacz interfejs API metody GetComponents (IAssemblyDoc)
Oto przykład
Dim swDoc jako SldWorks.ModelDoc2
Dim swAss jako SldWorks.AssemblyDoc
Dim stOldFileName As String, stNewFileName As String
Dim bStatus As Boolean
Sub main()
Ustaw swApp = Application.SldWorks
Ustaw swDoc = swApp.ActiveDoc
Jeśli swDoc jest niczym, wyjdź z sub
Jeśli swDoc.GetType <> swDocumentTypes_e.swDocASSEMBLY, wyjdź z sub
Ustaw swAss = swDoc
Dim swComponents As Variant: swComponents = swAss.GetComponents(True)
Dla i = 0 TB UBound(swComponents)
MsgBox swComponents(i). Nazwa
Następny
Koniec subwoofera
Aż za dobrze!
Dziękuję
Czy w ten sposób można również uzyskać połączenie z pokojem?
Z góry dziękuję
Dobry wieczór wszystkim,
Nie rozumiem twojej prośby>> "Czy w ten sposób można również uzyskać link do pokoju?"
Klasa A+
MC
Nie rozumiem też linku do pokoju?
Witam
Moim celem jest modyfikowanie równań na podstawie wymiarów części zespołu ( pytanie o równanie makro na forum).
Aby to zrobić, moim pierwszym pomysłem była edycja części w zespole w celu zmodyfikowania równań. (na makro)
z wyjątkiem, że:
Dla i = 0 Do swEquationMgr.GetCount - 1 (w moim programie)
nie działa w edytowanej części ==> koniec pętli
A więc dwa rozwiązania:
- 1) zmień swEquationMgr.GetCount , aby móc odczytywać równania w edytowanej części
- 2) otwórz części jeden po drugim, w których działa swEquationMgr.GetCount
Pierwszy z nich byłby prawdopodobnie lepszy ze względu na prostotę i wykonanie programu. Przeprowadziłem pewne badania na temat korzystania z metody GetEquationMgr (IModelDoc2), ale nie znalazłem niczego, co by mi pomogło.
W przypadku drugiego musisz mieć pełny link, aby otworzyć pokój:
przykład
Ustaw część = swApp.OpenDoc6("D:\LIBRARY\03-Ramię biblioteki technicznej\EP-BC-AR. SLDPRT", 1, 0, "", longstatus, longwarnings)
Ustaw część = swApp.ActiveDoc
a zatem, otwierając zespół, aby móc odczytać połączenie składających się na niego części, aby je otworzyć.
Oczywiście ta metoda spowolni program.
Mam nadzieję, że wyraziłem się trochę jaśniej^^
Dziękuję
JB
W porządku!
PRB rozwiązany!
Dziękuję za pomoc!