Tworzenie makra otwierającego plik solidworks z Excela

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