明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1816|回复: 5

指点我下:如何遍历pline线的每个顶点?

  [复制链接]
发表于 2006-10-25 17:27:00 | 显示全部楼层 |阅读模式

 我用list可以查看到多义线的总长度,请问如何用lisp提取这个长度?DXF组码是多少啊?

还有我怎么才能遍历pline线的每个顶点的数据呢?

请高手们指点我一下,弄了一下午都没弄明白.

发表于 2006-10-25 17:44:00 | 显示全部楼层
  1. (command "lengthen" 对象 "")
  2. (setq len (getvar "perimeter"))
 楼主| 发表于 2006-10-25 19:06:00 | 显示全部楼层
谢谢指点
发表于 2006-10-25 22:49:00 | 显示全部楼层

遍历pline线的每个顶点的数据

(defun c:test ()
  (setq plobj (vlax-ename->vla-object
    (car (entsel "选取一条轻装多义线:"))
  )
 pt_list (vlax-safearray->list
    (vlax-variant-value (vla-get-coordinates plobj))
  )
 pt_str ""
 n 0
  )
  (while (< n (length pt_list))
    (setq pt_str (strcat pt_str
    "第"
    (itoa (+ (/ n 2) 1))
    "点的坐标为:  "
    "X="
    (vl-princ-to-string (nth n pt_list))
    "   "
    "Y="
    (vl-princ-to-string (nth (1+ n) pt_list))
   )
   pt_str (strcat pt_str "\n")
   n  (+ n 2)
    )
  )
  (alert pt_str)
)

发表于 2006-10-31 23:40:00 | 显示全部楼层

一句话就可以

 (vl-remove-if '(lambda (x) (/= (car x) 10)) (entget PlineEname))

 楼主| 发表于 2006-11-1 22:19:00 | 显示全部楼层
这句比较深,我要消化一下,先谢谢了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-21 04:13 , Processed in 0.158764 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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