Problem ze skalowaniem eksportu dxf

Witam

Pozwalam sobie prosić o pomoc, ponieważ mam problem.

Aby szybko zapisać moje otwory w DXF, używam makra (lub nawet PJ), ale od dzisiejszego ranka, kiedy go używam, skala mojej części jest modyfikowana (dla koła ø100 w solidworks znajduję się z ø2000 na moim DXF), z drugiej strony, jeśli zapiszę pod -> DXF, nie martw się...

Czy masz jakieś pomysły na ten problem? (Nie znam się na makro)

Z góry dziękuję.


saveas_dxf_1.swp

Dla tych, którzy chcą zobaczyć makro bez jego pobierania:

'**************************************************************************************************************************
'* 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

Problem skali dotyczy pokoju czy posła do Parlamentu Europejskiego?

Ponieważ nic nie dotyka skali w makrze. (prosty zapisz dxf dla pokoju i to samo dla MEP)

Wygląda na to, że problem wynika ze skali układu innej niż w widoku i/lub opcji eksportu. Czy możliwe jest skontaktowanie się z częścią MEP+, która powoduje problem?

Problem wynika z jednej części (no kilka), ale gdy zapisuję je w DXF ręcznie, nie ma problemów, z drugiej strony z makrem mam zmianę skali.

EDIT: Właśnie zrestartowałem komputer i solidworks i działa dobrze. (może błąd PC lub solidworks??)

 

Po przetestowaniu problem nie pojawia się mi po uruchomieniu makra z pomieszczenia, ale tylko wtedy, gdy jest uruchamiane z rysunku. Ponieważ wyeksportowany widok jest stosunkiem skali arkusza. Jeśli w narzędziu opcji eksportu dxf/DWG włączysz skalę wyjściową 1:1, czy to rozwiąże Twój problem? W przeciwnym razie kod makra będzie musiał zostać zmodyfikowany.

3 polubienia