Das von .PL vorgeschlagene Makro funktioniert, aber mit einer gewissen "Grenze", die ich verbessern möchte.
1) Dieses Makro enthält nur ganzzahlige Werte, was z.B. kompliziert ist, 1:2-Maßstäbe zu erstellen. Ich möchte eine 0,5er Skala eingeben können und dass diese vom Makro berücksichtigt wird.
2) Das Makro sucht nach dem Wert der Skala in den Dateieigenschaften des Teils auf der Registerkarte "Anpassen" mit dem Typ "Zahl". Daher kann ich keine Beziehung zwischen meiner $PROPRIETE@SCALE-Eigenschaft erstellen, die in "Configuration Specific" und nicht in "Customize" generiert wird. Ist es möglich, die Quelle der Makroskala auf einen "Text"-Typ zu verweisen? Auf diese Weise kann ich eine Beziehung zwischen den beiden Registerkarten herstellen.
Ich verwende ein kleines Stück Code zum Hochskalieren. Ich denke, es sollte für Ihren Fall modifiziert werden können (ich mache alles im Auto, aber mit einem Fragefeld auf der Waage sollten Sie in der Lage sein, das zu ändern)
Abrufen der aktuellen Skala im Bruchformat (a:b) Dim swView As SldWorks.View Legen Sie swView = swdoc fest. GetFirstView Dim ech als Variante ech = swView.ScaleRatio
"Wir haben auf einen Maßstab von 1:1 eingestellt ech1 = swSheet.SetScale(1, 1, Wahr, Wahr)
"Wir kehren zur ursprünglichen Skala zurück, ech(0) für den Zähler und ech(1) für den Nenner ech1 = swSheet.SetScale(ech(0), ech(1), Wahr, Wahr)
Kopieren und Einfügen funktioniert nicht? Endlich findet ihr es in der angehängten Textdatei:)
Bearbeiten: Solange die Änderung für Ihr Makro erfolgte, habe ich die Konstruktion absolut nicht verfolgt. Ich weiß also nicht wirklich, von wo aus du wohin gegangen bist. Es war nur ein Code-Schnipsel, um zu sehen, wie Sie die Brüche im Maßstab erstellen und in Ihr VBA einfügen können
Aber ich bin mir sicher, dass @.PL in der Lage sein wird, Sie durch die gefährlichen Mäander seines Makros zu führen