Académique Documents
Professionnel Documents
Culture Documents
Funes geomtricas
As funes geomtricas do AutoLISP so: distance, angle, polar, inters, cal, osnap e trans Essas funes permitem:
desenhar rapidamente e com preciso; efectuar clculos envolvendo os objectos desenhados; obter o mximo de informao a partir do desenho; permitir que o utilizador introduza o mnimo de dados para que entidades sejam criadas.
2009@JST/JOF
Funo distance
Obtm a distncia entre dois pontos. Sintaxe: (distance ponto1 ponto2) Exemplo:
(setq p1 (getpoint "\nInsira um ponto:")) (setq p2 (getpoint p1 "\nInsira outro ponto:")) (setq d (distance p1 p2))
2009@JST/JOF
Funo angle
Obtm o ngulo em radianos de uma recta definida por dois pontos e o eixo X do UCS ou WCS corrente, medido no sentido anti-horrio. Sintaxe: (angle ponto1 ponto2) Exemplo:
(setq p1 (getpoint "\nInsira um ponto:")) (setq p2 (getpoint p1 "\nInsira outro ponto:")) (setq a (angle p1 p2))
2009@JST/JOF
Funo polar
Retorna um ponto em 3D do UCS corrente a partir de um ponto, de um ngulo (em radianos) e de uma distncia (coordenadas relativas polares). Sintaxe: (polar ponto ang dist) Exemplo:
(setq p1 (getpoint "\nInsira um ponto:")) (setq p2 (polar p1 0.785398 141.5))
2009@JST/JOF
Funo inters
Obtm a interseco de duas rectas, cada uma definida por dois pontos. Sintaxe: (inters pnt1-r1 pnt2-r1 pnt1-r2 pnt2-r2 [onseg]) (onseg opcional e pode ter nil considera rectas infinitas ou T) Exemplo:
(setq p1r1 (getpoint "\nInsira um ponto da primeira recta:")) (setq p2r1 (getpoint p1r1 "\nInsira outro ponto:")) (setq p1r2 (getpoint "\nInsira um ponto da segunda recta:")) (setq p2r2 (getpoint p1r2 "\nInsira outro ponto:")) (setq pint (inters p1r1 p2r1 p1r2 p2r2))
2009@JST/JOF
Funo osnap
Retorna um ponto em 3D do UCS corrente resultado da aplicao de uma funo de preciso (osnap) atravs de um ponto especificado. Os modos de preciso (opes osnap) so: end, mid, int, appint, cen, qua, per, tan, nod, ins, nea ... Sintaxe: (osnap ponto modo")
CFAC: AutoLISP (VII) - Funes Geomtricas, de Strings, de Listas e de Manipulao de Arquivos
2009@JST/JOF
Funo osnap
2009@JST/JOF
Funo trans
Translada um ponto de um sistema de coordenadas para um outro sistema de coordenadas. Sintaxe: (trans pnt sc-orig sc-dest [disp]) sc-orig e sc-dest especificam os sistemas de coordenadas original e destino. Estes argumentos podem ser:
cdigos (0 para WCS,1 para UCS corrente, 2 para UCS do view, 3 para paperspace); nomes de entidade (obtidos com entnext, entlast, entsel, nentsel e ssname); um vector de extruso em 3D.
disp se presente e no-nulo, especifica que pnt deve ser tratado com um deslocamento em 3D e no um ponto.
CFAC: AutoLISP (VII) - Funes Geomtricas, de Strings, de Listas e de Manipulao de Arquivos
2009@JST/JOF
Se o UCS corrente foi obtido da mudana de origem para o ponto (10,10,10), ento:
(setq p (list 0 0 0)) (trans p 0 1) ; retorna (-10.0 -10.0 -10.0) (trans p 1 0) ; retorna (10.0 10.0 10.0)
10
2009@JST/JOF
11
2009@JST/JOF
getstring: leitura de uma string a partir do teclado; read-line/write-line: leitura/escrita de uma string de um/num arquivo; substr: obteno de uma substring a partir de uma string original, por ex: (substr "abcde" 2 1) devolve b; strlen: devolve o nmero de caracteres de uma string; strcat: realiza a concatenao (soma) de strings, por ex: (strcat "a" "bout") devolve about.
CFAC: AutoLISP (VII) - Funes Geomtricas, de Strings, de Listas e de Manipulao de Arquivos
12
2009@JST/JOF
append: junta listas numa nica lista, por ex: (append '(a b) '(c d)) retorna (A B C D); list: cria uma lista, por ex: (list 3.9 6.7) retorna (3.9 6.7); nth: retorna o elemento de uma lista que ocupa uma determinada posio (o 1 elemento corresponde posio 0), por ex: (nth 3 '(a b c d e)) retorna d.
CFAC: AutoLISP (VII) - Funes Geomtricas, de Strings, de Listas e de Manipulao de Arquivos
13
2009@JST/JOF
A manipulao de arquivos consiste em armazenar informao (e tambm ler ...) obtida durante uma sesso do AutoCAD em arquivos para uso posterior. O AutoLISP permite que dados sejam gravados e lidos a partir de arquivos escritos no padro ASCII. As funes de manipulao de arquivos ASCII em AutoLISP so:
de abertura e fecho de arquivos: open e close de leitura: read-char e read-line de escrita: write-char, write-line, princ, print, prin1
CFAC: AutoLISP (VII) - Funes Geomtricas, de Strings, de Listas e de Manipulao de Arquivos
14
2009@JST/JOF
Abrir arquivos
Quando um arquivo ASCII aberto pelo AutoLISP, o registro da sua abertura deve ficar associado a uma varivel especificada no programa. Essa varivel aponta para o arquivo dentro do programa. Sempre que se deseja referir esse arquivo dentro do programa, deve-se referir a correspondente varivel associada. Um arquivo pode ser aberto para:
15
2009@JST/JOF
Funo open
Exemplos:
(setq LE (open "c:\\lista.txt" "r")) (setq GRAVA (open "c:\\trab\\lista.txt" "w")) (setq INCRE (open "c:\\tmp\\lista.txt" "a"))
16
2009@JST/JOF
As funes write-char, write-line, princ, print e prin1 escrevem (gravam) informao num arquivo ASCII previamente aberto para escrita ou para leitura e escrita. Sintaxe: (comando-de-escrita informao arquivo)
(Varivel associada)
17
2009@JST/JOF
Exemplo:
(defun c:abrearq() ;abre arquivo para escrita e apaga o contedo se o arquivo ;j existia (setq arq (open "c:\\trab\\arquivo.txt" "w")) (princ "CFAC " arq) (setq ano 2009) (princ ano arq) (write-line Utilizando autocad" arq) (close arq) ; fecha o arquivo )
18
2009@JST/JOF
Comandos de leitura
As funes read-line e read-char so funes que lem dados a partir de arquivos ASCII. Sintaxe: (read-line arquivo) ; retorna a linha lida (read-char arquivo) ; retorna o cdigo ascii do ; caracter lido Exemplo: (setq caracter (chr (read-char arq)))
(Converso ascii -> caracter.)
CFAC: AutoLISP (VII) - Funes Geomtricas, de Strings, de Listas e de Manipulao de Arquivos
19
2009@JST/JOF
20