陈同学 发表于 2021-7-23 20:49:17

引线标注无法在线下写字,求大神帮忙


[*](defun c:ybz (/ *error* name1 name2 name3)
[*](setq ty (getvar "TEXTSTYLE"))
[*](setqkd1 (caadr (textbox (list '(0 . "text")
[*]                              (cons 1 txt1)
[*]                              (cons 40 300)
[*]                              (cons 41 0.75)
[*]                              (cons 7 ty)
[*]                            )
[*]                   )
[*]            )
[*])
[*];字高300,字宽高比0.75,可以自己设置,字体为当前字体
[*](setqkd2 (caadr (textbox (list '(0 . "text")
[*]                              (cons 1 txt2)
[*]                              (cons 40 300)
[*]                              (cons 41 0.75)
[*]                              (cons 7 ty)
[*]                            )
[*]                   )
[*]            )
[*])
[*];字高300,字宽高比0.75,可以自己设置,字体为当前字体
[*](setqkd (max kd1 kd2)
[*]    kd (+ kd 50)
[*])
[*](setq p (getpoint "\n输入基点:"))
[*](setq pd t)
[*](while pd
[*]    (setq gr   (grread t 4 1)
[*]      mode (car gr)
[*]      pt   (cadr gr)
[*]    )
[*]    (if(= kd3 0)
[*]      (setq kd kd1)
[*]    )
[*]    (if(and (listp pt) (>= (car pt) (car p)))
[*]      (progn
[*]      (setq p0 (polar pt 0 kd))
[*]      (setq p1 (polar pt 0 (/ (- kd kd1) 2))
[*]          p1 (polar p1 (angtof "90") 50)
[*]      )
[*]      (setq p2 (polar pt 0 (/ (- kd kd2) 2))
[*]          p2 (polar p2 (angtof "270") 450)
[*]      )
[*]      )
[*]    )
[*]    (if(and (listp pt) (< (car pt) (car p)))
[*]      (progn
[*]      (setq p0 (polar pt pi kd))
[*]      (setq p1 (polar p0 0 (/ (- kd kd1) 2))
[*]          p1 (polar p1 (angtof "90") 50)
[*]      )
[*]      (setq p2 (polar p0 0 (/ (- kd kd2) 2))
[*]          p2 (polar p2 (angtof "270") 450)
[*]      )
[*]      )
[*]    )
[*]    (if(= mode 5)
[*]      (progn
[*]      (if name1
[*]          (entdel name1)
[*]      )
[*]      (entmake (list '(0 . "LWPOLYLINE")
[*]                   '(100 . "AcDbEntity")
[*]                   '(100 . "AcDbPolyline")
[*]                   '(6 . "Continuous")
[*]                   '(90 . 3)
[*]                   (cons 10 (pucs_wucs p))
[*]                   (cons 10 (pucs_wucs pt))
[*]                   (cons 10 (pucs_wucs p0))
[*]               )
[*]      )
[*]      (setq name1 (entlast))
[*]      (if name2
[*]          (entdel name2)
[*]      )
[*]      (setq ag (if (> (get_angle_pucs_wucs) 180)
[*]                   (max(angle (pucs_wucs pt) (pucs_wucs p0))
[*]                     (angle (pucs_wucs p0) (pucs_wucs pt))
[*]                   )
[*]                   (min(angle (pucs_wucs pt) (pucs_wucs p0))
[*]                     (angle (pucs_wucs p0) (pucs_wucs pt))
[*]                   )
[*]               )
[*]      )
[*]      (entmake (list '(0 . "text")
[*]                   (cons 1 txt1)
[*]                   (cons 40 300)
[*]                   (cons 41 0.75)
[*]                   (cons 10 (pucs_wucs p1))
[*]                   (cons 50 ag)
[*]                   (cons 7 ty)
[*]               )
[*]      )
[*]      ;字高300,字宽高比0.75,可以自己设置,字体为当前字体
[*]      (setq name2 (entlast))
[*]      (if name3
[*]          (entdel name3)
[*]      )
[*]      (if (= kd3 1)
[*]          (entmake (list '(0 . "text")
[*]                     (cons 1 txt2)
[*]                     (cons 40 300)
[*]                     (cons 41 0.75)
[*]                     (cons 50 ag)
[*]                     (cons 10 (pucs_wucs p2))
[*]                     (cons 7 ty)
[*]                   )
[*]          )
[*]      )
[*]      ;字高300,字宽高比0.75,可以自己设置,字体为当前字体
[*]      (if (= kd3 1)
[*]          (setq name3 (entlast))
[*]      )
[*]      )
[*]    )
[*]    (if(= mode 3)
[*]      (setq pd nil)
[*]    )
[*]    (if(or (= mode 2) (= mode 25))
[*]      (progn (setq pd nil)
[*]      (entdel name1)
[*]      (entdel name2)
[*]      (if name3
[*]          (entdel name3)
[*]      )
[*]      )
[*]    )
[*])
[*](princ)
[*])

wo870711 发表于 2022-2-15 09:08:06

麻烦问下,你这个问题解决没
页: [1]
查看完整版本: 引线标注无法在线下写字,求大神帮忙