[原创][求助]三维多段线转二维多段线程序,调试成功,但加载出错!
<p>三维多段线转二维多段线程序,在VLIDE调试成功,也能实现所要实现的功能,但用(load "trans2d")加载时出错!提示; 错误: SETQ 中变量名错误: (vla-AddPolyline MSPACE PTS)!我已经检查了很多遍了,没有什么错误呀!再说了,在VLIDE中调试成功,也实现了我要的功能呀!不知道哪里出了问题,请指点!谢谢</p><p>(defun C:trans2d ()<br/> (VL-LOAD-COM)<br/> <br/> (setq AcadObject (vlax-get-acad-object))<br/> (setq AcadDocument (vla-get-ActiveDocument Acadobject))<br/> (setq mSpace (vla-get-ModelSpace Acaddocument))<br/> <br/> (setq ename (car (entsel "选择要转换的三维多段线:")))<br/> (setq ent_data (entget ename))<br/> (setq str_0 (cdr (assoc 0 ent_data)))<br/> (while (/= str_0 "POLYLINE")<br/> (setq ename (car (entsel "选择的实体非三维多段线,请重新选择!:")))<br/> (setq ent_data (entget ename))<br/> (setq str_0 (cdr (assoc 0 ent_data)))<br/> )<br/> (setq obj (vlax-ename->vla-object ename))<br/> (setq pts (vlax-variant-value (vla-get-coordinates obj)))<br/> (vla-AddPolyline mSpace pts)<br/> (princ)<br/> <br/> )</p> (defun C:trans2d ()(setq AcadObject (vlax-get-acad-object))
(setq AcadDocument (vla-get-ActiveDocument Acadobject))
(setq mSpace (vla-get-ModelSpace Acaddocument))
(Prompt "\n选择要转换的三维多段线: ")
(setq ss (ssget '((0 . "POLYLINE")))
i0
)
(while (setq ee (ssname ss i))
(setq obj (vlax-ename->vla-object ee))
(setq pts (vlax-variant-value (vla-get-coordinates obj)))
(vla-AddPolyline mSpace pts)
(setq i (1+ i))
)
(princ)
) 学习了,不知道能不能提取三维多段线的顶点坐标
很不错每天进步一点点 程序没有什么错误 <p>测试结果(load "trans2d")加载很正常可运行啊!</p><p>三维多段线的确转二维多段线没异样!</p> <p>谢谢,你的软件是好的,可以用啊。</p> 谢谢你的代码! <p>下载学习,挺好的,谢谢楼主!</p> 学习你的代码,谢谢。 程序能用,没有处理闭合,线型。。。 能加个框选吗?
页:
[1]
2