画一段线中间上面标注文字
大神位,谁能帮我编一个,画一段线,在线的中间和上面标注文字, 第二种模式就是只在线的上面标注文字,,最好可以自己存几个常用的文字本帖最后由 橡皮 于 2023-5-1 10:57 编辑
上传一个演示动图吧
本帖最后由 x_s_s_1 于 2023-4-27 10:19 编辑
纯玩笑之作,复制代码可能有问题,最后上传了附件,要玩儿的下载附件吧,贴的代码给高手指点用。
(defun c:tt(/ f fl i lst1 lst2 mnug mnugs mnus pt1 pt2 stct)
(setvar "cmdecho" 0)
(setqlst1'("扩展词库(&K)" "提示1(&1)" "提示2(&2)" "提示3(&3)"
"提示4(&4)") ;_快捷键是(&*)自己定义lst1和lst2原子数量要对应
lst2'("tt2 " "你是谁" "为了谁" "我的战友你何时归" "回不去了")
pt1(getpoint "\n第一点:")
pt2(getpoint pt1 "\n第二点:")
**mid**(mapcar '(lambda (x y) (* 0.5 (+ x y))) pt1 pt2)
**ang**(angle pt1 pt2)
**ang**(angtos **ang** 2 8))
(if (not (menugroup "tempmenu"))
(progn
(setq f(strcat (getvar "tempprefix") "tempmenu.mnu")
f(strcat f)
fl (open f "w"))
(write-line
"***menugroup=tempmenu\n\n***POP0\n\n**temp\n\n"
fl)
(close fl)
(vl-cmdf "menuload" f)))
(setqmnugs (vlax-get-property (vlax-get-acad-object) 'MenuGroups)
mnug(vl-catch-all-apply
'vlax-invoke-method
(list mnugs 'item "tempmenu"))
mnus(vlax-get-property mnug 'menus))
(vlax-for pop mnus
(if(= :VLAX-TRUE (vlax-get-property pop 'ShortcutMenu))
(setq stct pop)))
(vlax-for pop stct (vlax-invoke-method pop 'delete))
(setq i 0)
(mapcar
'(lambda (x y)
(if (= 0 i)
(vlax-invoke-method stct 'addmenuitem i x y)
(vlax-invoke-method
stct
'addmenuitem
i
x
(strcat "_text\nj\nc\n!**mid**\n300\n!**ang**\n" y "\n")))
(setq i (1+ i)))
lst1
lst2)
(vl-cmdf "._line" "non" pt1 "non" pt2 "")
(menucmd "P0=tempmenu.temp")
(menucmd "P0=*"))
我也上传一个动图吧;P
有偿有偿有偿 这个问题有人给解决了吗? 帝都划水王 发表于 2023-4-26 16:35
这个问题有人给解决了吗?
没有
可能现在论坛的人太少了,都在忙 兄弟加QQ吧 3446099265 x_s_s_1 发表于 2023-4-26 23:34
纯玩笑之作
大哥太谦虚了,这可不是玩笑之做呀,就是我CAD有问题,输入命令 变成乱码了,也不知道怎么回事,我刚学这个见笑了, 好玩,能定义字体和与线的间距更好玩 gaolei_gaolei 发表于 2023-4-27 08:42
大哥太谦虚了,这可不是玩笑之做呀,就是我CAD有问题,输入命令 变成乱码了,也不知道怎么回事,我刚学这 ...
下载lsp文件直接加载吧
页:
[1]
2