Ⅰ 賤人工具箱如何編號如一個圓有很多個不同樣的圖型,編成1到500,
我用賤人嘗試過,不會弄,後來下載了一個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 wei (vl-string-search "#" fanyihou)) ;找出#的位置
(setq qianzhui (substr wenzi 1 wei)) ;取出前綴
(setq shuzi (substr wenzi (+ wei 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 "" ddjjqq "" pt1 pt2 "")
(command "" ent "" pt1 pt2 "")
)
(progn ;
(command "" ddjjqq "" pt1 pt2 )
(command "" 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 "" ddjjqq "" pt1 pt2 "")
(command "" ent "" pt1 pt2 "")
) ;end progn
(progn ;
(command "" ddjjqq "" pt1 pt2 )
(command "" 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 wei (vl-string-search "#" fanyihou)) ;找出#的位置
(setq qianzhui (substr wenzi 1 wei)) ;取出前綴
(setq shuzi (substr wenzi (+ wei 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 "" ent "" pt1 pt2 "")
(command "" 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 "" ent "" pt1 pt2 "")
(command "" 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))
Ⅱ 為什麼我電腦win10 下載的SA全是英文版! 各種弄補丁都沒用!
打開【開始菜單】進入【Settings】
選擇左下方的【Time and language】
選擇【Region and language】
點擊【Add a language】下載中文語內言包(如果已有中容文語言包,直接打開語言包即可。)
選擇中文語言包並下載
選擇中文語言包點擊【Set as primary】
重啟電腦
系統語言修改成功,已顯示成中文。