Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Hilfe bei Makro: Passung zu Maß auf Zeichnung hinzufügen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS
  
Innovationstag mit SolidCAM und Plogmann bei HEDELIUS in Meppen
Autor Thema:  Hilfe bei Makro: Passung zu Maß auf Zeichnung hinzufügen (402 / mal gelesen)
LeonardStark
Mitglied



Sehen Sie sich das Profil von LeonardStark an!   Senden Sie eine Private Message an LeonardStark  Schreiben Sie einen Gästebucheintrag für LeonardStark

Beiträge: 100
Registriert: 14.08.2018

erstellt am: 19. Okt. 2022 15:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Passungsdefinition.PNG

 
Liebes Forum, ich wäre mal wieder für etwas Hilfe sehr dankbar.
Ich möchte mir für Passungen, die oft vorkommen die Beschriftungserstellung auf Zeichnungen auf einen Button legen. Allerdings scheint man nicht alle Funktionen der Bemaßungsdefinition mit editdimensionproperties2 ändern zu können. bisher habe ich mir per Makrorecorder folgendes aufgezeichnet.

Nun kann ich aber die Nachkommastellen der Toleranz nicht ändern und die Bezeichnung steht hochgestellt, statt neben der Maßzahl? Außerdem scheinen die Toleranzwerte fix eingetragen und nicht abhängig vom Maß bestimmt zu werden.

Hat jemand eine Idee, wie man die Definition anpassen kann? Im Anhang noch ein Bild, wie es sein soll.

Code:

Dim swApp As Object

Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long

Sub main()

Set swApp = Application.SldWorks

Set Part = swApp.ActiveDoc
boolstatus = Part.EditDimensionProperties2(8, 0.000043, 0.000016, "H6", "", True, 2, 2, True, 12, 12, "", "", True, "", "", True)
Part.ClearSelection2 True
End Sub


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Andi Beck
Ehrenmitglied V.I.P. h.c.
Konstrukteur



Sehen Sie sich das Profil von Andi Beck an!   Senden Sie eine Private Message an Andi Beck  Schreiben Sie einen Gästebucheintrag für Andi Beck

Beiträge: 2572
Registriert: 02.10.2006

Firma: SW 2023-4.0 + PDM Prof.
Windows 10 Pro 64bit, i9-11900
32 GbRAM, Quadro P2200
Home:
SW 2022-5.0
Passungstabelle von Heinz
Windows 11 Pro 64bit,
i7-12700K, 32 GbRAM,
GeForce GTX 1050Ti
Samsung C34H892, 3440x1440 Pixel

erstellt am: 19. Okt. 2022 20:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für LeonardStark 10 Unities + Antwort hilfreich

Hallo Leonard,
wie so oft arbeitet der Makrorecorder mit veralteten Befehlen.
editdimensionproperties2 ist auch hier auf Obsolete gesetzt.

Wenn du in die Hilfe gehst, bekommst du einen Verweis auf den aktuellen Befehl.
Schau mal hier vorbei.

https://help.solidworks.com/2021/English/api/sldworksapi/SOLIDWORKS.Interop.sldworks~SOLIDWORKS.Interop.sldworks.IModelDocExtension~EditDimensionProperties.html

Dort ist auch ein einfaches Beispiel vorhanden.

Ich habe jetzt aber nicht geprüft, ob dein Wunsch hier berücksichtigt wird.

Grüße, Andi

------------------
Hast du kein Problem?
Such dir eins. ( Und löse es )

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

LeonardStark
Mitglied



Sehen Sie sich das Profil von LeonardStark an!   Senden Sie eine Private Message an LeonardStark  Schreiben Sie einen Gästebucheintrag für LeonardStark

Beiträge: 100
Registriert: 14.08.2018

erstellt am: 21. Okt. 2022 10:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Andi, danke dir für den Hinweis. Allerdings gibt es die richtigen Optionen auch hier leider nicht.

Ich ändere aktuell einfach die Dokumenteinstellungen der Toleranzgenauigkeit vorher und hinterher wieder zurück, das scheint zu funktionieren.

Allerdings weiß ich noch nicht, wie ich die richtigen Toleranzwerte angezeigt bekomme. Er nimmt erstmal nur das, was im Code steht. Hier im Beispiel die "0". Hat jemand eine idee, wie ich das Ändere?

Außerdem würde ich gerne noch die "H6" mit in die selbe Zeile stellen.

Code:

Dim swApp As Object

Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long


Sub main()

Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swModelDocExt = swModel.Extension

Set Part = swApp.ActiveDoc

boolstatus = Part.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swDetailingLinearTolPrecision, swUserPreferenceOption_e.swDetailingDimension, 3)
boolstatus = Part.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swDetailingAltLinearTolPrecision, swUserPreferenceOption_e.swDetailingDimension, 3)
boolstatus = swModelDocExt.EditDimensionProperties(8, 0, 0, "H6", "", True, 2, 2, True, 1, 1, "", "", True, "", "", "", True, 2, "")

boolstatus = Part.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swDetailingLinearTolPrecision, swUserPreferenceOption_e.swDetailingDimension, 2)
boolstatus = Part.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swDetailingAltLinearTolPrecision, swUserPreferenceOption_e.swDetailingDimension, 2)

Part.ClearSelection2 True
End Sub


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

LeonardStark
Mitglied



Sehen Sie sich das Profil von LeonardStark an!   Senden Sie eine Private Message an LeonardStark  Schreiben Sie einen Gästebucheintrag für LeonardStark

Beiträge: 100
Registriert: 14.08.2018

erstellt am: 21. Okt. 2022 10:56    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

bzw ich muss erst noche einmal das DropdownFeld mit der Toleranzbezeichnung aktivieren und Bestätigen, bevor die Toleranzwerte übernommen werden.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

LeonardStark
Mitglied



Sehen Sie sich das Profil von LeonardStark an!   Senden Sie eine Private Message an LeonardStark  Schreiben Sie einen Gästebucheintrag für LeonardStark

Beiträge: 100
Registriert: 14.08.2018

erstellt am: 21. Okt. 2022 11:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Wenn ich die ausführende Zeile zweimal hinschreibe, werden auch die Toleranzwerte eingetragen... interessant.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz