找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 666|回复: 4

[每日一码] 展开Pline线

[复制链接]

已领礼包: 264个

财富等级: 日进斗金

发表于 2017-8-17 15:27:02 | 显示全部楼层 |阅读模式

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

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

×

  1. (defun c:expline (/ e p el i dl n)
  2.   (if (and (setq s (ssget "+.:S" '((0 . "lwpolyline") (-4 . "&=") (70 . 0))))
  3.            (setq p (getpoint "\nPosition: "))
  4.       )
  5.     (progn
  6.       (setq e        (ssname s 0)
  7.             el        (entget e)
  8.             n (cdr (assoc 90 el))
  9.             i        1
  10.       )
  11.       (repeat (1- n)
  12.         (setq dl (cons
  13.                    (vlax-curve-getdistatparam e i)
  14.                    dl
  15.                  )
  16.               i         (1+ i)
  17.         )
  18.       )
  19.       (entmake (append (list '(0 . "LWPOLYLINE")
  20.                              '(100 . "AcDbEntity")
  21.                              '(100 . "AcDbPolyline")
  22.                              (cons 90 n)
  23.                        )
  24.                        (mapcar '(lambda        (x)
  25.                                   (cons 10 (polar p 0. x))
  26.                                 )
  27.                                (cons 0. (reverse dl))
  28.                        )
  29.                        '((210 0. 0. 1.))
  30.                )
  31.       )
  32.     )
  33.   )
  34.   (princ)
  35. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 51个

财富等级: 招财进宝

发表于 2017-8-17 16:45:56 | 显示全部楼层
本帖最后由 Lispboy 于 2017-8-17 16:47 编辑

API对应版本

  1. (defun c:tt ()
  2.   (if (and (setq e (car        (xdrx_entsel "\n拾取多段线<退出>:" '((0 . "LWPOLYLINE") (-4 . "&=") (70 . 0)))))
  3.            (setq pt (getpoint "\n插入点<退出>:"))
  4.       )
  5.     (progn (setq pt   (trans pt 1 0)
  6.                  lens (xdrx_getpropertyvalue e "lengths")
  7.                  p2   (polar pt (xdrx_vector_angle (getvar "ucsxdir")) (apply '+ lens))
  8.            )
  9.            (xdrx_polyline_make pt p2)
  10.            (setq ll '(0))
  11.            (setq pts
  12.                   (mapcar '(lambda (x)
  13.                              (setq ll (cons (setq l (+ x (apply '+ ll))) ll))
  14.                              (xdrx_curve_getpointatdist (entlast) l)
  15.                            )
  16.                           lens
  17.                   )
  18.            )
  19.            (xdrx_curve_join (xdrx_curve_getsplitcurves (entlast) pts))
  20.     )
  21.   )
  22.   (princ)
  23. )

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

使用道具 举报

已领礼包: 6468个

财富等级: 富甲天下

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

使用道具 举报

已领礼包: 403个

财富等级: 日进斗金

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

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 18:28 , Processed in 0.372313 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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