立即注册 登录
晓东CAD家园-论坛 返回首页

eachy的个人空间 http://bbs.xdcad.net/?14 [收藏] [复制] [分享] [RSS]

日志

对垂直、水平标注按间距分列/行对齐

已有 809 次阅读2013-5-6 18:11 |个人分类:Lisp

应一位网友所写的标注对齐程序。

代码:

(defun c:AlDim (/ ss ssl i e el p dl tf dist)
(if (and (setq ss (ssget '((0 . "dimension") (70 . 32))))
(setq dist (getdist "\n输入间距: "))
)
(progn
(command ".undo" "be")
(setq ssl (sslength ss)
i -1
)
(repeat ssl
(setq e (ssname ss (setq i (1+ i)))
el (entget e)
p (cdr (assoc 10 el))
dl (cons (list p e) dl)
)
(if
(and (not tf) (equal (cdr (assoc 50 el)) (/ pi 2.) 1e-6)) ;_ver
(setq tf t)
)
)
(if tf
(setq dl (ybl-ent-sort dl 1 4 dist)) ;_ver
(setq dl (ybl-ent-sort dl 0 1 dist))
)
(setq p (caaar dl))
(foreach x dl
(foreach d x
(setq el (entget (cadr d)))
(entmod (subst (cons 10
(if tf
(list (car p) (cadar d))
(list (caar d) (cadr p))
)
)
(assoc 10 el)
el
)
)
)
(setq p (if tf
(mapcar '+ (list dist 0. 0.) p)
(mapcar '- p (list 0. (- dist) 0.))
)
)
)
(command ".undo" "end")
)
)
(princ)
)
(princ "\nStart command with AlDim , eachy [www.xdcad.net]!")
(princ)

路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 立即注册

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

GMT+8, 2024-4-27 23:02 , Processed in 0.343834 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

返回顶部