Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Konfigurationsspezifische Eigenschaften per Makro ä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
  
Tierisch mobil: Der autonome Inspektionsroboter ANYmal | SOLIDWORKS
Autor Thema:  Konfigurationsspezifische Eigenschaften per Makro ändern (1201 mal gelesen)
Klopfer195
Mitglied
Konstrukteur


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

Beiträge: 27
Registriert: 05.02.2019

SolidWorks 2019 SP5

erstellt am: 19. Feb. 2020 13:28    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

Guten Morgen Gemeinde,

ich verzweifle gerade bei dem Versuch mir ein Makro zu programmieren das die Konfigurationsspezifischen Eigenschaften ändert.
Habe es schon über Set2 Method (ICustomPropertyManager) versucht. Damit ändert er allerdings nur die Benutzerdefinierten Eigenschaften.
Dann habe ich folgendes Beispiel zum Auslesen der Eigenschaften gefunden.

    Dim swApp As SldWorks.SldWorks
    Dim swModel As SldWorks.ModelDoc2
    Dim swConfigMgr As SldWorks.ConfigurationManager
    Dim vConfName As Variant
    Dim vConfParam As Variant
    Dim vConfValue As Variant
    Dim i As Long
    Dim j As Long
    Dim bRet As Boolean
    Dim vRet As Boolean
   

Sub main()

   
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swConfigMgr = swModel.ConfigurationManager
    Debug.Print "File = " + swModel.GetPathName
    vConfName = swModel.GetConfigurationNames
    For i = 0 To UBound(vConfName)
        bRet = swConfigMgr.GetConfigurationParams(vConfName(i), vConfParam, vConfValue)
        Debug.Assert bRet
        Debug.Print "  Configuration = " & vConfName(i)
        If Not IsEmpty(vConfParam) Then
            For j = 0 To UBound(vConfParam)
                Debug.Print "    " & vConfParam(j) & " = " & vConfValue(j)
            Next j
        End If
    Next i
   
End Sub

Damit klappt das Auslesen wunderbar. Aber leider will der SetConfigurationParams-Befehl nicht das tun was er tun sollte.

Hat von euch jemand schon etwas programmiert, oder hat jemand eine Idee wie die Eigenschaften noch geändert bekomme?
Vielen Dank schonmal 

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

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



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

Beiträge: 2776
Registriert: 18.07.2012

-Solid Works 2019 SP5
-Pro Engineer WF 3

erstellt am: 19. Feb. 2020 14:30    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 Klopfer195 10 Unities + Antwort hilfreich

Hallo Klopfer,

wie holst du dir den ICustomPropertyManagaer? Dir ist klar das du diesen explizit für eine Konfiguration holen musst wenn du auch auf die konfigurationsspezifischen Eigenschaften zugreifen willst z.B. wie im folgendem Codesnipsel.

Code:
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swConfig = swModel.GetActiveConfiguration
    Set swCustPropMgr = swConfig.CustomPropertyManager

oder so

Code:
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swModelDocExt = swModel.Extension
Set swConfig = swModel.GetActiveConfiguration()
Set swCustPropMgr = swModelDocExt.CustomPropertyManager(swConfig.Name)

Bei dem Code von dir bin ich mir nicht sicher ob der wirklich was mit den konfigurationsspezifischen Eigenschaften zu tun hat.

Gruß
Bernd

Gruß
Bernd

------------------
--- Man muß nicht alles wissen, man muß nur wissen wo es steht ---

Staatlich anerkannte Deutschniete  

[Diese Nachricht wurde von bk.sc am 19. Feb. 2020 editiert.]

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

Klopfer195
Mitglied
Konstrukteur


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

Beiträge: 27
Registriert: 05.02.2019

SolidWorks 2019 SP5

erstellt am: 19. Feb. 2020 14:39    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

Hi Bernd,
jetzt funktionierts...
bin mir sicher das ich das so schon einmal ausprobiert hatte  .
Dann schreib ich mal den Code fertig und hoffe das es dann immer noch läuft.
Ich danke dir vielmals.

[Diese Nachricht wurde von Klopfer195 am 19. Feb. 2020 editiert.]

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