请问如何用lisp获取三维多段线的顶点坐标?
请问如何用lisp获取三维多段线的顶点坐标?(defun C:t2();3维多段线转2维多段线
(VL-LOAD-COM)
(setq AcadObject (vlax-get-acad-object))
(setq AcadDocument (vla-get-ActiveDocument Acadobject))
(setq mSpace (vla-get-ModelSpace Acaddocument))
(setq ss1 (ssget '((0 . "POLYLINE"))));只选多段线
(setq n (sslength ss1));得到选择集的图元数目
(setq m 0);循环变量m置0,从选择集中的第1个文字改起
(while (< m n);循环,可以一次改多个对象
(setq ename (ssname ss1 m));将选择集转为图元名
(setq ent_data (entget ename))
(setq str_0 (cdr (assoc 0 ent_data)))
(while (/= str_0 "POLYLINE")
(setq ename (car (entsel "选择的实体非三维多段线,请重新选择!:")))
(setq ent_data (entget ename))
(setq str_0 (cdr (assoc 0 ent_data)))
)
(setq obj (vlax-ename->vla-object ename));将图元名转对象
(setq pts (vlax-variant-value (vla-get-coordinates obj)))得到三维多段线的顶点,返回值是个数组
(setq listpts (vlax-safearray->list pts)) VBALISPER 发表于 2012-10-14 00:32 static/image/common/back.gif
(defun C:t2();3维多段线转2维多段线
(VL-LOAD-COM)
我本意是想获得多段线各顶点的三维坐标,但多段线的顶点坐标都是二维的,多段线组码里有个210(挤出方向)貌似与此有关。不知道如何通过此二维坐标与挤出方向得到三维坐标。
请问大哥是否知道怎么弄?
http://bbs.mjtd.com/thread-96543-1-1.html
;;46.1 自贡黄明儒 发表于 2012-10-14 16:53 static/image/common/back.gif
http://bbs.mjtd.com/thread-96543-1-1.html
;;46.1
貌似不行啊,您提供的还是那种普通的获取多段线顶点的程序(获取的顶点坐标 是二维的) etoxp 发表于 2012-10-18 15:04 static/image/common/back.gif
貌似不行啊,您提供的还是那种普通的获取多段线顶点的程序(获取的顶点坐标 是二维的)
;;46.2 [功能] pline,lwpline点坐标表
找到了,谢谢 顶一个
页:
[1]