qazxswk
发表于 2024-1-21 00:08:45
hao3ren 发表于 2024-1-20 12:38
圆圈用遮罩不好吗,为啥要剪断
你这样说,说明你没有看懂代码。没用剪断操作,是直接在两个圆之间画直线的。
万事如意
发表于 2024-1-22 19:06:46
kwok 发表于 2024-1-15 09:38
(defun c:tt ( /p1 p2 p3 p4 pt dd)
(command ".undo" "be")
(s ...
你好大神多段线上的数字紧贴线,可以离开多段线2毫米吗?麻烦你了大神帮帮忙改一下谢谢你了。
万事如意
发表于 2024-1-22 19:11:25
kwok 发表于 2024-1-20 17:55
(setq dd (distance p3 p4)改为(setq dd (distance p1 p2)
你好大神麻烦你了帮我把多段线上的数字离开多段线2毫米,谢谢你了。
hao3ren
发表于 2024-1-22 23:55:37
qazxswk 发表于 2024-1-21 00:08
你这样说,说明你没有看懂代码。没用剪断操作,是直接在两个圆之间画直线的。
(defun c:t1t ( /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) 1.5)))
(LM:CircularWipeout p1 rad)
(command ".text" "non" pt 0.75 (/ (* (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)
万事如意
发表于 2024-1-23 08:43:47
hao3ren 发表于 2024-1-22 23:55
(defun c:t1t ( /p1 p2 p3 p4 pt dd)
(command ".undo" "be")
(setq rad ...
你好大神你这个太厉害,你好大神麻烦你了帮我把你这个代码在多段线上的数字离开多段线0.6-1毫米左右,谢谢你了。
hao3ren
发表于 2024-1-23 11:50:51
与线段方向有关系,调整后可能还不如贴线的效果
万事如意
发表于 2024-1-23 13:32:47
hao3ren 发表于 2024-1-23 11:50
与线段方向有关系,调整后可能还不如贴线的效果
你好大神麻烦你帮帮忙修改一下,在多段线上的数字离开多段线0.6毫米左右,因为我画图的时候有一部分多段线需要加粗0.6毫米,这样多段线就把数字给覆盖一部分,大神求你帮我修改一下谢谢你了。
hao3ren
发表于 2024-1-23 16:43:21
我不是大神,瞎改,凑活着用好了
(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 0.75 (/ (* (angle p1 p2) 180.0) pi) (rtos dd 2 2)"")
(setq p1 p2)
)
(command ".undo" "e")
(princ)
)
万事如意
发表于 2024-1-24 08:36:28
hao3ren 发表于 2024-1-23 16:43
我不是大神,瞎改,凑活着用好了
(defun c:t2t ( /p1 p2 p3 p4 pt dd)
(comman ...
你好大神你这个代码我在CAD2024上就好用了一次,数字离开多段线的距离正好,在用第二次,数字还是贴着多段线,还得麻烦大神改一改,谢谢你。
万事如意
发表于 2024-1-24 08:45:32
hao3ren 发表于 2024-1-23 16:43
我不是大神,瞎改,凑活着用好了
(defun c:t2t ( /p1 p2 p3 p4 pt dd)
(comman ...
你好大神我第二次加载,我输入圆的直径完事,去画多段线就是一条多段线,没有数字和圆,怎么加载都一样,麻烦你帮帮忙修改以下,谢谢你。