连接点AutoLISP
最近从2013年升级到Civil 3D 2015,但我在使用最常用的AutoLISP命令之一连接一串点(connectpts)时遇到了问题当我加载命令时,我得到以下错误消息;
“错误:自动化错误。加载应用程序时出现问题”
有什么想法吗?
这是文件;
;|平台:AutoCAD Civil 3D
在具有相同描述的点之间以升序Pt#绘制3dPoly的例程。
杰夫·米什勒,2007年7月25日。仅在C3D2008中测试。首先在命令提示符处键入(vl load com)。
|;
(vl load com)
(定义c:连接点(/appstr coords desc grps pline point point#s points pt qbldr ss tmpgrp vrsn)
(setq vrsn(vlax产品密钥))
(cond((vl字符串搜索“R16.2”vrsn)(setq appstr“3.0”);;2006
((vl字符串搜索“R17.0”vrsn)(setq appstr“4.0”);;2007
((vl字符串搜索“R17.1”vrsn)(setq appstr“5.0”);;2008
((vl字符串搜索“R17.2”vrsn)(setq appstr“6.0”);;2009
((vl字符串搜索“R18.0”vrsn)(setq appstr“7.0”);;2010
((vl字符串搜索“R18.1”vrsn)(setq appstr“8.0”);;2011
((vl字符串搜索“R18.2”vrsn)(setq appstr“9.0”);;2012
((vl字符串搜索“R19.0”vrsn)(setq appstr“10.0”);;2013
((vl字符串搜索“R19.1”vrsn)(setq appstr“11.0”);;2014
((vl字符串搜索“R20.0”vrsn)(setq appstr“12.0”);;2015
(t(警报“不支持此版本的C3D!”)
)
(如果(和appstr
(或*acad)*
(setq*acad*(vlax get acad object))
)
(或*AECCAP)*
(setq*AECCAP*(vla getinterfaceobject*acad)*
(strcat“AeccXUiLand.AeccApplication。”appstr)))
)
(或*AeccDoc)*
(setq*AeccDoc*(vlax get*aeccap*'ActiveDocument))
)
(setq ss(ssget“:S:E”'((0。“AECC\u COGO\u点”)))
)
(程序
(setq pt(vlax ename->vla对象(ssname ss 0))
描述(vlax get pt’RawDescription)
GRP(vlax get*AeccDoc*'点组)
tmpgrp(vlax invoke GRP’Add“_utemp_uu”)
)
(setq qbldr(vlax get tmpgrp’querybuilder))
(vlax put qbldr’IncludeRawDescriptions desc)
(如果(>(长度(setq点(vlax get tmpgrp’点)))1)
(程序
(设定点#s(vl排序点'
(设定点(vlax get*AeccDoc*'点))
(每个点)
(setq点(vlax调用点的查找点#))
(setq坐标(附加坐标(列表(vlax get point’Easting))
(vlax获取点“北距”)
(vlax获取点高程)
)))
)
(setq pline(vlax invoke(vla get modelspace*AeccDoc*)'Add3dPoly coords))
(vla put layer pline(vlax invoke*aeccdoc*'getvariable“Clayer”))
)
)
(vlax调用qbldr清除)
(vlax invoke grps’remove“_utemp_uu”)
)
)
(普林斯)
) 可以肯定的是,上周我也遇到了同样的问题,我不得不对CIV3d进行修复,它没有正确找到Aecxuland版本。
只需运行代码的版本部分,检查是否有错误,然后进行必要的修复。
(vl-load-com)
(setq vrsn (vlax-product-key))
((vl-string-search "R20.0" vrsn)(setq appstr "12.0"));;2015
(princ appstr) ; if not display thenproblem
页:
[1]