![]() |
|
||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
Você está aqui: AutoLISP ::: Dicas & Truques ::: Entidades e Objetos |
Como listar todos os objetos na área de desenho do AutoCAD usando as funções entnext e entget da AutoLISPQuantidade de visualizações: 502 vezes |
Nesta dica mostrarei como podemos listar todos os objetos e entidades na área de desenho do AutoCAD usando as funções entnext e entget da AutoLISP. A função entnext, quando usada sem argumentos, nos retorna a entidade mais antiga na área de desenho. Quando ela é chamada com um argumento do tipo nome de entidade, ela nos retorna o próximo objeto a partir da entidade recebida. Dessa forma, ao percorrer todos os objetos do desenho do AutoCAD, nós usamos a função entget para obter a entidade representada por entnext e combinamos as funções cdr, assoc e o valor 0 para acessar o tipo da entidade. Nesse caso o retorno será POINT, LINE, LWPOLYLINE, etc. Veja o código AutoLISP completo para o exemplo: ; Esta função permite listar todas as entidades e ; e objetos na área de desenho do AutoCAD usando as ; funções entnext, entget (defun c:mostrar_objetos() (princ "\nObjetos neste desenho:") ; primeiro apontamos para a primeira entidade ; no desenho usando a função entnext (setq nome_entidade (entnext)) ; enquanto houver mais entidades (while nome_entidade ; obtemos o tipo de entidade, por exemplo, POINT, ; LINE, LWPOLYLINE, etc (princ (strcat "\n" (cdr (assoc 0 (entget nome_entidade))))) ; passamos para a próxima entidade (setq nome_entidade (entnext nome_entidade)) ) (princ) ) Ao executar este código AutoLISP nós teremos o seguinte resultado: Objetos neste desenho: POINT POINT POINT POINT POINT POINT LINE CIRCLE LWPOLYLINE |
![]() |
Veja mais Dicas e truques de AutoLISP |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |