|
sw version indicators
hello all, i was woundering if there was some kind of indicator or way to identify what version a sw file was lasts save in. we work on quite a few different projects and some of our customers are not up to date with the latest version. we have had instiances where a file was opende in a newer version which made it unopenable to our customer.
is there some type of indicator within the sw file to look for or anything that will allow us to verify the version of the file.
any info will be appericiated thanks
see the api help on "modeldoc2::versionhistory"
paste this in as a new macro and it will tell you the most recent saved version:
option explicit
dim swapp as sldworks.sldworks
dim swdoc as modeldoc2
dim version as variant
dim currentversion as string
dim i as long
sub main()
set swapp = application.sldworks
set swdoc = swapp.activedoc
version = swdoc.versionhistory
currentversion = version(ubound(version))
msgbox "most recent save as: " & getversion(currentversion) & chr(13) & _
"minor release: " & right(currentversion, len(currentversion) - (instr(1, currentversion, "[") - 1))
end sub
function getversion(byval version as string) as string
dim versioncode as string
versioncode = left(version, (instr(1, version, "[") - 1))
if versioncode = "44" then
getversion = "solidworks 95"
elseif versioncode = "243" then
getversion = "solidworks 96"
elseif versioncode = "483" then
getversion = "solidworks 97"
elseif versioncode = "629" then
getversion = "solidworks 97plus"
elseif versioncode = "822" then
getversion = "solidworks 98"
elseif versioncode = "1008" then
getversion = "solidworks 98plus"
elseif versioncode = "1137" then
getversion = "solidworks 99"
elseif versioncode = "1500" then
getversion = "solidworks 2000"
elseif versioncode = "1750" then
getversion = "solidworks 2001"
elseif versioncode = "1950" then
getversion = "solidworks 2001plus"
elseif versioncode = "2200" then
getversion = "solidworks 2003"
elseif versioncode = "2500" then
getversion = "solidworks 2004"
elseif versioncode = "2800" then
getversion = "solidworks 2005"
elseif versioncode = "3100" then
getversion = "solidworks 2006"
elseif versioncode = "3400" then
getversion = "solidworks 2007"
elseif versioncode = "3800" then
getversion = "solidworks 2008"
else
msgbox "unrecognized major version.", vbcritical
end if
end function
another option is
retval = sldworks.versionhistory ( filename )
input:
(bstr) filename
full path name of the model for which to get the version history
return:
(variant) retval
variant of type safearray of strings of the version history
the advantage of this method is that you do not have to open the file in solidworks so you can find what future version the file is in.
wayne matus
texas engineering systems
thanks to all
quick |
|