|
changing configuration names using document manager
i have made a small tool to change the configuration names on a bunch of models - or at least i am trying to...
in order to avoid opening the models in sw i am using document manager and swdmconfiguration7::name2. i can get the current configuration name but nothing happens when i try to set a new name. did anyone here try that?
--------------
option explicit
sub sub_changeconfignames()
dim classfac as swdmclassfactory
dim swdocmgr as swdmapplication
dim swdmdoc as swdmdocument
dim swdmconfigmgr as swdmconfigurationmgr
dim swdmactiveconfig as swdmconfiguration7
dim vconfignames as variant
dim vconfigname as variant
dim newname as string
dim errors as long
const myfile = "c:\temp\900503.sldprt"
set classfac = createobject("swdocumentmgr.swdmclassfactory")
set swdocmgr = classfac.getapplication(my_dm_license_key)
'open the file as read-write.
set swdmdoc = swdocmgr.getdocument(myfile, swdmdocumentpart, false, errors)
set swdmconfigmgr = swdmdoc.configurationmanager
'get array of configuration names
vconfignames = swdmconfigmgr.getconfigurationnames
'loop through the configurations
for each vconfigname in vconfignames
'get the configuration
set swdmactiveconfig = swdmconfigmgr.getconfigurationbyname(vconfigname)
'define the new configuration name
newname = swdmactiveconfig.name2 & "_"
'set new configuration name
swdmactiveconfig.name2 = newname
'print out the configuration name
debug.print swdmactiveconfig.name2
next
swdmdoc.save
swdmdoc.closedoc
end sub
jorn bjarning
cswp
cad & plm consultant
sw2008 sp5 / sw2009 sp2
nothing wrong with the code; try changing the new config name to something like "test" instead of adding underscores incase it does not like it.
also, try adding a pause and actually checking the model itself to see if the config name has changed, instead of debug.print
originally posted by: luke malpass
nothing wrong with the code; try changing the new config name to something like "test" instead of adding underscores incase it does not like it.
also, try adding a pause and actually checking the model itself to see if the config name has changed, instead of debug.print
luke,
tried with different config names - same result. i am not able to see the result in the model until i save and release the model from dm. i did try to add an extra save in the loop in order to be able to pause the execution and open the model in sw after changing the first configuration name. same result.
i thought for a moment that the reason could be a failing save operation but that is not the case. it saves fine without errors.
i am wondering if a kind of rebuild is needed before the changes take effect but nothing is mentioned in the help and i never saw such command in dm.
jorn bjarning
cswp
cad & plm consultant
sw2008 sp5 / sw2009 sp2
if the model is not open (which it shouldn't be if using dm) then the data is written on save and if you re-open it with dm the changes will take effect; however if the property name2 was structured correctly it should pull in the new settings without the need to re-open the document anyway.
luke,
fyi: swdmconfiguration7::name2 is not working - got spr# 174706.
jorn bjarning
cswp
cad & plm consultant
sw2008 sp5 / sw2009 sp2
quick |
|