郭旭东雪 发表于 2010-8-17 10:06:00

[求助]如何用VBScript在网页上调用autocad插入带属性的块

<p>现需要在网页上填写块的属性,然后插入块,比如标题栏。</p>
<p>基本代码如下</p>
<p>&nbsp;</p>
<p><font face="Verdana">&nbsp;&nbsp;&lt;SCRIPT LANGUAGE="VBScript"&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sub button1_onclick()<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;set AcadApp = createobject("AutoCAD.Application")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;AcadApp.Visible = true</font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;pt = AcadApp.ActiveDocument.Utility.GetPoint(,"选择插入点")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;set blockRef = AcadApp.ActiveDocument.ModelSpace.InsertBlock(pt, "e:\my_test.dwg", 1, 1, 1, 0)</font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;AcadAttr = blockRef.GetAttributes<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'set objAtt = AcadAttr(1)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;'objAtt.TextString = "asd";<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;AcadApp.ZoomExtents<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set blockRef = Nothing<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set AcadApp = Nothing<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end sub<br/>&nbsp;&nbsp;&lt;/SCRIPT&gt;</font></p>
<p><font face="Verdana"></font>&nbsp;</p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp; 现在块可插入,并取得AcadAttr属性对象数组,就是无法设定属性值(被注释的两行不执行),不知问题出在哪,请各位高手帮忙。</p>
<p><br/></p></font>

郭旭东雪 发表于 2010-8-17 11:11:00

<p><font face="Verdana">类型不匹配</font>;Microsoft <em>VBScript</em> 运行时错误</p>
<p>&nbsp;</p>
<p>不知为什么</p>

郭旭东雪 发表于 2010-8-18 08:11:00

问题应该出在vbscript对数组的处理上,不但是AcadAttr这个对象数组无法访问,就是pt这个点的double数组也不行

Heremy 发表于 2023-10-24 15:40:07

我也遇到类似问题,我这边执行AcadAttr = blockRef.GetAttributes这一句都会报“不支持属性或方法:GetAttributes””的错误,问一下楼主你是怎么解决的
页: [1]
查看完整版本: [求助]如何用VBScript在网页上调用autocad插入带属性的块