Eksport zestawu do . Plik DWG

Witam

Czy można wyeksportować widok zespołu w programie . DWG? (Przyjeżdżam z częścią, ale nie z zespołem)

Dziękuję

Miłego dnia

Witam

Musiałbyś tymczasowo zapisać swój zespół w PART, aby móc go wyeksportować w formacie DWG.

1 polubienie

Właściwie, na razie przeglądam układ.

Ale chciałem wiedzieć, czy jest szybszy.

Chyba, że coś przeoczyłeś, nie sądzę.

Poczekaj na inną odpowiedź.

1 polubienie

poprzez rysunek ;-)

po prostu zapisz zespół jako część i wybierz wszystkie komponenty, a następnie traktuj tę nową część jak każdą tradycyjną część (eksport do DXF, DWG)

@+ ;-)

1 polubienie

W zasadzie to jest to, co już robię^^

Nie ma więc nic prostszego niż to, prosto z montażu.

Dziękuję za odpowiedzi ;)

Witam

Aby uniknąć wszystkich tych kroków, możesz również utworzyć małe makro, które automatyzuje transformację asm do prt, a następnie eksportuje go do DWG, wystarczy jedno kliknięcie, aby osiągnąć to, czego chcesz.

Do wykonania kopii zapasowej asm w prt jest to proste Part.Saveas3(nomprt, 0, 0) do zrobienia, a do eksportu w DWG powinieneś być w stanie użyć makra : http://help.solidworks.com/2016/english/api/sldworksapi/export_part_to_dwg_example_vb.htm

Pozdrowienia

3 polubienia

Zobacz załączone makro, aby uzyskać inspirację.

Pozdrowienia


asmtodwg.swp powiedział:
2 polubienia

Poprzednie makro używa funkcji "ExportFlatPatternView", która jest przestarzała i przenosi tylko widok z przodu, to używa funkcji zastępczej "ExportToDWG2" i pozwala utworzyć plik DWG każdego widoku, myślę, że będzie to bardziej zgodne z tym, co chcesz zrobić.

Pozdrowienia


asmtodwg-v2.swp
1 polubienie

Dziękuję bardzo

Nigdy nie używałem Makro, czy możesz mi to wyjaśnić w dwóch słowach?

Dziękuję

asmtodwg-v2.swp nie działa, mam wrażenie , że


screen_shot_10-17-17_at_09.26_am.jpg

Witam

Z której wersji oprogramowania korzystasz? Biblioteki załadowane w moim makrze są przeznaczone dla SW2017.

W oprogramowaniu możesz wykonać: Narzędzia / Makro / Nowy i skopiować poniższy kod, aby zastąpić ten, który jest automatycznie zapisywany w nowym makrze, następnie ładujesz zestaw testowy w oprogramowaniu i na koniec wykonujesz  F5 w oknie Visual Basic.

Pozdrowienia

Dim swApp As Object
Public swModel As SldWorks.ModelDoc2

Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long

Sub main()

    Set swApp = Application.SldWorks
    
    Set swModel = swApp.ActiveDoc
    Set Part = swApp.ActiveDoc
    Dim myModelView As Object
    Set myModelView = Part.ActiveView
    myModelView.FrameState = swWindowState_e.swWindowMaximized

    'on récupére le document actif
    Set swModel = swApp.ActiveDoc
    
    If Not swModel Is Nothing Then
       'on récupére l'emplacement du fichier
        stPath = swModel.GetPathName

        'on récupére le nombre de caractére jusqu'au . de l'extension
        lgFichier = InStrRev(stPath, ".", -1, vbTextCompare) - 1
        'on récupére le chemin sans l'extention
        If lgFichier > 0 Then
              stPath = Left(stPath, lgFichier)
        End If
        
        'si le document est un assemblage
        If swModel.GetType = swDocASSEMBLY Then
            'on créer le SLDPRT
            longstatus = Part.SaveAs3(stPath + ".sldprt", 0, 0)
            'On ferme le SDLASM
            swApp.CloseDoc swModel.GetTitle
            'On ouvre le SLDPRT
            Set swModel = swApp.OpenDoc6(stPath + ".sldprt", 1, 0, "", longstatus, longwarnings)
        End If
        
        'si le document est une pièce
        If swModel.GetType = swDocPART Then
            'On l'exporte en DWG
            ExportDWG
        End If
    End If

End Sub

Sub ExportDWG()
    Dim swPart As SldWorks.PartDoc
    Dim sModelName As String
    Dim sPathName As String
    Dim varAlignment As Variant
    Dim dataAlignment(11) As Double
    Dim varViews As Variant
    Dim dataViews(5) As String
    Dim options As Long

    Set swModel = swApp.ActiveDoc

    sModelName = swModel.GetPathName
    sPathName = swModel.GetPathName
    sPathName = Left(sPathName, Len(sPathName) - 6)
    sPathName = sPathName + "dwg"

    Set swPart = swModel

    dataAlignment(0) = 0#
    dataAlignment(1) = 0#
    dataAlignment(2) = 0#
    dataAlignment(3) = 1#
    dataAlignment(4) = 0#
    dataAlignment(5) = 0#
    dataAlignment(6) = 0#
    dataAlignment(7) = 1#
    dataAlignment(8) = 0#
    dataAlignment(9) = 0#
    dataAlignment(10) = 0#
    dataAlignment(11) = 1#

    varAlignment = dataAlignment

    dataViews(0) = "*En cours"
    dataViews(1) = "*Face"
    dataViews(2) = "*Droite"
    dataViews(3) = "*Gauche"
    dataViews(4) = "*Dessus"
    dataViews(5) = "*Arrière"

    varViews = dataViews

    swPart.ExportToDWG2 sPathName, sModelName, swExportToDWG_ExportAnnotationViews, False, varAlignment, False, False, 0, varViews
End Sub

 

1 polubienie

Witam, nagrywam całość w pokoju, a następnie robię dwg.

Pozdrowienia

1 polubienie

Jestem w 2016 sp3

To nadal nie działa.


screen_shot_10-19-17_at_11.49_am.jpg

Witam

Tam właśnie vba trochę mnie denerwuje ...

Spróbuj wymienić linie:

"Jeżeli dokument jest dokumentem
Jeśli swModel.GetType = swDocPART Then
     "Eksportujemy go w formacie DWG
     Eksport DWG
Zakończ jeżeli:

przez:

"Jeżeli dokument jest dokumentem
Jeśli swModel.GetType = swDocPART Then
     "Eksportujemy go w formacie DWG
     ExportDWG swModel
Zakończ jeżeli:

Następnie linia:

Eksport podrzędny DWG

Przez:

Sub ExportDWG(swModel As SldWorks.ModelDoc2)

I znowu wiersz (ten w Sub ExportDWG(.....):

Ustaw swModel = swApp.ActiveDoc

Przez:

'Ustaw swModel = swApp.ActiveDoc

Załaduj zestaw, a następnie uruchom makro za pomocą F5

Pozdrowienia

1 polubienie

Wielkie podziękowania d.roger,

to działa:D

Z drugiej strony generuje dla mnie plik

W jaki sposób mogę uzyskać to samo makro dla samych części?

Mam sposób na samą modyfikację makra, aby się nauczyć

Witam

Dla samych części jest to to samo makro, ponieważ w tym przekształcam asm w prt, a następnie uruchamiam transformację do dwg na prt, więc ładujesz część, a następnie uruchamiasz makro i zwykle  otrzymujesz 6 DWG utworzonych w folderze Windows części, Przynajmniej dla mnie to też działa.

Pozdrowienia

1 polubienie

Bardzo dziękuję za pomoc ;)