Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Makro Dokumenteinheiten ändern

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
  
2D DraftSight ergänzt 3D-Konstruktionswerkzeuge bei Young Industries
Autor Thema:  Makro Dokumenteinheiten ändern (587 / mal gelesen)
Pete85
Mitglied



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

Beiträge: 156
Registriert: 09.05.2016

erstellt am: 14. Jun. 2021 08:06    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 zusammen,

ist es möglich über ein Makro die Dokumenteinheiten zu bearbeiten.

ich möchte unsere Masseneinheit von Kg in g umändern. das natürlich per Makro da wir sonst nie fertig werden :-)

Danke schonmal :-)

Gruß Pete

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

Lueghi
Mitglied
Admin für alle Systeme ....


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

Beiträge: 416
Registriert: 01.07.2005

CAD...: SWX2022 SP5, ACAD 2019, Tacton / LINO
PDM...: PRO.FILE 8.6
ERP...: proAlpha 6.2e / 7.1
BS....: Win10, HP ZBook G5

erstellt am: 14. Jun. 2021 08:37    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 Pete85 10 Unities + Antwort hilfreich

Das ist unser Makro mit dem wir ggf. ALLE Einheiten auf unseren Standard bringen:

Code:
'***********************************************************************
'          *** "Masseneinheiten" ***
'  kontrolliert die Einstellungen für die Masse-Eigenschaften
'  Version: 1.0    07.06.2010
'  Historie:
'***********************************************************************
Public swApp As SldWorks.SldWorks
Public ModelDoc As SldWorks.ModelDoc2
Public swDocExt As SldWorks.ModelDocExtension
Public swMass As SldWorks.MassProperty
Dim parttype As Variant
Dim test As String

Sub main()
    Set swApp = CreateObject("SldWorks.Application")
    Set ModelDoc = swApp.ActiveDoc
   
    Set swDocExt = ModelDoc.Extension
   
    ' Prüfen, ob es sich um ein Part / asm handelt / check, if the doc is a part
    parttype = ModelDoc.GetType()
    If Not (parttype = 1 Or parttype = 2) Then
        MsgBox "Tut mir leid, das funktioniert nur bei Modellen."
        Exit Sub
    End If
           
            ' Testen auf Einheiten-System, sonst setzen auf Benutzerdefiniert
            test = swDocExt.GetUserPreferenceInteger(swUnitSystem, swDetailingNoOptionSpecified)
            If test <> swUnitSystem_Custom Then
                'result = MsgBox("swUnitSystem: " + Str(test), vbOKOnly, "Testausgabe")
                'result = MsgBox("Einheiten-System ist falsch gesetzt!", vbOKOnly, "Fehlerhafte Einstellung")
                test = swDocExt.SetUserPreferenceInteger(swUnitSystem, swDetailingNoOptionSpecified, swUnitSystem_Custom)
            End If
                       
           
            ' Testen auf Grundeinheit Länge, sonst setzten auf mm
            test = swDocExt.GetUserPreferenceInteger(swUnitsLinear, swDetailingNoOptionSpecified)
            If test <> swMM Then
                'result = MsgBox("swUnitsLinear: " + Str(test), vbOKOnly, "Testausgabe")
                'result = MsgBox("Masse-Eigenschaft Länge ist falsch gesetzt!", vbOKOnly, "Fehlerhafte Einstellung")
                test = swDocExt.SetUserPreferenceInteger(swUnitsLinear, swDetailingNoOptionSpecified, swMM)
            End If
           
            ' Testen auf Grundeinheit Doppelmaß-Länge, sonst setzten auf Zoll
            test = swDocExt.GetUserPreferenceInteger(swUnitsDualLinear, swDetailingNoOptionSpecified)
            If test <> swINCHES Then
                'result = MsgBox("swUnitsDualLinear: " + Str(test), vbOKOnly, "Testausgabe")
                'result = MsgBox("Masse-Eigenschaft Länge ist falsch gesetzt!", vbOKOnly, "Fehlerhafte Einstellung")
                test = swDocExt.SetUserPreferenceInteger(swUnitsDualLinear, swDetailingNoOptionSpecified, swINCHES)
            End If
           
            ' Testen auf Masse-Einheit Länge, sonst setzten auf cm
            test = swDocExt.GetUserPreferenceInteger(swUnitsMassPropLength, swDetailingNoOptionSpecified)
            If test <> swCM Then
                'result = MsgBox("swUnitsMassPropLenth: " + Str(test), vbOKOnly, "Testausgabe")
                'result = MsgBox("Masse-Eigenschaft Länge ist falsch gesetzt!", vbOKOnly, "Fehlerhafte Einstellung")
                test = swDocExt.SetUserPreferenceInteger(swUnitsMassPropLength, swDetailingNoOptionSpecified, swCM)
            End If
                       
            ' Testen auf Masse-Einheit Gewicht, sonst setzen auf kg
            test = swDocExt.GetUserPreferenceInteger(swUnitsMassPropMass, swDetailingNoOptionSpecified)
            If test <> swUnitsMassPropMass_Kilograms Then
                'result = MsgBox("swUnitsMassPropMass: " + Str(test), vbOKOnly, "Testausgabe")
                'result = MsgBox("Masse-Eigenschaft Gewicht ist falsch gesetzt!", vbOKOnly, "Fehlerhafte Einstellung")
                test = swDocExt.SetUserPreferenceInteger(swUnitsMassPropMass, swDetailingNoOptionSpecified, swUnitsMassPropMass_Kilograms)
            End If
           
            ' Testen auf Masse-Einheit Volumen, sonst setzen auf cm³
            test = swDocExt.GetUserPreferenceInteger(swUnitsMassPropVolume, swDetailingNoOptionSpecified)
            If test <> swUnitsMassPropVolume_Centimeters3 Then
                'result = MsgBox("swUnitsMassPropVolume: " + Str(test), vbOKOnly, "Testausgabe")
                'result = MsgBox("Masse-Eigenschaft Volumen ist falsch gesetzt!", vbOKOnly, "Fehlerhafte Einstellung")
                test = swDocExt.SetUserPreferenceInteger(swUnitsMassPropVolume, swDetailingNoOptionSpecified, swUnitsMassPropVolume_Centimeters3)
            End If
                       
        ' Dirty-Flag setzten
        ModelDoc.SetSaveFlag
   
End Sub



Die Einheiten selber aber bei Bedarf noch anpassen  .

------------------
Gruß Stefan

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

Pete85
Mitglied



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

Beiträge: 156
Registriert: 09.05.2016

erstellt am: 14. Jun. 2021 08:50    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

Funktioniert super!!

Vielen Dank :-)

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