bye to all,
es ist ein bisschen zeit, dass ich nicht im forum auftauche und ich bin nicht sehr stolz darauf, aber ich wollte ihnen eine alternative lösung für die klassiker anbieten:
mit swexplorer bienen haben sie zugriff auf alle komponenteninformationen, wie benutzerdefinierte eigenschaften, externe referenzen etc.
unten sie decken den code in swexplorer bienen, die sie haben zugang zu den modellinformationen und die eigenschaften der aktiven konfiguration.
der einzige nachteil ist, dass sie zum ersten mal ein makro mit swexplorer bienen entwickeln sollten, geben sie ihrem händler die "schlüssellizenzen", die sie jedes mal tragen, in der makro-string.
die lizenz ist kostenlos.
der string, wo die lizenz eingegeben werden soll, ist:
set tapp = classfac.getapplication("your_license_key") ' geben sie ihren lizenzschlüssel an
und das ist das beispiel:
dieses beispiel zeigt, wie man benutzerdefinierte eigenschaftswerte mit dem solidworks document manager api erhält und gesetzt.
----------------------------------------------------------------------------------------------------------------------
'
voraussetzung: e:\2005\linkedprop_st\linkedproptest.sldprt existiert
'
' postkonditionen: mymass und mysize benutzerdefinierte immobilienwerte werden geändert
'
----------------------------------------------------------------------------------------------------------------------
option explizit
dim swdocmgr als swdocumentmgr.swdmapplication
dim swdoc als swdocumentmgr.swdmdocument
dim vextrefarr als variante
dim vextref als variante
dim nretval as long
dim tapp als swdmapplication
teil haupt()
auf fehler goto fehlerhandler
dim classfac als swdocumentmgr.swdmclassfactory
set classfac = createobject("swdocumentmgr.swdmclassfactory")
set tapp = classfac.getapplication("your_license_key") ' geben sie ihren lizenzschlüssel an
dim d_2005 als swdmdocument3
dim s1 als string
dim und so lange
dim proptype als lang
dim pfad als string
pfad = "e:\2005\linkedprop_st\"
d_2005 = tapp.getdocument("e:\2005\linkedprop_st\linkedproptest.sldprt", swdmdocumentpart, true, e)
dim v als variante
v_2005.getcustompropertynames
debug.print 'param string: ' & d_2005.getcustomproperty('mymass', proptype)
debug.print 'value: ' & d_2005.getcustompropertyvalues('mymass', proptype, s1)
''note, sie können auch die param-string aus
'''swdmdocument3::gebrauchswerte oder
''swdmconfiguration4::getcustompropertyvalues linkedto parameter (s1)
debug.print 'param string: ' & s1
debug.print '
debug.print 'param string: ' & d_2005.getcustomproperty('doclevelnl', proptype)
debug.print 'value: ' & d_2005.getcustompropertyvalues('doclevelnl', proptype, s1)
dim c als swdmconfiguration4
c = d_2005.configurationmanager.getconfigurationbyname("config_h1")
dim v2 als variante
v2 = c.getcustompropertynames
debug.print "param string: " & c.getcustomproperty("mydimension", proptype)
debug.print "value: " & c.getcustompropertyvalues("mydimension", proptype, s1)
debug.print "param string: " & c.getcustomproperty("configlevelnl", proptype)
debug.print "value: " & c.getcustompropertyvalues("configlevelnl", proptype, s1)
c = d_2005.configurationmanager.getconfigurationbyname("config_h3")
debug.print "param string: " & c.getcustomproperty("mydimension", proptype)
debug.print "value: " & c.getcustompropertyvalues("mydimension", proptype, s1)
d_2005.setcustomproperty "mymass", "new non-linked value"
debug.print "param string: " & d_2005.getcustomproperty("mymass", proptype)
debug.print "value: " & d_2005.getcustompropertyvalues("mymass", proptype, s1)
c.setcustomproperty "mydimension", "neuer unverlinkter wert, cs"
debug.print "param string: " & c.getcustomproperty("mydimension", proptype)
debug.print "value: " & c.getcustompropertyvalues("mydimension", proptype, s1)
d_2005.closedoc
d_2005 = nichts
tapp = nichts
set classfac = nichts
ende
ich schlage diese lösung vor, weil ich bemerkte, dass es viel einfacher ist, zugriff auf daten zu haben, und ich habe anwendungen implementiert, um verschiedene materialien mit geschlossenem s zu erzeugen.
hi roberto