Problem beim Skalieren des DXF-Exports

Hallo

Ich erlaube mir, Sie um Hilfe zu bitten, weil ich ein Problem habe.

Um meine Bohrungen in DXF schnell zu speichern, verwende ich ein Makro (oder sogar PJ), aber seit heute Morgen, wenn ich es benutze, wird der Maßstab meines Teils geändert (für einen Kreis ø100 auf Solidworks finde ich mich mit einem ø2000 auf meinem DXF wieder), auf der anderen Seite, wenn ich unter -> DXF speichere, keine Sorge ...

Haben Sie irgendwelche Ideen zu diesem Problem? (Ich weiß nichts über Makro)

Vielen Dank im Voraus.


saveas_dxf_1.swp

Für diejenigen, die das Makro sehen möchten, ohne es herunterzuladen:

'**************************************************************************************************************************
'* Exemple de macro qui permet d'enregistrer les document au format DXF
'* Vous pouvez Changer l'extention pour enregistrer le document dans n'importe quelle format supporté par SW
'* Exemple réalisé par Axemble
'**************************************************************************************************************************
Sub main()
    Dim swApp As SldWorks.SldWorks
    Dim swmodel As SldWorks.ModelDoc2
    Dim stPath As String
    Dim lgFichier As Long
    Dim blretval As Boolean
    Dim Errors As Long
    Dim Warnings As Long
    
    Set swApp = Application.SldWorks
    'on récupére le document actif
    Set swmodel = swApp.ActiveDoc
    
    If Not swmodel Is Nothing Then
       'on vérifie que le fichier est enregisté
        If swmodel.GetPathName = "" Then
            MsgBox "Veuillez enregistrer votre document avant de lancer la macro", vbInformation
            End
        Else
            '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
        End If
        
        'si le document est une pièce
        If swmodel.GetType = swDocPART Then
           'on créer le développé
            blretval = swmodel.ExportFlatPatternView(stPath & ".DXF", 0)
            'on créer le DXF
            blretval = swmodel.SaveAs3(stPath & ".DXF", 0, 0)
            
            'si le document est une mise en plan
        ElseIf swmodel.GetType = swDocDRAWING Then
            'on créer le DXF
            blretval = swmodel.SaveAs3(stPath & "_drw.DXF", 0, 0)
        End If
    
        'on sauvegarde le fichier
        blretval = swmodel.Save3(0, 0, 0)
   
    End If
End Sub

Das Problem der Skalierung kommt von einem Raum oder einem MEP?

Denn nichts berührt die Skala in Ihrem Makro. (einfach dxf für einen Raum speichern und das Gleiche für einen MEP)

Es scheint, dass Ihr Problem von Ihrem Layoutmaßstab herrührt, der sich von dem der Ansicht und/oder einer Exportoption unterscheidet. Ist es möglich, das MEP+Teil zu erreichen, das das Problem verursacht?

Das Problem kommt von einem Teil (naja, mehrere), aber wenn ich sie manuell in DXF speichere, keine Probleme, auf der anderen Seite habe ich mit dem Makro eine Änderung des Maßstabs.

BEARBEITEN: Ich habe gerade den PC und Solidworks neu gestartet und es funktioniert einwandfrei. (vielleicht ein PC- oder Solidworks-Fehler??)

 

Nach dem Testen tritt das Problem bei mir nicht auf, wenn das Makro aus dem Raum gestartet wird, sondern nur, wenn es aus einer Zeichnung gestartet wird. Weil die exportierte Ansicht ein Verhältnis der Blattskala ist. Wenn Sie im dxf/DWG-Exportoptionstool die Ausgabeskalierung 1:1 aktivieren, löst das Ihr Problem? Andernfalls muss der Makrocode geändert werden.

3 „Gefällt mir“