乐于分享
好东西不私藏

【源码】立面高程标注

【源码】立面高程标注
程序用于立面图高程标注查询,简易效果图如下:
;;;2026/8/17;;;标高标注函数(defun bhdim(pt d sc / dscale plst ptxt)  (setq dscale(lambda(pt s)(mapcar'(lambda(x)(* s x))pt)))  (setq plst(mapcar'(lambda(p)(mapcar'+ p pt))		     (mapcar'(lambda(p)(dscale p(/ 1.0 sc)))			    (list'(0.3 0.3)'(0 0)'(-0.3 0.3)'(2 0.3)))))  (entmake (append(list'(0 . "LWPOLYLINE") '(100 . "AcDbEntity") '(100 . "AcDbPolyline")		       (cons 90 (length plst)))(mapcar '(lambda (p)(cons 10 p))plst )))  (setq ptxt(mapcar'+ pt(dscale'(0.4 0.4)(/ 1.0 sc)))	htxt(rtos(+(* d sc)h0)2 3))  (entmake (list '(0 . "TEXT")(cons 1 htxt) (cons 10 ptxt)(cons 40 (/ 0.3 sc)))));;;标注主函数(defun C:BHBZ(/ p0 H0)  (setq p0(getpoint"\n指定参考点:")	H0(getreal"\n输入参考点高程(m):")	scal(getreal(strcat"\n输入比例因子<"(rtos(if scal scal 1)2 3)">:")))  (if(null scal)(setq scal 1))  (if(and p0 H0)    (while(setq pt(getpoint"\n指定标注点:"))      (bhdim pt(-(cadr pt)(cadr p0))scal)))  (princ))
视频如下:
已关注
关注
重播 分享
注:标注前务必复核图纸尺寸、比例因子!