你好各位大神帮我修改一下这个代码
本帖最后由 万事如意 于 2024-8-3 14:17 编辑你好各位大神帮我修改一下这个代码正常我在多段线上输入50多段线上就出现个50标注,现在是输入50他出现359.0197801584798麻烦各位大神帮帮忙修改输入多少数字就出现多少数字好比输入50就出现50。
(defun c:tg(/p1 p2 p3 p4 pt dd)
(command ".undo" "be")
(setq p1(getpoint "\n指定点"))
(command ".CIRCLE" "non" p1 3)
(while
(setq p2(getpoint p1 "\n指定点")
p3(polar p1 (angle p1 p2) 3)
p4(polar p2 (angle p2 p1) 3)
)
(command ".line" "non" p3 "non" p4 "")
(setq dd (distance p1 p2)
pt (polar p2 (angle p2 p1) (+ (* dd 0.55) 1.5)))
(command ".CIRCLE" "non" p2 3)
(command ".text" "non" pt 6 (/ (* (angle p1 p2) 180.0) pi) (rtos dd 2 2)"")
(setq p1 p2)
)
(command ".undo" "e")
(princ)
)
这是第二个代码也是这种情况麻烦也帮我修改一下谢谢:
(defun c:t2t ( /p1 p2 p3 p4 pt dd)
(command ".undo" "be")
(setq rad (getdist"\n指定半径: "))
(setq p1 (getpoint "\n指定圆心: "))
(while
(setq p2 (getpoint p1 "\n指定点") )
(command ".line" "non" p1 "non" p2 "")
(setq dd (distance p1 p2)
pt (polar p2 (angle p2 p1)(* dd 0.5)))
(setq p3 (polar pt (atan (/ (* (angle p1 p2) 180.0) pi)) 0.6))
(LM:CircularWipeout p1 rad)
(command ".text" "j" "c" "non" p3 6 (/ (* (angle p1 p2) 180.0) pi) (rtos dd 2 2)"")
(setq p1 p2)
)
(command ".undo" "e")
(princ)
)
(defun LM:CircularWipeout ( cen rad / ang inc lst )
(setq acc 50 inc (/ pi acc 0.5) ang 0.0)
(repeat acc(setq lst (cons (list 14 (* 0.5 (cos ang)) (* 0.5 (sin ang))) lst)ang (+ ang inc)))
(entmakex(append(list '(000 . "WIPEOUT")'(100 . "AcDbEntity")'(100 . "AcDbWipeout")
(cons 10 (trans (mapcar '- cen (list rad rad)) 1 0))(cons 11 (trans (list (+ rad rad) 0.0) 1 0 t))
(cons 12 (trans (list 0.0 (+ rad rad)) 1 0 t))'(280 . 1)'(071 . 2))(cons (last lst) lst))))
(princ)
出现多少数字好比输入50就出现50 czb203 发表于 2024-8-3 15:15
出现多少数字好比输入50就出现50
你好大神你也没给改好麻烦你帮我改一下谢谢
czb203 发表于 2024-8-3 15:15
出现多少数字好比输入50就出现50
大神你真厉害,而且热心。 是这样吗?:o- 爱莫能助,最好搞个动图说明下比较好 因为你的lisp使用命令写入Text,将文本高度设置为6。但是,对于文本高度不为0的Textstyle,当使用Text命令时,CAD将不再询问高度,而是会询问Always回转。此时,数字6变为Rotation,Text内容变为选取的角点。要修复它,您可以重写该函数(命令“text”)或简单地使用当前 Textstyle 且 Textheight 等于 0
页:
[1]