Validar nome de layer

As vezes nas nossas rotinas, pedimos para o usuário informar o nome de uma layer qualquer e este responde com uma string... Bem, nem sempre validamos essa string... pelo que eu percebi, ninguém faz isso... aí podem ocorrer erros, pois estaremos tentando criar um layer que não pode existir... Exemplo:
(vla-add (vla-get-layers
           (vla-get-activedocument
             (vlax-get-acad-object)))
         ">layer")


causará erro... portanto convém se antecipar a ele...
(defun validate-layname  (str)
  (
if str
    (and
      (/= str "")
      (
not (apply
             'or
             (mapcar
               '(lambda (x)
                  (
vl-string-search x str))
               '("<" ">" "\\" "/" "\"" ":"
                 ";" "?" "|" "," "=" "`"
))
             )))))

Nenhum comentário:

Postar um comentário