Witam
Chcę przeprowadzić automatyczną wymianę części w SolidWorks za pomocą narzędzia makra. Konkretnie chciałbym wymienić/wymienić jedną część na przedział wartości. Znalazłem poniższe polecenie, ale nie działa;
boolstatus = Part.ReplaceComponents("\\xxxxxxxx.SLDPRT", "", Prawda, 0, Prawda)
Dziękuję za pomoc.
pl
21 Lipiec 2016 08:05
2
Witam
Czy widziałeś przykład w pomocy SolidWorks?
http://help.solidworks.com/2012/English/api/sldworksapi/Replace_Component_Example_VB.htm
Gdzie utknęło twoje makro?
Co to jest komunikat o błędzie?
1 polubienie
Wiadomość o debuggerze, spróbuję studiując to co mi dałeś :)
1 polubienie
W rzeczywistości nie zrozumiałem wszystkiego z twojego kodu, potrzebuję tylko rozkazu wymiany jednej części na drugą, znam sposób na jedno i drugie! Muszę stworzyć tak skomplikowany kod?
pl
25 Lipiec 2016 14:03
6
Wypróbuj ten kod:
Dim swApp As Object (Obiekt Ciemny)
Przyciemnij część jako obiekt
Przyciemnij ścieżkę jako ciąg
Dim boolstatus As Boolean
Sub main()
Ustaw swApp = Application.SldWorks
Ustaw część = swApp.ActiveDoc
Part.ClearSelection2 Prawda
Zastąp tutaj NOM_DE_TA_PIECE_DANS_SOLIDWORKS@NOM-DE-TON-ASSEMBLAGE nazwą części, która ma zostać wymieniona
boolstatus = Part.Extension.SelectByID2("NOM_DE_TA_PIECE_DANS_SOLIDWORKS@NOM-DE-TON-ASSEMBLY", "KOMPONENT", 0, 0, 0, Fałsz, 0, Nic, 0)
path = "C:\folder\nazwa twojej nowej części . SLDPRT"
boolstatus = Part.ReplaceComponents(ścieżka, "", Fałsz, Prawda)
Koniec subwoofera
1 polubienie
To polecenie nie działa, oto mój kod: (debugowanie otwiera się dla ostatniego wiersza)
Sub main()
Ustaw swApp = _ Aplikacja.SldWorks
Ustaw część = swApp.ActiveDoc
Part.ClearSelection2 Prawda
boolstatus = Part.Extension.SelectByID2("Nazwa części-1@Assemblage", "KOMPONENT", 0, 0, 0, Fałsz, 0, Nic, 0)
boolstatus = Part.ReplaceComponents("C:\xxxxxxx\xxxx.sldprt", "", Fałsz, 0, Prawda)
Koniec subwoofera
pl
26 Lipiec 2016 07:34
8
Czy to normalne "C:\xxxxxxx\xxxx.sldprt"?
I czy jesteś pewien, że nie popełniłeś błędu w "Name of the 1@Assemblage Piece"?
Tak, właśnie zamieniłem moje linki na xxxx i tak na drugie pytanie , ponieważ zapisuję je za pomocą narzędzia do nagrywania makr przed...
Właśnie znalazłem błąd..... Trochę o 0 za dużo w mojej kolejności:
boolstatus = Part.ReplaceComponents("C:\xxxxxxx\xxxx.sldprt", "", Fałsz, 0 , Prawda)
Dziękuję bardzo :)
1 polubienie
pl
26 Lipiec 2016 07:51
11
A Ty popełniłeś błąd, kopiując dodatkowo to, co napisałem, bo to co napisałem jest słuszne!
:) Nie martw się, proszę wybrać moją odpowiedź jako najlepszą proszę :)