Witam
Poniżej wyjaśniam, co próbuję zrobić, mam nadzieję, że wyrażę się jasno.... FYI Nic nie wiem o VB
Chcę zautomatyzować tworzenie moich DXF-ów
Z załączonego pliku Excel,
zmienne: jeśli wartość kolumny X="Nowa" i wartość kolumny Y="Wyprodukowana" lub "Część/Zestaw operacji", otwórz 3d odpowiednich części (ścieżka = wartość komórki X6 & wartość kolumny L & .sldprt) i zapisz je w ". DXF" na następujący adres "\\10.3.0.145\common\DAO\Iges-fao" pod odpowiednią nazwą w kolumnie M tabeli programu Excel
i zapętl to we wszystkich wierszach, w których zostaną znalezione zmienne X="Nowy" i wartość kolumny Y="Wyprodukowano" lub "Zestaw/Część/Operacja"
dziękuję za pomoc
Gdyby komuś udało się mi to zrobić, bardzo by mi to pomogło i w miarę możliwości jednocześnie jeszcze lepiej wyjaśniło linie makra....
Mam nadzieję, że wyraziłem się jasno
Dziękuję za pomoc
template_bom_v2.xlsm
Oto kod do otwarcia pokoju lub MEP z SW:
Sub EssaiSW()
Dim swApp As SldWorks.SldWorks
Dim swModelUn As SldWorks.ModelDoc2
Dim swModelDeux As SldWorks.ModelDoc2
If swApp Is Nothing Then
Set swApp = CreateObject("SLDWORKS.application")
swApp.Visible = True
Else
Set swApp = Application.SldWorks
End If
Set swDocSpecification = swApp.GetOpenDocSpec("C:\Temp\Pièce5.sldprt")
Set swModelUn = swApp.OpenDoc7(swDocSpecification)
MsgBox swModelUn.GetTitle
Set swDocSpecification = swApp.GetOpenDocSpec("C:\Temp\Pièce5.slddrw")
Set swModelUn = swApp.OpenDoc7(swDocSpecification)
MsgBox swModelUn.GetTitle
swApp.CloseDoc swModelUn.GetTitle
Set swModelUn = swApp.ActiveDoc
MsgBox swModelUn.GetTitle
Set swDocSpecification = swApp.GetOpenDocSpec("C:\Temp\Pièce6.sldprt")
Set swModelDeux = swApp.OpenDoc7(swDocSpecification)
swApp.CloseDoc swModelUn.GetTitle
MsgBox swModelDeux.GetTitle
swApp.CloseDoc swModelDeux.GetTitle
End Sub
Należy również dodać następującą referencję do makra programu Excel:
Z drugiej strony, jeśli nie wiesz nic o vba, lepiej zaopatrz się w listę plików do przetworzenia za pomocą formuł Excela na dodatkowej karcie. Musimy odzyskać całą ścieżkę.
(jeśli wartość kolumny X="Nowa" i wartość kolumny Y=" Wyprodukowana" lub " Część/Zestaw operacji", otwórz 3d odpowiednich części (ścieżka = wartość komórki X6 i wartość kolumny L & .sldprt) i zapisz je w ". DXF" pod następującym adresem "\\10.3.0.145\common\DAO\Iges-fao" pod odpowiednią nazwą w kolumnie M tabeli Excela...)
Następnie eksportujesz tę listę w formacie csv i tworzysz regułę w sekcji Integracja (bezpłatna dla klientów Mycadservice), aby zbiorczo wyeksportować wszystkie pliki z listy csv:
https://help.visiativ.com/mycadtools/2020/fr/Integration.html
W ten sposób integracja jest znacznie prostsza, jeśli nie masz żadnej wiedzy na temat VBA.
Wszystko, co musisz zrobić, to wykonać automatyczne sortowanie za pomocą formuły Excel, a następnie wyeksportować do pliku csv.
Zaimportuj swoją listę csv do Integracji, zastosuj do niej swoją regułę (wyeksportuj swoją część w formacie dwg lub dxf)
O ile w przypadku VBA nadal musisz radzić sobie z pętlą zwrotną z warunkami, eksportem dxf i implementacją tego wszystkiego w Excelu, o tyle bez wiedzy może to być bardzo skomplikowane.
1 polubienie