你好,可以给我一个标注的数字直接求和的lsp程序吗?谢谢 999998521、@、163.com

求高手帮改一下CAD中拾取数字求和的lsp程序,使默认小数点后1位、默认字高600mm、默认字体宋体,谢谢!_百度知道
求高手帮改一下CAD中拾取数字求和的lsp程序,使默认小数点后1位、默认字高600mm、默认字体宋体,谢谢!
(defun c:addd ( / ss filter mspace n e str asclst strs add pt txt txth)
(defun *error* (msg) (if ss (x_draw ss 4)) (setq *error* oerr))
(princ &\n选择要计算文本:&)
(setq oerr *error* ss (ssget '((0 . &*TEXT&))) filter &.-+& mspace (vla-get-modelspace(vla-get-activedocument (vlax-get-acad-object))) str nil strs nil)
(repeat (setq n (sslength ss))
(x_draw ss 3)
(setq n (1- n)
e (ssname ss n)
str (vla-get-textstring(vlax-ename-&vla-object e))
strs (strcat (if strs strs & &) (x_txt2 str) & &))
(if (and ss (/= && strs))
(setq add (eval (read (strcat &(+ & strs &)&))))
(princ &\n文本数字: &)(princ add)
(if (setq pt (getpoint &\n标注位置:&))
(setq prec (getint &\n精度(数位数):&)
txt (rtos add 2 prec)
txth (getdist &\n字高:&))
(vla-addtext mspace txt (vlax-3D-point pt) txth)
(x_draw ss 4)
(princ) add)
(progn (if ss (x_draw ss 4))(xtcal))
(progn (princ &\n!空选集或文本效数字!\n&) nil)
))(defun x_draw (ss key / n e)
(if (= 'PICKSET (type ss))
(repeat (setq n (sslength ss))
(setq n (1- n)
e (ssname ss n))
(redraw e key)
))(defun x_txt2 (str / i key1 key2 str1)(setq i 1 key2 nil)(repeat (strlen str)(cond((= &{\\f& (substr str i 3)) (setq i (+ 3 i) key1 1 key2 1))((and key1 (= &}& (substr str i 1))) (setq key1 nil key2 nil))((and key1 (= &;& (substr str i 1))) (setq key2 nil))((not key2)(setq st (substr str i 1)str1 (strcat (if (not str1) && str1)(cond((= &.& st)(if (wcmatch (substr str (1+ i) 1) &#&) st & &))((member st '(&+& &-&)) (if (wcmatch (substr str (1+ i) 1) &#,'.&) st & &))(T (if (wcmatch filter (strcat &*& st &*&)) st & &)))))))(setq i (1+ i)))(setq str str1))
能<img class="word-replace" src="/api/getdecpic?picenc=0a5flsp用输数点精度字高选取求直接图面求值;另命令行提示数点精度字高默认值别1600谢谢啦
提问者采纳
(defun&c:addd&(&/&ss&filter&mspace&n&e&str&asclst&strs&add&pt&txt&txth&#os1)&&(setq&#os1&(getvar&&textstyle&));;取前字体&&(setvar&&textstyle&&&宋体&);;设置宋体&&(defun&*error*&(msg)&(if&ss&(x_draw&ss&4))&(setq&*error*&oerr))&&(princ&&\n选择要计算文本:&)&&(setq&oerr&*error*&ss&(ssget&&#39;((0&.&&*TEXT&)))&filter&&.-+&&mspace&(vla-get-modelspace(vla-get-activedocument&(vlax-get-acad-object)))&str&nil&strs&nil)&&(if&ss&&&&(repeat&(setq&n&(sslength&ss))&&&&&&(x_draw&ss&3)&&&&&&(setq&n&(1-&n)&&&&&e&(ssname&ss&n)&&&&&str&(vla-get-textstring(vlax-ename-&vla-object&e))&&&&&strs&(strcat&(if&strs&strs&&&&)&(x_txt2&str)&&&&))&&&&&&&)&&&&)&&(if&(and&ss&(/=&&&&strs))&&&&(progn&&&&&&(setq&add&(eval&(read&(strcat&&(+&&&strs&&)&))))&&&&&&(princ&&\n文本数字:&&)(princ&add)&&&&&&(if&(setq&pt&(getpoint&&\n标注位置:&))&&&(progn&&&&&&&&&&&&(setq&h1&1&prec&(getint&(strcat&&\n精度(数位数):&&&(rtos&h1&2&0)&&&&)));;默认精度数点1&&&&&&&&&&&&(if&(=&prec&nil)&(setq&prec&h1)&);;输入默认&&&&(setq&txt&(rtos&add&2&prec)&h1&600&&&&txth&(getdist&(strcat&&\n字高:&&&(rtos&h1&2&0)&&&&)))&&&&(if&(=&txth&nil)&(setq&txth&h1)&);;输入默认600&&&&&(vla-addtext&mspace&txt&(vlax-3D-point&pt)&txth)&&&&&(x_draw&ss&4)&&&&&(princ)&add)&&&(progn&(if&ss&(x_draw&ss&4))(xtcal))&&&&&&&&)&&&&)&&&&(progn&(princ&&\n!空选集或文本效数字!\n&)&nil)&&)&&(setvar&&textstyle&&#os1);;原字体设置&&(princ))(defun&x_draw&(ss&key&/&n&e)&&(if&(=&&#39;PICKSET&(type&ss))&&&&(repeat&(setq&n&(sslength&ss))&&&&&&(setq&n&(1-&n)&&&&&e&(ssname&ss&n))&&&&&&(redraw&e&key)&&&&)&&))(defun&x_txt2&(str&/&i&key1&key2&str1)(setq&i&1&key2&nil)(repeat&(strlen&str)(cond((=&&{\\f&&(substr&str&i&3))&(setq&i&(+&3&i)&key1&1&key2&1))((and&key1&(=&&}&&(substr&str&i&1)))&(setq&key1&nil&key2&nil))((and&key1&(=&&;&&(substr&str&i&1)))&(setq&key2&nil))((not&key2)(setq&st&(substr&str&i&1)str1&(strcat&(if&(not&str1)&&&&str1)(cond((=&&.&&st)(if&(wcmatch&(substr&str&(1+&i)&1)&&#&)&st&&&&))((member&st&&#39;(&+&&&-&))&(if&(wcmatch&(substr&str&(1+&i)&1)&&#,&#39;.&)&st&&&&))(T&(if&(wcmatch&filter&(strcat&&*&&st&&*&))&st&&&&)))))))(setq&i&(1+&i)))(setq&str&str1))要数字输入;(setq&h1&1&prec&(getint&(strcat&&\n精度(数位数):&&&(rtos&h1&2&0)&&&&)));;默认精度数点1&&&&&&&&&&&&(if&(=&prec&nil)&(setq&prec&h1)&);;输入默认&&&&(setq&txt&(rtos&add&2&prec)&h1&600&&&&txth&(getdist&(strcat&&\n字高:&&&(rtos&h1&2&0)&&&&)))&&&&(if&(=&txth&nil)&(setq&txth&h1)&);;输入默认600&&&&&(vla-addtext&mspace&txt&(vlax-3D-point&pt)&txth)些删除换:(vla-addtext&mspace&(rtos&add&2&1)&(vlax-3D-point&pt)&600);;取数点1位高度600
提问者评价
来自团队:
其他类似问题
为您推荐:
lsp的相关知识
其他1条回答
(defun c:addd ( / ss filter mspace n e str asclst strs add pt txt txth)
(defun *error* (msg) (if ss (x_draw ss 4)) (setq *error* oerr))
(princ &\n选择要计算的文本:&)
(setq oerr *error*
ss (ssget &#039;((0 . &*TEXT&)))
filter &.-+&
mspace (vla-get-modelspace(vla-get-activedocument (vlax-get-acad-object)))
str nil strs nil)
(repeat (setq n (sslength ss))
(x_draw ss 3)
(setq n (1- n)
e (ssname ss n)
str (vla-get-textstring(vlax-ename-&vla-object e))
strs (strcat (if strs strs & &) (x_txt2 str) & &))
(if (and ss (/= && strs))
(setq add (eval (read (s...
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁cad标注尺寸中的数字直接求和插件_百度知道
cad标注尺寸中的数字直接求和插件
两标注选取能两标注3100单lsp
我CAD数字自求LSP程序便快捷计算结要
你的意思是把标注炸开,再用数字求和工具。我要是直接选取标注,就能得到相加的结果。你有吗?
需要炸开标注的
其他类似问题
为您推荐:
cad标注的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁求autoCAD选中数字自动求和插件,谢谢。_百度知道
求autoCAD选中数字自动求和插件,谢谢。
提问者采纳
AutoCAD没工具吧浩辰CAD工具且能些相同前缀数字进行求
提问者评价
来自团队:
其他类似问题
为您推荐:
autocad的相关知识
其他2条回答
工具菜单中,加载一个应用程序as.lsp就可以了,为了方便使用,建议加载到cad的启动项中个人建议建一个目录将常用的应用程序和字体放在一起,比如说D:\Program files\autocad此应用程序用法及功能文本数字求和(型如:钉23,钉23.12m,23.12M,钉20米),命令:as多行文字先用X命令炸开,不支持负数先选中多个要求和的字符串,输入as,空格,就有结果了.
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁CAD里标注出来的数字怎么直接求和_百度知道
CAD里标注出来的数字怎么直接求和
标数字求 我求插件能用
我标注数字直接求lsp程序永久使用要
其他类似问题
为您推荐:
cad的相关知识
其他2条回答
CAD面没必要求啊直接再做标注行
用计算机哈哈哈哈哈哈哈哈哈哈
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

 

随机推荐