hdlyt11 发表于 2008-7-17 18:51:00

[求助]改造源码成配纵筋的程序

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

hdlyt11 发表于 2008-7-18 13:34:00

怎么没有回帖啊,是不是太难了
页: [1]
查看完整版本: [求助]改造源码成配纵筋的程序