Exportieren der Assembly nach . DWG-Datei

Hallo

Ist es möglich, eine Ansicht einer Baugruppe in . DWG? (Ich komme mit einem Teil, aber nicht mit einer Baugruppe)

Vielen Dank

Schönen Tag

Hallo

Sie müssten Ihre Baugruppe vorübergehend in PART speichern, um sie in DWG exportieren zu können.

1 „Gefällt mir“

Tatsächlich gehe ich im Moment das Layout durch.

Aber ich wollte wissen, ob es einen schnelleren gibt.

Es sei denn, Sie haben etwas übersehen, glaube ich nicht.

Warten Sie auf eine andere Antwort.

1 „Gefällt mir“

durch eine Zeichnung ;-)

Speichern Sie einfach die Baugruppe als Teil, wählen Sie alle Komponenten aus und behandeln Sie dieses neue Teil wie jedes herkömmliche Teil (Export nach DXF, DWG)

@+ ;-)

1 „Gefällt mir“

Im Grunde mache ich das schon^^

Einfacher geht es also nicht, direkt aus der Montage.

Vielen Dank für Ihre Antworten;)

Hallo

Um all diese Schritte zu vermeiden, können Sie auch ein kleines Makro erstellen, das die Umwandlung des ASM in prt automatisiert und dann in DWG exportiert, es dauert nur einen Klick, um das zu erreichen, was Sie möchten.

Für die Sicherung des asm in prt ist es ein einfaches Part.Saveas3(nomprt, 0, 0) zu tun und für den Export in DWG sollten Sie in der Lage sein, das Makro zu verwenden: http://help.solidworks.com/2016/english/api/sldworksapi/export_part_to_dwg_example_vb.htm

Herzliche Grüße

3 „Gefällt mir“

Sehen Sie sich das angehängte Makro an, um sich inspirieren zu lassen.

Herzliche Grüße


asmtodwg.swp
2 „Gefällt mir“

Das vorherige Makro verwendet die Funktion "ExportFlatPatternView", die veraltet ist und nur die Vorderansicht überträgt, dieses verwendet die Ersetzungsfunktion "ExportToDWG2" und ermöglicht es Ihnen, von jeder Ansicht ein DWG zu erstellen, ich denke, es wird eher dem entsprechen, was Sie tun möchten.

Herzliche Grüße


asmtodwg-v2.swp
1 „Gefällt mir“

Vielen Dank

Ich habe das Makro noch nie benutzt, können Sie es mir in zwei Worten erklären?

Vielen Dank

asmtodwg-v2.swp funktioniert nicht, ich habe den Eindruck ,


screen_shot_10-17-17_at_09.26_am.jpg

Hallo

Welche Version von SW verwendest du? Die Bibliotheken, die in meinem Makro geladen wurden, sind für SW2017.

In SW können Sie Folgendes tun: Extras / Makro / Neu und kopieren Sie den folgenden Code, um den Code zu ersetzen, der automatisch in das neue Makro geschrieben wird, dann laden Sie eine Testassembly in der SW und schließlich führen Sie F5 im Visual Basic-Fenster aus .

Herzliche Grüße

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 „Gefällt mir“

Hallo, ich nehme das Ganze im Raum auf und dann mache ich ein DWG.

Herzliche Grüße

1 „Gefällt mir“

Ich bin im Jahr 2016 sp3

Es funktioniert immer noch nicht.


screen_shot_10-19-17_at_11.49_am.jpg

Hallo

Da nervt mich der VBA ein wenig...

Versuchen Sie, die Linien zu ersetzen:

"Handelt es sich bei dem Dokument um ein Dokument
Wenn swModel.GetType = swDocPART, dann
     "Wir exportieren es in DWG
     DWG exportieren
Ende, wenn

bis:

"Handelt es sich bei dem Dokument um ein Dokument
Wenn swModel.GetType = swDocPART, dann
     "Wir exportieren es in DWG
     DWG swModell exportieren
Ende, wenn

Dann die Zeile:

Sub ExportDWG

Bis:

Sub ExportDWG(swModel As SldWorks.ModelDoc2)

Und wieder die Zeile (die in der Sub ExportDWG(.....):

Festlegen von swModel = swApp.ActiveDoc

Bis:

'Set swModel = swApp.ActiveDoc

Laden Sie die Baugruppe, und starten Sie dann das Makro mit F5

Herzliche Grüße

1 „Gefällt mir“

Großes Dankeschön d.roger,

es funktioniert:D

Auf der anderen Seite generiert es eine Datei für mich

Wie bekomme ich das gleiche Makro nur für die Teile?

Ich habe eine Möglichkeit, das Makro alleine zu ändern, um zu lernen

Hallo

Für die Teile allein ist es das gleiche Makro, da ich in diesem das asm in prt umwandele, dann starte ich die Transformation in dwg auf dem prt, also laden Sie ein Teil, dann starten Sie das Makro und Sie erhalten normalerweise  die 6 DWG, die im Windows-Ordner des Teils erstellt werden, Zumindest bei mir funktioniert es auch.

Herzliche Grüße

1 „Gefällt mir“

Vielen Dank für Ihre Hilfe;)