Gestern habe ich 2 Makros erstellt, um mein Leben beim Zeichnen zu vereinfachen, indem ich das (2x) oder (4x) zu einer Dimension hinzugefügt habe. Es funktioniert sehr gut, wenn die Bewertung blank ist, d.h. nur 95. Auf der anderen Seite, wenn ich einen M6 oder Ø12 habe, ersetzt er meine Bewertung durch 6 (2x) und 12 (2x), ich verliere das Präfix jedes Mal. Wie geht das, gibt es eine Lösung? Auf Creo habe ich diese Variable (2x) in das Suffixfeld eingefügt, aber sie existiert nicht auf Solidworks. Vielen Dank im Voraus
Viel Erfolg beim Übergang von Créo zu Solidworks. Ich habe mich nach dem 1. bereuten Sldw viel ... und jetzt mache ich das Gegenteil
Wenn nicht, können Sie Ihren VBA-Code freigeben, damit die Experten Ihnen bei mehr Anpassungen als im allgemeinen Fall helfen können?
Aber aus der Ferne habe ich den Eindruck, dass Sie das Geschriebene überschreiben, um es durch die Dimension (x2) oder die Dimension (x4) zu ersetzen Um es richtig zu machen, sollten Sie ihm lieber sagen, dass er die Anzahl der Zeichen in Ihrer Dimension zählen soll, und dann Ihr (x2) oder (x4) an das Ende Ihres Zählers hinzufügen
In der Tat überschreibe ich, was geschrieben steht... Aber ein Makro zu erstellen, um die Anzahl der Zeichen zu zählen und meine (2x) hinzuzufügen, die ich nicht beherrsche... Hier ist mein Anfängermakro: 2x.swp (23.5 KB)
Gut gemacht für die Software-Umstellung nach so langer Zeit. Das ist eine ganze Logik, die in Frage gestellt werden muss!
Sie können Ihren Code erheblich erleichtern Die ersten 4 Zeilen von boolstatus sind nur die Schritt-für-Schritt-Anleitung des Schreibens (2x). So können Sie einfach die letzte Zeile behalten. Dies würde
Dimmen swApp als Objekt
Teil als Objekt dimmen Dim boolstatus als boolescher Wert Dim longstatus As Long, longwarnings As Long
Sub main()
Legen Sie swApp = Application.SldWorks fest
Set Part = swApp.ActiveDoc myModelView als Objekt dimmen Festlegen von myModelView = Part.ActiveView myModelView.FrameState = swWindowState_e.swWindowMaximized boolstatus = Part.EditDimensionProperties2(0, 0, 0, " ", "", False , 1, 2, True, 12, 12, " ", " (2x)", True, " ", "", True ) Part.ClearSelection2 Wahr Ende Sub
Und dann trockne ich ein bisschen aus. Der Part.EditDimensionProperties2-Code ruft die Parameter der Dimension auf, in der Sie die Dimension gespeichert haben. Sie müssten also herausfinden, wie Sie Ihre aktuellen Einstellungen speichern und sie daran erinnern können, wenn Sie (2x) ... oder wie Sie einfach den 13. Parameter Ihrer Funktion ändern
Hier, nachdem ich ein wenig im Netz geschaut habe, eine Lösung, die funktionieren sollte Ich erlaubte mir, sie ein wenig zu " pimpen". Wenn Sie auf das Makro klicken, werden Sie gefragt, wie oft Sie wiederholen möchten, und am Ende wird das (x) hinzugefügt.
Sub QteRepetition()
Dim swApp als SldWorks.SldWorks Dim swModel As SldWorks.ModelDoc2 Sun swSelMgr As SldWorks.SelectionMgr Dim swDispDim As SldWorks.DisplayDimension Dim swDim As SldWorks.Dimension
Dimmen SuffixStrom als Zeichenfolge Dim: NeoSuffix als String
Legen Sie swApp = Application.SldWorks fest Festlegen von swModel = swApp.ActiveDoc
Legen Sie swSelMgr = swModel.SelectionManager fest Set swDispDim = swSelMgr.GetSelectedObject6(1, 0) Festlegen von swDim = swDispDim.GetDimension
"Setzt das derzeitige Suffix um. SuffixCurrent = swDispDim.GetText(swDimensionTextSuffix) "Auszufüllender Text NeoSuffix = InputBox(" Anzahl der Wiederholungen ") NeoSuffix = " (" & NeoSuffix & " x) " "ändert das Suffix für die Bemaßung swDispDim.SetText, swDimensionTextSuffix, NeoSuffix 'Weist der ausgewählten Dimension das Suffix zu' swDispDim.SetText, swDimensionTextSuffix, SuffixCurrent & NeoSuffix
swModel.GraphicsRedraw2 Ende Sub
Wenn Sie das Fragefeld nicht möchten, ersetzen Sie es einfach