![]() |
【转帖】changing configuration names using document manager
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 |
所有的时间均为北京时间。 现在的时间是 01:42 PM. |