Trotz meiner diversen Recherchen im Forum und im Internet werde ich nicht fündig... Daher meine Frage
Der Zweck meines Makros besteht darin, eine Solidworks-Zeichnung in verschiedenen Formaten für die Archivierung zu speichern, insbesondere im DXF-Format für das Laserschneiden.
Um sicherzustellen, dass mein DXF gut ist, möchte ich sicherstellen, dass der Maßstab 1:1 ist. Wie macht man das?
Ich habe herausgefunden, wie ich die Skala ändern kann, aber ich möchte den Benutzer warnen, dass seine Skala geändert werden muss, um Fehler zu vermeiden.
Um genauer zu sein, würde ich gerne einen Test machen wie: Wenn Maßstab = 1:1, dann weiter oder stopp
Danke für Ihre Hilfe! Die VBA-Programmierung unter solidwoks ist noch nicht sehr gut lesbar...
Wenn Sie das DXF aus dem 3D generieren, kommt es immer bei Maßstab 1 heraus, und wenn Sie Ihr DXF aus dem MEP herausnehmen, wird der Maßstab manchmal durcheinander gebracht...
Ansonsten haben wir eine tolle Ergänzung, um die Dateien als Laserschneiddateien auszugeben:
Indem ich Teile der Antwort aus jedem Ihrer Kommentare genommen habe, habe ich es geschafft, mein Problem zu lösen und Ihnen zu danken!
Der entsprechende Teil der Côde lautet wie folgt:
Dimmen swApp als Objekt Dimmen des Teils als SldWorks.ModelDoc2 Dim swView As SldWorks.View Dim swModExt As SldWorks.ModelDocExtension Dim swPathDir als Zeichenfolge Dim swPath als Zeichenfolge Dim echf As Variant 'Die Blattwaage wird im Bruchformat gespeichert (a:b) Dim echV1 As Variant 'Der Maßstab von Ansicht 1 wird im Bruchformat (a:b) gespeichert Dim Rep als Variante 'Für MsgBox Storage
Unter-RegistrierungDXFPDF()
Legen Sie swApp = Application.SldWorks fest Set Part = swApp.ActiveDoc
"------------ Abrufen von Informationen (1) Festlegen von swModExt = Part.Extension Set prop = swModExt.CustomPropertyManager("")
Set swView = Part.GetFirstView ' wobei die erste Ansicht die echf = swView.ScaleRatio ' Skalenabruf Set swView = swView.GetNextView 'Wechsel zur ersten Ansicht echV1 = swView.ScaleRatio ' Skalieren Abrufen Rückgewinnung von Münzen Festlegen von swModel = swView.ReferencedDocument Legen Sie swModExt = swModel.Extension fest
"------------ Sicherheitskontrollen '--Überprüfung des Maßstabs des Blattes-- Wenn echf(0) <> »1« oder echf(1) »1« <>, dann Rep = MsgBox("Achtung, der Maßstab des Blattes ist " & echf(0) & ":" & echf(1) & vbCrLf & _ "Möchten Sie fortfahren?", vbJaNein, "Dxf Pdf Aufnahme") Wenn Rep = vbNo, dann Sub beenden Ende, wenn "--Überprüfung des Maßstabs der Aussicht-- Wenn echV1(0) <> "1" oder echV1(1) "1" <>, dann Rep = MsgBox("Achtung, der Maßstab der Ansicht ist " & echV1(0) & ":" & echV1(1) & vbCrLf & _ "Möchten Sie fortfahren?", vbJaNein, "Dxf Pdf Aufnahme") Wenn Rep = vbNo, dann Sub beenden Ende, wenn