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)
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.