Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

AutoLISP - Manipulação de entidades, Notas de aula de Engenharia Mecânica

Aula de AutoLISP sobre Manipulação de entidades

Tipologia: Notas de aula

2010

Compartilhado em 08/05/2010

danilo-dos-santos-9
danilo-dos-santos-9 🇧🇷

4.9

(12)

11 documentos

Pré-visualização parcial do texto

Baixe AutoLISP - Manipulação de entidades e outras Notas de aula em PDF para Engenharia Mecânica, somente na Docsity! CFAC: AutoLISP (V) - Manipulação de entidades FEUP/DEMEGI-SDI JOF / João Manuel R. S. Tavares 1 AutoLISP - V Manipulação de entidades João Manuel R. S. Tavares / JOF @2008 João Tavares / JOF CFAC: AutoLISP (V) - Manipulação de entidades2 Dados das entidades No Autolisp, o processo de acesso aos dados das entidades estende-se a vários níveis da estrutura da base de dados do AutoCAD. – Conjuntos de selecção representam um nível que contém listas de nomes de entidades. – O nome da entidade é um apontador para a base de dados onde os dados referentes à mesma entidade estão armazenados. Avançando um nível, os dados das entidades estão na forma de uma lista de associações. Esta hierarquia de dados, e a habilidade de trabalhar dentro dela, fornece um mecanismo flexível para a interface de aplicativos em Autolisp com a base de dados de desenho do AutoCAD. CFAC: AutoLISP (V) - Manipulação de entidades FEUP/DEMEGI-SDI JOF / João Manuel R. S. Tavares 2 @2008 João Tavares / JOF CFAC: AutoLISP (V) - Manipulação de entidades3 Nome de uma entidade e Lista de dados A função entlast obtém o nome da última entidade desenhada no desenho actual. A função entget obtém a lista de dados de uma entidade a partir do seu nome. (setq entnome (entlast)) ; retorna <Entity name x...x> (setq entdados (entget entnome)) ; retorna ((-1 . <Entity name x...x>) (0 . "LINE") (8 ."0") ...) @2008 João Tavares / JOF CFAC: AutoLISP (V) - Manipulação de entidades4 Nome de uma entidade e Lista de dados A lista de dados é uma lista de associações. A maioria destas associações são pares (código . valor) denominados “par pontuado” (dotted par). – A lista “par pontuado” é composta por dois valores (o ponto não conta). CFAC: AutoLISP (V) - Manipulação de entidades FEUP/DEMEGI-SDI JOF / João Manuel R. S. Tavares 5 @2008 João Tavares / JOF CFAC: AutoLISP (V) - Manipulação de entidades9 Funções entlast e entsel A função entlast obtém o nome da última entidade desenhada no desenho. (entlast) ;retorna <Entity name: x...x> A função entsel é similar à função anterior, obtém o nome de uma entidade; entretanto, entsel retorna uma lista composta pelo nome de uma entidade seleccionada (pelo utilizador) e pelo ponto de selecção. (entsel) retorna (<Entity name: x...x> (3.5 5.5 6.8)) e a mensagem “Select Object:” será utilizada. (entsel "\nSeleccione um objecto:") retorna (<Entity name: x...x> (3.5 5.5 6.8)) e a mensagem incluída no prompt da função será utilizada @2008 João Tavares / JOF CFAC: AutoLISP (V) - Manipulação de entidades10 Função entget Obtém a lista de dados de uma entidade a partir do seu nome. A lista de dados é uma lista de associações, algumas destas associações são representadas por listas denominadas “par pontuado” (dotted par). Uma lista “par pontuado” é formada por dois átomos (código . valor) separados por um ponto (o ponto não conta como átomo da lista). Cada código representa um tipo de valor: – -1 está associado ao nome da entidade; – 0 está associado ao tipo da entidade "LINE", "ARC" ...; – 8 está associado ao nome da layer na qual a entidade foi desenhada; – ... CFAC: AutoLISP (V) - Manipulação de entidades FEUP/DEMEGI-SDI JOF / João Manuel R. S. Tavares 6 @2008 João Tavares / JOF CFAC: AutoLISP (V) - Manipulação de entidades11 Exemplo de uso de entsel, entget e assoc Obter o nome da layer de um objecto seleccionado: ; obtém (<nome-da-entidade> (ponto-de-selecção)) (setq entidade (entsel)) ; obtém a lista de dados da entidade seleccionada (setq entdados (entget (car entidade))) ; obtém o “par pontuado” que contém o nome da layer da entidade (setq par-layer (assoc 8 entdados)) ; obtém o nome da layer da entidade (setq entlayer (cdr par-layer)) ; ou (setq entnome (cdr (assoc 8 (entget (car (entsel)))))) @2008 João Tavares / JOF CFAC: AutoLISP (V) - Manipulação de entidades12 Função entnext e entdel A função entnext retorna o nome da primeira entidade desenhada no desenho ou da próxima entidade em relação a uma entidade determinada. Exemplos: armazena em ent o nome da primeira entidade desenhada no desenho (setq ent (entnext)) obtém o nome da entidade desenhada após a entidade determinada (ent) (entnext ent) A função entdel elimina uma entidade pelo seu nome. (entdel (entlast)) ; elimina a última entidade desenhada CFAC: AutoLISP (V) - Manipulação de entidades FEUP/DEMEGI-SDI JOF / João Manuel R. S. Tavares 7 @2008 João Tavares / JOF CFAC: AutoLISP (V) - Manipulação de entidades13 Função entmake Cria um novo objecto no desenho a partir de uma lista contendo informações descritivas do objecto. Sintaxe: (entmake (lista-que-descreve-o-objecto)) Exemplo: (entmake '( (0 . "LINE") (8 . "0") (62 . 1) (10 3.0 4.0 0.0) (11 8.0 4.0 0.0) (210 0.0 0.0 1.0) ) ) @2008 João Tavares / JOF CFAC: AutoLISP (V) - Manipulação de entidades14 Função handent O handle da entidade é um código único e permanente associado a cada entidade no desenho em qualquer sessão de trabalho. O nome da entidade é um código dado à entidade que muda entre sessões de trabalho. A função handent obtém o nome da entidade a partir do handle da entidade. (handent "código-do-handle") ; retorna o nome da entidade
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved