2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > cad lisp程序 标注 避让_CAD lisp 下面代码如何修改 才能使标注位置离开基准点

cad lisp程序 标注 避让_CAD lisp 下面代码如何修改 才能使标注位置离开基准点

时间:2022-03-13 18:20:09

相关推荐

cad lisp程序 标注 避让_CAD lisp 下面代码如何修改 才能使标注位置离开基准点

defunc:k(/oldcmdssss1icenpp1pp2iip1p2ll)(princ"\n选取需要标注的孔:")(setqoldcmd(getvar"cmdecho"))(setvar"cmdecho"0)(setqss(ssget'((0."insert"))))(setqss1'())(setqi0)(repe...

defun c:k (/ oldcmd ss ss1 i cen pp1 pp2 ii p1 p2 ll)

(princ "\n选取需要标注的孔: ")

(setq oldcmd (getvar "cmdecho"))

(setvar "cmdecho" 0)

(setq ss (ssget '((0 . "insert"))))

(setq ss1 '())

(setq i 0)

(repeat (sslength ss)

(setq cen (cdr (assoc 10 (entget (ssname ss i)))))

(setq ss1 (cons cen ss1))

(setq i (1+ i))

)

(setq ss1

(vl-sort ;Vl-sort 排序

ss1

'(lambda (pp1 pp2)

(if (< (abs (- (cadr pp1) (cadr pp2))) 0.01)

(< (car pp1) (car pp2))

(< (cadr pp1) (cadr pp2))

)

)

)

)

(setq ii 0)

(repeat (- (sslength ss) 1)

(setq p1 (nth ii ss1))

(setq p2 (nth (1+ ii) ss1))

(setq ll (rtos (* 1000 (distance p1 p2)) 2 0))

(if (> (* 1000 (distance p1 p2)) 1) ;小于1则不标注

(progn

(command "dimaligned" p1 p2 "t" "" p1)

(princ

(strcat "\n标注孔距=" (rtos (* 1000 (distance p1 p2)) 2 2)) ;标注文字

)

)

)

(setq ii (1+ ii))

)

(setvar "cmdecho" oldcmd)

(prin1)

)

展开

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。