明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1835|回复: 8

[求助]如何得到LWPolyLine的始点和终点座标?

  [复制链接]
发表于 2006-7-12 18:01 | 显示全部楼层 |阅读模式

各位前辈:
    一条LWPOLYLINE里用entget取得它的DXF组码后,很难DXF组码里得到这条线的起点和终点,请问各位有什么方法能得到这条LWPOLYLINE的起点和终点吗?先谢谢了!

发表于 2006-7-12 18:43 | 显示全部楼层

第一个10组码及最后一个10组码.

(setq pts (vl-remove-if-not '(lambda (x) (= 10 (car x))) (entget e)))

(setq pt-begin (cdr (car pts))   pt-end (cdr (last pts))  )

发表于 2006-7-12 23:09 | 显示全部楼层
     (setq s0 (car (entsel "\n请选择一条LWPolyLine线:"))
           s0end (entget s0 )                        ;取出LWPolyLine线信息列表
     )
     ;;;——取出LWPolyLine线起点坐标P0———————————
     (setq n 0 p0 nil)
     (while (= p0 nil)
             (setq plist (car (nth n s0end)))
             (if (= plist 10) (setq p0 (cdr (nth n s0end))))
             (setq n (+ n 1))
     )
     ;;;——取出LWPolyLine线终点坐标Pn———————————
     (setq n (- (length s0end) 1) pn nil)
     (while (= pn nil)
             (setq plist (car (nth n s0end)))
             (if (= plist 10) (setq pn (cdr (nth n s0end))))
             (setq n (- n 1))
     )
发表于 2006-7-13 09:30 | 显示全部楼层
本帖最后由 作者 于 2006-7-13 17:16:00 编辑

来个更快的
  1. (setq spname (car (entsel "\n选一条线:")))
  2. (setq Mid-Point (vlax-curve-getPointAtDist  spname (* 0.5(vlax-curve-getEndParam spname))));对象的中点
  3. (setq spt (vlax-curve-getstartpoint spname));对象的起点
  4. (setq ept (vlax-curve-getendpoint spname));对象的终点
发表于 2006-7-13 16:51 | 显示全部楼层
  1. (setq s0 (car (entsel "\n请选择一条LWPolyLine线:"))
  2.       s0end (entget s0))   ;取出LWPolyLine线信息列表
  3. (setq p0 (cdr (assoc 10 s0end)))  ;;;—取出LWPolyLine线起点坐标P0—
  4. (setq pn (cdr (assoc 10 (reverse s0end)))) ;;;—取出LWPolyLine线终点坐标Pn—
发表于 2006-8-12 15:50 | 显示全部楼层

楼上真聪明!

 

发表于 2006-8-13 02:26 | 显示全部楼层

推荐用4楼,通用性好

发表于 2016-7-15 11:00 | 显示全部楼层
reverse 这个想法很好
发表于 2024-5-21 14:16 | 显示全部楼层
reverse 这个想法很好
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-16 12:04 , Processed in 0.161962 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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