[求助]改造源码成配纵筋的程序
<p>(defun c:test (/ ss)</p><p> (princ (strcat "\n*** 将配筋率大于2%的字符显红V070528 ***"))<br/> (princ (strcat "\n [它山之石图形工作室]"))<br/> (princ)</p><p> (IF (setq ss (ssget '((0 . "*TEXT") (1 . "#*-#*-*#"))))<br/> (progn<br/> (GL-SSMAP<br/> '(lambda (e / str)<br/> (setq e (vlax-ename->vla-object e)<br/> str (vla-get-textstring e)<br/> str (GL-StrParse str "-")<br/> str (apply 'max (mapcar 'atoi str))<br/> )<br/> (if (<= 0.2 str)<br/> (vla-put-color e 1)<br/> ) ;_ 结束if<br/> ) ;_ 结束lambda<br/> ss<br/> ) ;_ 结束mapcar<br/> ) ;_ 结束progn<br/> ) ;_ 结束IF<br/> (princ (strcat "\n《同是土木人》系列群之群⑥原创作品"<br/> "\n******* 群号:30845285 *******"<br/> ) ;_ 结束strcat<br/> ) ;_ 结束princ<br/> (princ)<br/>) ;_ 结束defun</p><p>(defun GL-SSMAP (func ss / n)<br/> (if (eq 'pickset (type ss))<br/> (repeat (setq n (fix (sslength ss)))<br/> (apply func (list (ssname ss (setq n (1- n)))))<br/> ) ;_ 结束repeat<br/> ) ;_ 结束if<br/>) ;_ 结束defun</p><p>(defun GL-StrParse<br/> (Str Delimiter / SearchStr<br/> StringLen return n char<br/> DelimiterLen<br/> )<br/> (setq SearchStr Str)<br/> (setq StringLen (strlen SearchStr))<br/> (setq DelimiterLen (strlen Delimiter))<br/> (setq return '())<br/> (while (> StringLen 0)<br/> (setq n 1)<br/> (setq char (substr SearchStr 1 DelimiterLen))<br/> (while (and (/= char Delimiter) (/= char ""))<br/> (setq n (1+ n))<br/> (setq char (substr SearchStr n DelimiterLen))<br/> ) ;_ 结束while<br/> (setq return (cons (substr SearchStr 1 (1- n)) return))<br/> (setq SearchStr (substr SearchStr (+ DelimiterLen n) StringLen))<br/> (setq StringLen (strlen SearchStr))<br/> ) ;_ 结束while<br/> (reverse return)<br/>) ;_ 结束defun</p><p>;|<br/>(GL-StrParse "7-9-10" "-")<br/>==>("7" "9" "10")<br/>|;</p><p></p><p>这是他山的作品,请改造成点取“8-9-8”求出最大值9,然后配出钢筋3根20的钢筋。</p> 怎么没有回帖啊,是不是太难了
页:
[1]