Jhun Gonzalo 发表于 2022-7-6 14:41:25

带级别的标注请帮助f

你好
 
请帮助我使用Autocad 2009绘制MEP协调剖面图,我需要一条lsp路线,该路线将自动提供一个标高的注释,请参见下面的附图:
 
我还附上了我的注释。lsp可以了,请把它修好,因为当我使用它作为UCS模型绘制时,它会在X和Y坐标上旋转图标,我喜欢在UCS布局上也使用它。
 
请帮忙。。。
 
(defun c:vl (/ p1 sub sub2)
(setq osm(getvar "osmode"))
(setq cla(getvar "clayer"))
(command "ucs" "w")
(command "attdia" "1")
(command "osmode" "0")
(command "layer" "n" "0-callout" "")
(command "clayer" "0-Callout")
(setq atd(getvar "attdia"))
(setq bs " ")
(setq def "t")
(while def
(command "attdia" 0)
(if (= p1 nil) (command "insert" "AS-LVTX" pause "" "" "" bs bs bs ""))
(if (/= p1 nil) (command "insert" "AS-LVTX" p1 "" "" "" bs bs bs ""))
(command "attdia" atd)
;;;
(setq abc "t")
(while abc
;;;
(setq ent (entlast))
(setq p1 (cdr (assoc 10 (entget ent))))
(setq p1x (car p1))
(setq p1y (cadr p1))
;;;
(initget 8 "u d s")
(setq obj (getkword "Up/Down/Space?"))
;
(if (= obj "s")
(setq sub2 (getdist "set new distance:"))
(setq sub sub2))
(if (= sub2 nil) (setq sub 6))
;
(if (= obj "u")
(progn
(setq p1y1 (+ p1y sub))
(setq p1 (list p1x p1y1))
(setq u1 (assoc 10 (entget ent)))
(setq u2 (cons (car u1) (list p1x p1y1)))
(setq u3 (subst u2 u1 (entget ent)))
(entmod u3))
(if (= obj nil) (setq abc nil)))
(if (= obj "d")
(progn
(setq p1y1 (- p1y sub))
(setq p1 (list p1x p1y1))
(setq u1 (assoc 10 (entget ent)))
(setq u2 (cons (car u1) (list p1x p1y1)))
(setq u3 (subst u2 u1 (entget ent)))
(entmod u3))
(if (= obj nil) (setq abc nil))))
(if (or (/= obj "u") (/= obj "d")) (setq p2 (getpoint "pick target:" p1)))
(if (= p2 nil) (setq def nil))
(command "erase" ent "")
;;;
;;;
(setq pp1x (cdr p1))
(setq p1x (car p1))
(if (< (car p1) (car p2))
(progn
(if (< (cadr p1) (cadr p2)) (setq p3d (- (cadr p1) (cadr p2))))
(if (< (cadr p2) (cadr p1)) (setq p3d (- (cadr p2) (cadr p1))))
(if (< (cadr p2) (cadr p1))
(progn
(setq pp3x (- (* 1 p1x) 17))
(setq pp3 (list pp3x p1y 00))
(command "dimstyle" "r" "non")
(setq p3 (polar p2 (+ 0.0 (dtr -60)) (* p3d 1.1547)))
(command "leader" p2 p3 pp3 "a" "" "b" "AS-LVTX" p1 "" "" "")))
(if (< (cadr p1) (cadr p2))
(progn
(setq pp3x (- (* 1 p1x) 17))
(setq pp3 (list pp3x p1y 00))
(command "dimstyle" "r" "non")
(setq p3 (polar p2 (+ 0.0 (dtr 60)) (* p3d 1.1547)))
(command "leader" p2 p3 pp3 "a" "" "b" "AS-LVTX" p1 "" "" "")))))
(if (< (car p2) (car p1))
(progn
(if (< (cadr p1) (cadr p2)) (setq p3d (- (cadr p1) (cadr p2))))
(if (< (cadr p2) (cadr p1)) (setq p3d (- (cadr p2) (cadr p1))))
(if (< (cadr p2) (cadr p1))
(progn
(command "dimstyle" "r" "non")
(setq p3 (polar p2 (+ 0.0 (dtr -120)) (* p3d 1.1547)))
(command "leader" p2 p3 p1 "a" "" "b" "AS-LVTX" p1 "" "" "")))
(if (< (cadr p1) (cadr p2))
(progn
(command "dimstyle" "r" "non")
(setq p3 (polar p2 (+ 0.0 (dtr 120)) (* p3d 1.1547)))
(command "leader" p2 p3 p1 "a" "" "b" "AS-LVTX" p1 "" "" "")))))
(setq vs2 (* 2 (getvar "useri3")))
(command "insert" "LD-CRPT" p2 vs2 vs2 ""))
(command "osmode" osm)
(command "clayer" cla)
(princ))

 
BR
 
Jhun先生
示例1.pdf

Jhun Gonzalo 发表于 2022-7-6 15:57:51

你好
 
有关我需要的Lisp路径的更多信息,请参阅附件PDF文件
 
我有Lisp程序的例行程序,它在60岁时画一个领导者;120; 240; 320度的角度,所以你不必目瞪口呆
;(setq vs2(* 2 (getvar "useri1")))
(defun dtr (a)
(* pi (/ a 180.0))
)
(defun rtd (a)
(/ (* a 180.0) pi)
)

(defun c:leang (/ p1 sub sub2)
(setq osm(getvar "osmode"))
(setq cla(getvar "clayer"))
(command "ucs" "w")
(command "attdia" "1")
(command "osmode" "0")
(command "layer" "n" "0-callout" "")
(command "clayer" "0-Callout")
(setq atd(getvar "attdia"))
(setq bs " ")
(setq def "t")
(while def
(command "attdia" 0)
(if (= p1 nil) (command "insert" "AS-LVTX" pause "" "" "" bs bs bs ""))
(if (/= p1 nil) (command "insert" "AS-LVTX" p1 "" "" "" bs bs bs ""))
(command "attdia" atd)
;;;
(setq abc "t")
(while abc
;;;
(setq ent (entlast))
(setq p1 (cdr (assoc 10 (entget ent))))
(setq p1x (car p1))
(setq p1y (cadr p1))
;;;
(initget 8 "u d s")
(setq obj (getkword "Up/Down/Space?"))
;
(if (= obj "s")
(setq sub2 (getdist "set new distance:"))
(setq sub sub2))
(if (= sub2 nil) (setq sub 6))
;
(if (= obj "u")
(progn
(setq p1y1 (+ p1y sub))
(setq p1 (list p1x p1y1))
(setq u1 (assoc 10 (entget ent)))
(setq u2 (cons (car u1) (list p1x p1y1)))
(setq u3 (subst u2 u1 (entget ent)))
(entmod u3))
(if (= obj nil) (setq abc nil)))
(if (= obj "d")
(progn
(setq p1y1 (- p1y sub))
(setq p1 (list p1x p1y1))
(setq u1 (assoc 10 (entget ent)))
(setq u2 (cons (car u1) (list p1x p1y1)))
(setq u3 (subst u2 u1 (entget ent)))
(entmod u3))
(if (= obj nil) (setq abc nil))))
(if (or (/= obj "u") (/= obj "d")) (setq p2 (getpoint "pick target:" p1)))
(if (= p2 nil) (setq def nil))
(command "erase" ent "")
;;;
;;;
(setq pp1x (cdr p1))
(setq p1x (car p1))
(if (< (car p1) (car p2))
(progn
(if (< (cadr p1) (cadr p2)) (setq p3d (- (cadr p1) (cadr p2))))
(if (< (cadr p2) (cadr p1)) (setq p3d (- (cadr p2) (cadr p1))))
(if (< (cadr p2) (cadr p1))
(progn
(setq pp3x (- (* 1 p1x) 17))
(setq pp3 (list pp3x p1y 00))
(command "dimstyle" "r" "non")
(setq p3 (polar p2 (+ 0.0 (dtr -60)) (* p3d 1.1547)))
(command "leader" p2 p3 pp3 "a" "" "b" "AS-LVTX" p1 "" "" "")))
(if (< (cadr p1) (cadr p2))
(progn
(setq pp3x (- (* 1 p1x) 17))
(setq pp3 (list pp3x p1y 00))
(command "dimstyle" "r" "non")
(setq p3 (polar p2 (+ 0.0 (dtr 60)) (* p3d 1.1547)))
(command "leader" p2 p3 pp3 "a" "" "b" "AS-LVTX" p1 "" "" "")))))
(if (< (car p2) (car p1))
(progn
(if (< (cadr p1) (cadr p2)) (setq p3d (- (cadr p1) (cadr p2))))
(if (< (cadr p2) (cadr p1)) (setq p3d (- (cadr p2) (cadr p1))))
(if (< (cadr p2) (cadr p1))
(progn
(command "dimstyle" "r" "non")
(setq p3 (polar p2 (+ 0.0 (dtr -120)) (* p3d 1.1547)))
(command "leader" p2 p3 p1 "a" "" "b" "AS-LVTX" p1 "" "" "")))
(if (< (cadr p1) (cadr p2))
(progn
(command "dimstyle" "r" "non")
(setq p3 (polar p2 (+ 0.0 (dtr 120)) (* p3d 1.1547)))
(command "leader" p2 p3 p1 "a" "" "b" "AS-LVTX" p1 "" "" "")))))
(setq vs2 (* 2 (getvar "useri3")))
(command "insert" "LD-CRPT" p2 vs2 vs2 ""))
(command "osmode" osm)
(command "clayer" cla)
(princ))

 
-我只想重新修改它,因为当我在旋转UCS视图的模型图形上使用时,引线也将根据X/Y轴方向旋转,我如何重新对齐它而不影响UCS方向。
 
-我还需要文本引线,通过拾取风管/管道服务层底部的地面标高来自动创建标高。它只类似于尺寸,它将在文字引线上创建尺寸。
 
如果有机会,请帮助我确定这条路线,以便我更容易在协调图纸上确定标注标高,
 
谢谢和问候
JG公司
leang。拉链
示例2.pdf
页: [1]
查看完整版本: 带级别的标注请帮助f