Aftertouch 发表于 2022-7-5 16:42:25

排除没有

大家好,
 
我得到了一段代码:
 

(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-*")<THIS IS THE PART
                        (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)
)

 
换句话说:
(如果(和(wcmatch(strcase lay)“B-OI-KL-*”)(ssget“_X”(list(cons 8 lay)))

Grrr 发表于 2022-7-5 18:29:37

页: [1]
查看完整版本: 排除没有