【解决方案】
使用Chilkat ActiveX XML加载到LISP中,完成对XML的解析。
【部署办法】
很幸运的是,Chilkat公司唯有XML部件是免费的。
下载地址:http://www.chilkatsoft.com/downloads_ActiveX.asp
API参考:http://www.chilkatsoft.com/refdoc/xChilkatXmlRef.html
1.网页上说的很明白,选择32位还是64位取决于是32位的软件还是64位的软件,AutoCAD 2013 64位当然用64-bit的ActiveX啦。这里弄了好久,怪不得无法创建对象。
图1 选择正确的版本(32/64-bit)
2.下载下来后,解压到c盘(虽不是必须,但是在很多机器上证明c盘是合适的选择),运行register.bat文件将ActiveX控件注册,接下来就是大展身手的时候啦!
(注:看下.bat文件的写法,有个 cd %~dp0命令,这个命令意思是进入当前目录,但在很多电脑上,无法直接切换到C盘以外的其他盘,导致注册失败。)
【代码示例】
_$ (setq layoutxml (Vlax-Get-Or-Create-Object "Chilkat_9_5_0.Xml" ))
#<VLA-OBJECT IChilkatXml 000000002e186850>
_$ (vlax-invoke-method layoutxml "loadxmlfile" "e:\\Layout_ALL.xml" )
1
_$ (vlax-invoke-method layoutxml "getAttrValue" "length")
"1500"
【欢迎转载,请注明出处】