大家好,
我得到了一段代码:
- (defun c:HBKLICMelding ( / doc obj lay len col newlayer lst meldingnr meldingsoort meldingnrlist meldingsoortlist )
- (setq doc (vla-get-activedocument (vlax-get-acad-object)))
- (if (= 8 (logand 8 (getvar 'undoctl)))
- (vla-endundomark doc)
- )
-
- (vla-startundomark doc)
- (setq meldingnrlist '())
- (setq meldingsoortlist '())
- (setvar "CMDECHO" 0)
- (vlax-for obj (vla-get-layers doc)
- (setq lay (vla-get-name obj))
- (if (wcmatch (strcase lay) "B-OI-KL-*")[color="red"]<THIS IS THE PART[/color]
- (progn
- (setq meldingnr (strcat (substr lay (-(strlen lay) 10) 9 )))
- (if(=(member meldingnr meldingnrlist) nil)
- (progn
- (setq meldingnrlist (cons meldingnr meldingnrlist))
- (setq meldingsoort (strcat (substr lay (-(strlen lay) 1 )))
- (if(= meldingsoort "O")
- (progn
- (setq meldingsoort "Oriëntatieverzoek")
- )
- (progn
- (setq meldingsoort "Graafmelding")
- )
- )
- (setq meldingsoortlist (cons meldingsoort meldingsoortlist))
- )
- )
- (if (= (vla-get-Color obj) 2)
- (vla-put-Color obj 40)
- )
- (if (= (vla-get-Color obj) 50)
- (vla-put-Color obj 40)
- )
- (vlax-put-property obj 'LineWeight acLnWt025)
- (setq col (vla-get-truecolor obj))
- (if (= accolormethodbyaci (vla-get-colormethod col))
- (progn
- (setq lst (mapcar 'vlax-get-property (list col col col) '(red green blue)))
- (vla-put-colormethod col accolormethodbyrgb)
- (apply 'vla-setrgb (cons col lst))
- (vla-put-truecolor obj col)
- )
- )
- (setq len (strlen lay))
- (setq newlayer (strcat (substr lay 1 1) "00" (substr lay 2 (- len 29)) (substr lay (1- len))))
- (if (tblsearch "LAYER" newlayer)
- (progn
- (command "-LAYMRG" "Name" lay "" "Name" newlayer "Yes")
- )
- (progn
- (vl-catch-all-apply 'vla-put-name (list obj (strcat (substr lay 1 1) "00" (substr lay 2 (- len 29)) (substr lay (1- len)))))
- )
- )
- )
- )
- )
- (HBLL meldingnrlist meldingsoortlist)
- (setvar "CMDECHO" 1)
- (vla-endundomark doc)
- (princ "\nKLIC-melding gereed.")
- (princ)
- )
换句话说:
[code](如果 (和(wcmatch(strcase lay)“B-OI-KL-*”) (ssget“_X”(list(cons 8 lay))) |