|  | 
 
| a simple macro help. i want to assign custom properties to part file or assembly file base on the file name structure.
 the file name is like 1234567890baseplate.sldprt, which is 10 digit number plus part description.
 so how can i assign the first 10 digit number to "partno" custom properties and assign the base plate ( the rest of the strings) as " description" custom properties.
 thanks...
 mechanical design engineer (cswp, cswa, cswp-core | cdes | smtl | surf)
 hi shaodun,
 what you can do is strip the extension(always 7 characters) of the file name and then get the first 10 characters to use for "partno" and the rest for description".
 code wise this can be done as seen below:
 option explicit
 dim swapp as sldworks.sldworks
 dim swmodel as sldworks.modeldoc2
 dim custpropmgr as sldworks.custompropertymanager
 dim title as string, name as string, descr as string
 dim retval as long
 sub main()
 set swapp = application.sldworks
 set swmodel = swapp.activedoc
 title = swmodel.gettitle
 title = left(title, (len(title) - 7))
 name = left(title, 10)
 descr = right(title, len(title) - 10)
 set custpropmgr = swmodel.extension.custompropertymanager("")
 'if the custom properties do not exist if they do exist yu need to use custompropertymanager::set instead
 retval = custpropmgr.add2("partno", swcustominfotype_e.swcustominfotext, name)
 retval = custpropmgr.add2("description", swcustominfotype_e.swcustominfotext, descr)
 end sub
 in this world i am nobody...
 and nobody is perfect ;) !!!
 ---------
 solidworks office 2008 sp4.0
 dell precision pws390
 nvidia quadro fx 3450/4000 sdi
 answer title will not always be the actual filename can be totally different, blank, with a * if not saved, or custom.
 option explicit
 dim swapp as sldworks.sldworks
 dim swmodel as modeldoc2
 dim cpm as custompropertymanager
 sub main()
 set swapp = application.sldworks
 set swmodel = swapp.activedoc
 set cpm = swmodel.extension.custompropertymanager("")
 dim path as string, filename as string, partno as string, desc as string
 path = swmodel.getpathname
 filename = mid$(path, instrrev(path, "\") + 1) ' with extension
 filename = left$(filename, instrrev(filename, ".") - 1) ' remove extension
 partno = left(filename, 10)
 desc = right(filename, len(filename) - 10)
 cpm.delete "partno"
 cpm.delete "description"
 cpm.add2 "partno", swcustominfotext, partno
 cpm.add2 "description", swcustominfotext, desc
 end sub
 originally posted by: luke malpass
 title will not always be the actual filename can be totally different, blank, with a * if not saved, or custom.
 end sub
 perfect !!!
 many thanks!!!
 mechanical design engineer (cswp, cswa, cswp-core | cdes | smtl | surf)
 quick
 | 
 |