Probleem met het schalen van dxf-export

Hallo

Ik ben zo vrij om uw hulp te vragen omdat ik een probleem heb.

Om mijn boringen in DXF snel op te slaan, gebruik ik een macro (of zelfs PJ), maar sinds vanmorgen, wanneer ik deze gebruik, is de schaal van mijn onderdeel gewijzigd (voor een cirkel ø100 op solidworks merk ik dat ik een ø2000 op mijn DXF heb), aan de andere kant, als ik onder -> DXF opsla, geen zorgen ...

Heeft u ideeën over dit probleem? (Ik weet niets over macro)

Bij voorbaat dank.


saveas_dxf_1.swp

Voor degenen die de macro willen zien zonder deze te downloaden:

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

Het probleem van de schaal is van een kamer of een Europarlementariër?

Omdat niets de schaal in je macro raakt. (eenvoudig dxf opslaan voor een kamer en hetzelfde voor een MEP)

Het lijkt erop dat uw probleem voortkomt uit uw lay-outschaal die afwijkt van die van de weergave en/of een exportoptie. Is het mogelijk om de MEP+het onderdeel te bereiken dat het probleem veroorzaakt?

Het probleem komt van één onderdeel (nou ja, meerdere), maar als ik ze handmatig in DXF opsla, geen problemen, aan de andere kant heb ik met de macro een verandering van schaal.

EDIT: Ik heb net de pc en solidworks opnieuw opgestart en het werkt prima. (een PC of solidworks bug misschien??)

 

Na het testen verschijnt het probleem niet wanneer de macro vanuit de kamer wordt gestart, maar alleen wanneer deze vanuit een tekening wordt gestart. Omdat de geëxporteerde weergave een verhouding is van de bladschaal. Als je in de dxf/DWG export optie tool output schaal 1:1 inschakelt, lost dat dan je probleem op? Anders moet de macrocode worden aangepast.

3 likes