马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
 - (defun c:xdtb_divln (/ e pt pts v)
- (if
- (and (setq e (xdrx-entsel
- "\n拾取直线或多段线直线段<退出>:"
- '((0 . "line,*polyline"))
- )
- )
- (setq pt (cadr e)
- e (car e)
- )
- (cond
- ((xdrx-object-iskindof e "*polyline")
- (if (not (setq e (xdrx-getpropertyvalue e "LineSegAt" pt)))
- (progn
- (xdrx-prompt "\n没有选中直线段.")
- )
- )
- e
- )
- (t e)
- )
- (setq div (getint "\n输入等分数<退出>:"))
- )
- (progn
- (xdrx-begin)
- (setq pts (xdrx-getpropertyvalue e "divide" div)
- v (xdrx-vector-normalize (mapcar '- (last pts) (car pts)))
- v (xdrx-vector-perpvector v)
- )
- (mapcar '(lambda (x)
- (xdrx-xline-make x (mapcar '+ x v))
- (xdrx-setpropertyvalue (entlast) "color" 252 "layer" "0")
- )
- (cdr (xd::list:removetail pts))
- )
- (xdrx-free e)
- (xdrx-end)
- )
- )
- (princ)
- )
|