| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS | | | | Auszubildende der HERMLE AG bei SolidCAM, eine Pressemitteilung
|
Autor
|
Thema: Makro für Toleranz-Definition (659 mal gelesen)
|
from scratch Mitglied Techniker TS
Beiträge: 5 Registriert: 25.05.2023
|
erstellt am: 25. Mai. 2023 10:02 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen Ich habe ein Reihe Makros erstellt, mit dem ich Bemassungswerte mit wiederkehrenden symmetrischen Toleranzen (z.B. ±0.1, siehe Code) versehen kann. Code:
Option Explicit Dim swApp As Object Dim Part As Object Dim boolstatus As BooleanSub main() Set swApp = Application.SldWorks Set Part = swApp.ActiveDoc boolstatus = Part.EditDimensionProperties2(4, 0.0001, 0, "", "", False, 1, 1, True, 12, 12, "", "", True, "", "", False) Part.ClearSelection2 True End Sub
Soweit funktioniert das so. Das Unschöne daran ist, dass wenn vor dem Bemassungswert z.B. das Ø-Zeichnen steht (<MOD-DIAM> ), es diesen Text beim Ausführen des Makros herauslöscht. Der Befehl Part.EditDimensionProperties2 definiert die Bemassungstexte (mit den vier "" am Ende der Zeile) neu. Gibt es eine Möglichkeit, diesen Befehl so anzupassen, dass die Bemassungstexte nicht überschrieben werden?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Heiko Soehnholz Ehrenmitglied V.I.P. h.c. Dipl.-Ing. (FH) Maschinenbau
Beiträge: 5487 Registriert: 03.07.2002 SOLIDWORKS 2001 - 2024SP2 Elite AE Award 2023 SOLIDWORKS Premium, Simu, Flow, Plastics, Composer, MBD, Inspection, PDMP, Visualize, TopsWorks, DPS Tools, JobBox, MacroSheet, etc. Passungstabelle von Heinz WIN10x64 22H2 | HP ZBook 17 Fury G8
|
erstellt am: 25. Mai. 2023 10:12 <-- editieren / zitieren --> Unities abgeben: Nur für from scratch
|
from scratch Mitglied Techniker TS
Beiträge: 5 Registriert: 25.05.2023
|
erstellt am: 25. Mai. 2023 14:28 <-- editieren / zitieren --> Unities abgeben:
|
nahe Ehrenmitglied
Beiträge: 1756 Registriert: 18.01.2001 arbeite mit: Dell Precision 7750 i7 2,6 GHz 6 Kerne 32GB RAM 512GB SSD NVIDIA Quadro RTX 4000 ------------------------ SWX-2020 SP5.0 EPDM ---------------- Windows 10 ---------------- VB.net VB VBA ein wenig Swift am Mac
|
erstellt am: 06. Jun. 2023 11:14 <-- editieren / zitieren --> Unities abgeben: Nur für from scratch
ich würde die Toleranzen über das "DimensionTolerance" Objekt mit "SetValues" setzen dann bleibt die Bemaßung unberührt Hinweis: - mit "SetValues2" hab ich es nicht geschafft - nicht vergessen ModelDoc2.GraphicsRedraw2 aufzurufen, damit die Ändeurng sichtbar wird ------------------ Grüße Heinz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Winni-two Mitglied Ing. Maschb.
Beiträge: 154 Registriert: 12.03.2010 SW 2021 SP5 Intel Xenon W2135 @3.7GHz Win 10 64 bit Graka: Nvidia Quadro P4000 32 GB Ram
|
erstellt am: 12. Jun. 2023 08:21 <-- editieren / zitieren --> Unities abgeben: Nur für from scratch
Hallo Scratch, falls das Thema noch aktuell ist: Dim swApp As Object Dim ModelDoc As Object Dim SelectionMgr As SelectionMgr Dim DispDim As Object Dim swDim As SldWorks.Dimension Dim i, retval As Long Const swSelDIMENSIONS = 14 Sub main() Set swApp = CreateObject("SldWorks.Application") Set ModelDoc = swApp.ActiveDoc Set SelectionMgr = ModelDoc.SelectionManager For i = 1 To SelectionMgr.GetSelectedObjectCount If SelectionMgr.GetSelectedObjectType(i) = swSelDIMENSIONS Then ' wenn es eine Bemaßung ist Set DispDim = SelectionMgr.GetSelectedObject3(i) ' an die Bemaßung anklinken Set swDim = DispDim.GetDimension retval = DispDim.GetAlternatePrecision2() Call DispDim.SetPrecision2(retval, retval, 1, 3) 'Dezimalstellen = Mass Doppelmass Tol Doppeltol retval = swDim.SetToleranceType(4) retval = swDim.SetToleranceValues(0, 0.0001) retval = DispDim.GetType() '2=normale Bem. 3= Grad Bem If retval = 3 Then Call swDim.SetToleranceValues(0, 3.14159265358979 / 180) ' Pi/180 = 1 Grad-Tol End If Next i Call ModelDoc.WindowRedraw ' und einmal den Bildschirm neu zeichnen lassen End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
from scratch Mitglied Techniker TS
Beiträge: 5 Registriert: 25.05.2023
|
erstellt am: 15. Jun. 2023 09:38 <-- editieren / zitieren --> Unities abgeben:
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|