没有人么?下面是我自己做的一个只标注线的长度的多选标注。想做一个二线X轴的标注和Y轴标注!下面是代码和图片-
- (defun c:tt ()
- (setq pt1dist (getint "\n请输入标注时[往左拉或往下拉]的长度[10]:"))
- (if (null pt1dist) (setq pt1dist 10))
- (prompt "请选择标注的线段:")
- (setq entss (ssget)) ;(setq entss (ssget "a" '((0 . "LINE"))))
- (setq n 0)
- (repeat (sslength entss)
- (setq ent (ssname entss n)) ;返回选择集的名字,从0开始的这是固定的
- (setq get (entget ent)) ;得出每一个选择集的属性
- (setq pt10 (cdr (assoc 10 get)))
- (setq xpt10 (car pt10))
- (setq ypt10 (cadr pt10))
- (setq pt11 (cdr (assoc 11 get)))
- (setq xpt11 (car pt11))
- (setq ypt11 (cadr pt11))
- (cond
- ((equal ypt10 ypt11 ) (setq pt1 (polar pt10 (/ pi -2) pt1dist)) (command "dimlinear" pt10 pt11 "h" pt1))
- ((equal xpt10 xpt11 ) (setq pt1 (polar pt10 pi pt1dist)) (command "dimlinear" pt10 pt11 "v" pt1))
- (t (setq pt1 (polar pt10 (angle pt10 pt11) pt1dist)) (command "DIMALIGNED" pt10 pt11 pt1))
- )
- (setq n (+ n 1))
- )
- )
-
|