明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 6186|回复: 6

请问如何用lisp获取三维多段线的顶点坐标?

[复制链接]
发表于 2012-10-13 17:08:54 | 显示全部楼层 |阅读模式
请问如何用lisp获取三维多段线的顶点坐标?
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2012-10-14 00:32:41 | 显示全部楼层
(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))
 楼主| 发表于 2012-10-14 13:54:07 | 显示全部楼层
VBALISPER 发表于 2012-10-14 00:32
(defun C:t2();3维多段线转2维多段线
        (VL-LOAD-COM)
  

我本意是想获得多段线各顶点的三维坐标,但多段线的顶点坐标都是二维的,多段线组码里有个210(挤出方向)貌似与此有关。不知道如何通过此二维坐标与挤出方向得到三维坐标。
请问大哥是否知道怎么弄?

点评

标高组码 38  发表于 2012-10-14 16:53
发表于 2012-10-14 16:53:22 | 显示全部楼层
 楼主| 发表于 2012-10-18 15:04:59 | 显示全部楼层
自贡黄明儒 发表于 2012-10-14 16:53
http://bbs.mjtd.com/thread-96543-1-1.html
;;46.1

貌似不行啊,您提供的还是那种普通的获取多段线顶点的程序(获取的顶点坐标 是二维的)

点评

其中有一个是三维的  发表于 2012-10-18 16:07
 楼主| 发表于 2012-10-18 20:54:23 | 显示全部楼层
etoxp 发表于 2012-10-18 15:04
貌似不行啊,您提供的还是那种普通的获取多段线顶点的程序(获取的顶点坐标 是二维的)

;;46.2 [功能] pline,lwpline点坐标表
找到了,谢谢
发表于 2014-6-19 16:01:01 | 显示全部楼层
顶一个
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-24 13:38 , Processed in 0.239068 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表