找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 733|回复: 4

[原创]:任意指定LightweightPolyline的起点位置

[复制链接]

已领礼包: 593个

财富等级: 财运亨通

发表于 2005-8-25 18:15:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
程序写的比较简单,还可以增加在起点处显示“叉”就更明显了

  1. ;;reset startpoint of lightweightpolyline
  2. (defun c:tt (/ e p el el1 pam pam0 pam1 pam2 el2 el3)
  3.   (if (and (setq e (entsel "\nSelect LightweightPolyline: "))
  4.            (setq p (getpoint "\nPick Startpoint to: "))
  5.       )
  6.     (progn
  7.       (setq el         (entget (car e));_ dxf list
  8.             el1         (vl-remove-if-not
  9.                    '(lambda (x) (vl-position (car x) '(10 40 41 42)))
  10.                    (member (assoc 10 el) el)
  11.                  );_property of coordinate (point startwidth endwidth bulge ...)
  12.             el2         (reverse (cdr (member (assoc 10 el) (reverse el))));_lwpolyline dxf header
  13.             pam         (vlax-curve-getparamatpoint
  14.                    (car e)
  15.                    (vlax-curve-getclosestpointto (car e) p)
  16.                  );_ get index of pline
  17.             pam1 (fix pam);_ previous index
  18.             pam2 (1+ pam1);_ next index
  19.       )
  20.       (if (>= (- pam pam1) 0.5)
  21.         (setq pam0 pam2)
  22.         (setq pam0 pam1)
  23.       );_ near index
  24.       (setq p (nth (* 4 pam0) el1));_ A set of four
  25.       (setq el3        (append        (member p el1)
  26.                         (reverse (cdr (member p (reverse el1))))
  27.                 )
  28.       );_ reset points
  29.       (entmod (append el2 el3))
  30.     )
  31.   )
  32.   (princ)
  33. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 488个

财富等级: 日进斗金

发表于 2005-8-25 23:02:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
el2          (reverse (cdr (member (assoc 10 el) (reverse el))))

有重复点就会有错误.
还有那个倒过来的一段代码也有这个问题.



还有最后的一个dxf42后面的信息没了,比如dxf210,在ucs改变的情况下,不知对不对.(没测试)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 593个

财富等级: 财运亨通

 楼主| 发表于 2005-8-25 23:08:44 | 显示全部楼层
最初由 aeo 发布
[B]el2          (reverse (cdr (member (assoc 10 el) (reverse el))))

有重复点就会有错误.
还有那个倒过来的一段代码也有这个问题.



还有最后的一个dxf42后面的信息没了,比如dxf210,在ucs改变的情况下,?... [/B]

正确,上面的程序只是一个思路,其他细节没有考虑,还有比如UCS-〉OCS
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-8-26 07:54:32 | 显示全部楼层
把您的改变Lightweightpolyline的绘制方向的程序合并到后面,先改变线顶点位置后在改变线方向,能增加顺时针和逆时针选择吗?谢谢!!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 205个

财富等级: 日进斗金

发表于 2017-4-4 15:44:01 | 显示全部楼层
正需要,支持楼主大人了!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-24 06:21 , Processed in 0.389085 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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