找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1131|回复: 2

[教学] API应用 折线模拟斜线

[复制链接]

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-12-1 00:21:01 | 显示全部楼层 |阅读模式

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

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

×
  1. (defun c:tt (/ e n v ptl sp0)
  2.   (if (and (setq e (car (xdrx_entsel "\nPick line: " '((0 . "line")))))
  3.            (not
  4.              (zerop (rem (xdrx_getpropertyvalue e "Angle") (* pi 2)))
  5.            )
  6.            (setq n (getint "\Divid Num: "))
  7.       )
  8.     (progn
  9.       (mapcar 'set '(sp ep) (xdrx_entity_getstretchpoint e))
  10.       (setq v        (mapcar '(lambda (x) (/ x n)) (mapcar '- ep sp))
  11.             sp0        sp
  12.       )
  13.       (repeat n
  14.         (setq ptl (cons (setq sp (mapcar '+ sp (list (car v) 0. 0.))) ptl)
  15.               ptl (cons (setq sp (mapcar '+ sp (list 0. (cadr v) 0.))) ptl)
  16.         )
  17.       )
  18.       (apply 'xdrx_polyline_make (cons sp0 (reverse ptl)))
  19.     )
  20.     (princ "\nNot need Simulation or Not Slash!")
  21.   )
  22.   (princ)
  23. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 1268个

财富等级: 财源广进

 楼主| 发表于 2013-12-1 08:08:29 | 显示全部楼层
往上偏移一半

  1. (defun c:tt (/ e n v ptl v v+ v- nsp nep i dis )
  2.   (if (and (setq e (car (xdrx_entsel "\nPick line: " '((0 . "line")))))
  3.            (not
  4.              (zerop (rem (xdrx_getpropertyvalue e "Angle") (* pi 2)))
  5.            )
  6.            (setq n (getint "\nDivid Num: "))
  7.       )
  8.     (progn
  9.       (mapcar 'set '(sp ep) (xdrx_entity_getstretchpoint e))
  10.       (setq v        (mapcar '(lambda (x) (/ x n)) (mapcar '- ep sp))
  11.             v+        (list 0. (* (cadr v) 0.5) 0.)
  12.             v-        (list 0. (- (* (cadr v) 0.5)) 0.)
  13.             nsp        (mapcar '+ sp v+)
  14.             nep        (mapcar '+ ep v-)
  15.             i        1
  16.             dis        (/ (distance sp ep) n)
  17.             an        (angle sp ep)
  18.       )
  19.       (repeat (1- n)
  20.         (setq ptl (cons (polar sp an (* i dis)) ptl)
  21.               i          (1+ i)
  22.         )
  23.       )
  24.       (setq ptl        (mapcar        '(lambda (x)
  25.                            (list (mapcar '+ x v+)
  26.                                  (mapcar '+ x v-)
  27.                            )
  28.                          )
  29.                         ptl
  30.                 )
  31.             ptl        (apply 'append ptl)
  32.       )
  33.       (apply 'xdrx_polyline_make
  34.              (cons sp (cons nsp (reverse (cons ep (cons nep ptl)))))
  35.       )
  36.     )
  37.     (princ "\nNot need Simulation or Not Slash!")
  38.   )
  39.   (princ)
  40. )
divln1.jpg
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

发表于 2013-12-1 11:14:21 | 显示全部楼层
哦,画台阶啊,每步的踏步高怎么定的呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-23 17:21 , Processed in 0.266430 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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