贱人工具箱如何编号?如一个圆有很多个不同样的图型,编成1到500,_百度...
发布网友
发布时间:2024-09-06 18:25
我来回答
共2个回答
热心网友
时间:2天前
我用贱人尝试过,不会弄,后来下载了一个lisp,用text编辑的数字可以复制递增。希望对你有所帮助。如下:
(defun c:gf()
(setq bc (getint "\n 请输入步长:"))
)
(defun c:saa()
(setq banben (ver))
(ddd banben)
(setq banben (atoi banben))
(prompt "\n 设置步长命令为:gf,初始步长为1")
(prompt "\n 请选择不需要更改的实体:")
(if (= bc nil)
(setq bc 1)
)
(setq ddjjqq (ssget))
(setq entt (entsel "\n 请选择一个文字:"))
(setq ent (car entt))
;(setq pt1 (cadr entt))
(redraw ent 3)
(setq dxf (entget ent)) ;联合列表
(setq wenzizu (assoc 1 dxf)) ;点对列表
(setq wenzi (cdr wenzizu)) ;文字
(setq wenzilen (strlen wenzi))
(setq fanyihou (vl-string-translate "1234567890" "##########" wenzi)) ;翻译字符
(setq weizhi (vl-string-search "#" fanyihou)) ;找出#的位置
(setq qianzhui (substr wenzi 1 weizhi)) ;取出前缀
(setq shuzi (substr wenzi (+ weizhi 1))) ;取出字符串形式的数字
(setq shishu (atoi shuzi)) ;把数字改为实数
(setq pt1 (getpoint "\n 请选择一个点:"))
(setq pt2 (getpoint pt1 "\n 请选择第二点:"))
(setq n 0)
(while pt2
(setq lll (substr wenzi 1 1)) ;判断第一个字符是什么
;(setq llll (substr wenzi 4 1)) ;判断第四个字符是什么
(cond
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
( (= lll "<") ;
(progn ;
(setq b (+ shishu bc n)) ;
(setq c (itoa b)) ;
(if (< b 10) ;
(setq d (strcat qianzhui "0" c ">"))
(setq d (strcat qianzhui c ">"))
) ;
;
(setq e (cons 1 d))
(if (> banben 2004)
(progn ;
(command "copy" ddjjqq "" pt1 pt2 "")
(command "copy" ent "" pt1 pt2 "")
)
(progn ;
(command "copy" ddjjqq "" pt1 pt2 )
(command "copy" ent "" pt1 pt2 )
) ;end progn
) ;end if
(setq ent1 (entget (entlast))) ; ;此处为一个判断
(setq txtzh1 (assoc 1 ent1)) ;
(setq ent1 (subst e txtzh1 ent1)) ;
(entmod ent1) ;
(princ) ;
) ;end progn ;
) ;end first ;
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;如果要加判断的话,请选择这里
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(t ;
(progn ;
(setq b (+ shishu bc n))
;
(setq c (itoa b))
(if (< b 10) ;
(setq d (strcat qianzhui c))
(setq d (strcat qianzhui "0" c))
) ;
(setq e (cons 1 d))
(if (> banben 2004)
(progn ;
(command "copy" ddjjqq "" pt1 pt2 "")
(command "copy" ent "" pt1 pt2 "")
) ;end progn
(progn ;
(command "copy" ddjjqq "" pt1 pt2 )
(command "copy" ent "" pt1 pt2 )
) ;end progn
); end if ; ;此处为第二个判断
(setq ent1 (entget (entlast))) ;
(setq txtzh1 (assoc 1 ent1)) ;
(setq ent1 (subst e txtzh1 ent1)) ;
(entmod ent1) ;
(princ) ;
) ;
) ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
) ;end cond
(setq n (+ bc n))
(setq pt2 (getpoint pt1 "\n 请选择第二点:")) ;pt1决定有没有显示线
) ;end while
) ;end defun
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;; 以下为输入单个字的命令 ;;;;;;;;;;;;;;;;
(defun c:sa()
(setq banben (ver))
(ddd banben)
(setq banben (atoi banben))
(prompt "\n 设置步长命令为:gf,初始步长为1")
(if (= bc nil)
(setq bc 1)
)
(setq enty (entsel "\n 请选择一个文字:"))
(setq ent (car enty))
;(setq pt1 (cadr enty))
(redraw ent 3)
(setq dxf (entget ent)) ;联合列表
(setq wenzizu (assoc 1 dxf)) ;点对列表
(setq wenzi (cdr wenzizu)) ;文字
(setq wenzilen (strlen wenzi))
(setq fanyihou (vl-string-translate "1234567890" "##########" wenzi)) ;翻译字符
(setq weizhi (vl-string-search "#" fanyihou)) ;找出#的位置
(setq qianzhui (substr wenzi 1 weizhi)) ;取出前缀
(setq shuzi (substr wenzi (+ weizhi 1))) ;取出字符串形式的数字
(setq shishu (atoi shuzi)) ;把数字改为实数
(setq pt1 (getpoint "\n 请选择一个点:"))
(setq pt2 (getpoint pt1 "\n 请选择第二点:"))
(setq n 0)
(while pt2
(setq lll (substr wenzi 1 1)) ;判断第一个字符是什么
;(setq llll (substr wenzi 4 1)) ;判断第四个字符是什么
(cond
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
( (= lll "<") ;
(progn ;
(setq b (+ shishu bc n)) ;
(setq c (itoa b)) ;
(if (< b 10) ;
(setq d (strcat qianzhui "0" c ">"))
(setq d (strcat qianzhui c ">")) ;
) ;
(setq e (cons 1 d))
(if (> banben 2004) ;
(command "copy" ent "" pt1 pt2 "")
(command "copy" ent "" pt1 pt2 )
) ;
(setq ent1 (entget (entlast))) ; ;此处为一个判断
(setq txtzh1 (assoc 1 ent1)) ;
(setq ent1 (subst e txtzh1 ent1)) ;
(entmod ent1) ;
(princ) ;
) ;end progn ;
) ;end first ;
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;如果要加判断的话,请选择这里
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(t ;
(progn ;
(setq b (+ shishu bc n)) ;
(setq c (itoa b))
(if (< b 10) ;
(setq d (strcat qianzhui "0" c))
(setq d (strcat qianzhui c))
) ;
(setq e (cons 1 d))
(if (> banben 2004) ;
(command "copy" ent "" pt1 pt2 "")
(command "copy" ent "" pt1 pt2 )
) ;
;此处为第二个判断
(setq ent1 (entget (entlast))) ;
(setq txtzh1 (assoc 1 ent1)) ;
(setq ent1 (subst e txtzh1 ent1)) ;
(entmod ent1) ;
(princ) ;
) ;
) ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
) ;end cond
(setq n (+ bc n))
(setq pt2 (getpoint pt1 "\n 请选择第二点:")) ;pt1决定有没有显示线
) ;end while
(princ)
) ;end defun
;;;;;;(wcmatch "SHZ1G" "*[1234567890]*") 可以找到是否只有一个数字
(defun ddd (#a)
(setq #b (vl-string->list #a))
(setq #c (vl-remove-if '(lambda (x) (> x 57)) #b))
(setq #d (vl-remove-if '(lambda (x) (< x 46)) #c))
(setq #e (vl-remove 47 #d)) ;此句是去掉/的语句
(setq banben (vl-list->string #e))
热心网友
时间:2天前
先加载贱人工具(命令是ap,然后找到贱人工具的位置加载完成,关闭窗口),再输入命令:y或者yy。弹出贱人工具箱,选择递增复制,这时候会让你选择对象,你先用单行文本编辑一个1,就选择你的1(1必须是单行文字才行),提示是递增几?默认的应该是1.如果是1,鼠标右键就可以了,OK!问题解决了。