Bem vindo ao site pauloferreira.pt. Esta página e todos os seus conteúdos são propriedade de Paulo Ferreira. Encontrará temas relacionados com a sua actividade profissional, nomeadamente a informática, o AutoCAD, o Revit, o Civil 3D ou o 3ds max, a fotografia e o timelapse.

Formula resolvente em lisp

Escrito por Paulo Ferreira. Publicado em Profissional

Tutorial - [Formula resolvente em Lisp]

Para quem já ouviu falar na fórmula resolvente, deixo aqui algumas linhas sobre a forma de conseguir que, com base na linguagem Lisp, consigamos por a funcionar esta formula. Para isso necessitamos do Autocad para executar um pequeno programa capaz de resolver esta equação. Ela permite resolver equações com uma variável, podendo essa variável ser elevada ao quadrado. A isto dá-se o nome de polinómio de segundo grau. Normalmente conhecemos a forma canónica desse polinómio da seguinte maneira: a.x?+b.x+c=0

Sendo a, b e c numeros reais, x é o valor que se pretende calcular de forma que a equação seja verdadeira.

Verificando-se a situação de os valores de a, b e c não serem todos diferentes de 0, a solução é sempre mais simples. Pelo contrário, se forem todos diferentes de 0,  é aqui que entra a chamada formula resolvente, que permite a produção de dois resultados, que verificam a condição. Em algumas situações podem surgir uma única solução, ou que não exista nenhuma solução real, sendo este o caso em que a solução dever ser sempre em numeros complexos.

A fórmula resolvente é conhecida desta forma:

 

 

As duas soluções dizem respeito cada uma, é utilização diferente de um sinal ( + ou - )

Ora,  é aqui que entra o Autolisp para resolver estas duas equações, que se representam da seguinte forma (mudando apenas o sinal):

  1. ( / (+ (-b) (sqrt (- (expt b 2) (*4 a c)))) (*2 a)))
  2. ( / (- (-b) (sqrt (- (expt b 2) (*4 a c)))) (*2 a)))

A diferença é visível no segundo operador, em que no primeiro caso é soma e no segundo é a subtracção. Em baixo deixo o código Lisp para a rotina poder ser carregada no Autocad:

(defun c:resolvente ( )

; primeiro, pedimos a introdução dos 3 coeficientes
(setq a (getreal "\n Introduza o valor de a :"))
(setq b (getreal "\n Introduza o valor de b :"))
(setq c (getreal "\n Introduza o valor de c :"))
; depois, aplicamos a fórmula que dá as duas soluções reais
(setq sol1 (/ (- (- b) (sqrt (- (expt b 2) (* 4 a c)))) (* 2 a)))
(setq sol2 (/ (+ (- b) (sqrt (- (expt b 2) (* 4 a c)))) (* 2 a)))
; por fim mostram-se os resultados
(prompt "\nsolução 1 = ")<br />?(prompt (rtos sol1 2 2))<br />?(prompt "\nsolu??o 2 = ")<br />?(prompt (rtos sol2 2 2))<br />?(prompt "\n")<br />)</span></p> <p>A resposta após introdução dos valores de a=2 b=4 e c=1 dá o seguinte:</p> <p>Command: <strong>resolvente<br /></strong>Introduza o valor de a :<span style="color: #ff6600;">2</span><br />Introduza o valor de b :<span style="color: #ff6600;">4<br /></span>Introduza o valor de c :<span style="color: #ff6600;">1

solução 1 = -1.71
solução 2 = -0.29
nil

Para que consiga "rodar" esta rotina deverá copiar o código em cima (a azul) e colocá-lo num ficheiro do tipo txt e grava-lo. De seguida mude a terminação txt para lsp. Finalmente deverá carregar a rotina no Autocad através do Menu Tools - Load Application.

Escreva resolvente na linha de comando e entre com os valores pedidos para que a solução seja apresentada.

Espero que este tutorial seja útil e até breve.

Criar um bloco dinâmico

Escrito por Paulo Ferreira. Publicado em Profissional

A construção de bocos dinâmicos deve seguir uma certa ordem por forma a não haver recuos no processo de criação da entidade. Assim, deve-se planear o ou os tipos de transformações que pretendemos que o bloco tenha no plano XY. Esta etapa é fundamental, na medida em que podemos definir o tipo de parâmetros e de acções que a construção do bloco deverá conter, bem como as ligações entre si.

Par?metros Actions

Existem diversas formas de se criar o bloco, (inserir blocos já definidos, copiar geometrias pela área de transferência do windows ou desenha-los normalmente na área gráfica do editor, se bem que este último não proporcione todas as ferramentas de edição).

Para que um bloco seja considerado "dinâmico" deverá incluir pelo menos um parâmetro, cujas designações se apresentam de seguida:

  • Point
  • Base point
  • Linear
  • Polar
  • XY
  • Flip
  • Alignment
  • Rotation
  • Lookup
  • Visibility

Neste tutorial (em video), vamos usar o parâmetro Flip, que permite a inverso (mirror) do bloco entre a esquerda e a direita, cuja execução é  accionada por um clique no Grip. Este parâmetro só poderá ser associado a uma acção do tipo Flip, cujas propriedades são adicionadas (Flipped e Not flipped).

O ficheiro usado como base para este exemplo pode ser descarregado a partir desta hiperligação: Tutorial Bloco Dinâmico

Boa sorte e até breve.

Utilizar scripts

Escrito por Paulo Ferreira. Publicado em Profissional

O utilizador comum do autocad, normalmente não faz uso de uma ferramenta existente no autocad, que dá pelo nome de "Script". Um script pode ajudar a melhorar a produtividade de um desenhador, na medida em que com alguns conhecimentos (não é necessário saber qualquer linguagem de programação) dos comandos que diariamente utiliza, pode elaborar diversos scripts que ajudam nos momentos de repetição de determinadas tarefas.

Tools -> Script

Deixo aqui um exemplo de um script que normalmente uso, e que de certeza será do agrado da maioria dos desenhadores, que têm a mania da "limpeza dos desenhos"

Este script permite a execução de uma vez só dos comandos Audit, Purge e Save. Para adicionar este script a uma toolbar basta que se crie a toolbar e depois se adicione este código ^C^C_script;"C:/<script file location>/<audit_fix_errors.scr>

Começa-se por criar um ficheiro do tipo *.txt onde se colocam por ordem os comandos que queremos que o script execute. Posteriormente altera-se a terminologia do ficheiro, (.txt para .scr) e grava-se.

Para compreender este procedimento basta abrir o script que está incluído neste tutorial.

Abraço,

Paulo Ferreira

Tutorial acaddoc.lsp

Escrito por Paulo Ferreira. Publicado em Profissional

Tutorial - [acaddoc.lsp]
O arquivo acaddoc.lsp destina-se a ser associado a cada documento (ou desenho) inicializado. Este arquivoé útil se quisermos carregar uma biblioteca de rotinas AutoLISP para estar disponível sempre que iniciar um novo desenho (ou abrir um desenho já existente).
Cada vez que abre um desenho, o AutoCAD pesquisa na biblioteca o caminho para um ficheiro acaddoc.lsp. Se encontrar um, ele carrega o arquivo na memória. O ficheiro acaddoc.lsp sempre carregado em cada desenho independentemente das definições de ACADLSPASDOC.
O aficheiro acaddoc.lsp pode conter código para uma ou mais rotinas, ou simplesmente carregar funções de uma série de chamadas. Este último método  preferível, porque é de mais fácil modificação.
Se salvares o código seguinte num ficheiro acaddoc.lsp, os ficheiros (nomeadamente rotinas) minharotina1.lsp, minharotina2.lsp, e minharotina3.lsp são carregadas cada vez que um novo documento é aberto.
(load "minharotina1")
(load "minharotina2")
(load "minharotina3")
Para o fazeres, basta abrires o Notepad e colas o código (em função do nome das rotinas que queres carregar) e posteriormente mudas o nome do ficheiro para acaddoc.lsp.
Exemplos sobre as localizações possiveis do ficheiro acaddoc.lsp e correspondentes rotinas:

C: \ Programas \ AutoCAD?*<version> \ Suport
C: \ Documents and Settings \ *<loginname> \ Application Data \ Autodesk \ AutoCAD?*<version> \?*<version> \ enu \ Suport
ou no Windows Vista:
C: \ Utilizadores \ *<loginname> \ AppData \ Roaming \ Autodesk \ AutoCAD?*<version> \?*<version> \ enu \ Suport
*<version> e <loginname> dependem respectivamente da versão que tens instalada assim como o nome de utilizador.

Tamanho do texto nas viewports

Escrito por Paulo Ferreira. Publicado em Profissional

COMO CONFIGURAR O TAMANHO DO TEXTO DE ACORDO COM A ESCALA DA VEWPORT

 

Todos sabemos que com o AutoCAD, podemos criar diferentes tipos de texto quer no espaço de modelação, quer no espaço de composição. Assim, torna-se complicado, adaptar esse mesmo texto (para quem trabalha com layouts) nas diferentes "janelas" a diferentes escalas.

Read More

À  partida, todo o texto deve ser criado no espaço de modelação, embora o possamos fazer no espaço de composição (layouts). Contudo, se temos um estilo de texto próprio, devemos tentar uma solução que permita quer num lado, quer no outro, ter esse texto o mais coerente possivel em função da escala em que se encontra a viewport, que não a 1:1, e por forma a que seja "plotado" correctamente no papel.

Configurar texto na viewport

 

Se necessitarmos de o fazer, segue um exemplo, de como configurar o tamanho do texto no espaço de modelação:

  1. Se por exemplo, o tamanho do texto desejado for 4mm e a escala da viewport for 1:4 (0.25), use 4/0,25 = 16 mm, para o tamanho do texto no espaço de modelação.

Nota: Parece óbvio que será mais fácil criar um texto no espaço de composição, uma vez que não necessita de aplicar qualquer escala. Assim,  é recomendável que se crie texto para as vistas no espaço de modelação e as tabelas, etiquetas, e notas, no espaço de composição.

Paulo Ferreira

Comando Pointlight

Escrito por Paulo Ferreira. Publicado em Profissional

No AutoCAD podemos ter diversas luzes, para além da luz solar, como por exemplo:

  • Luzes pontuais (point lights), que emitem raios de luz em todas as direcções.
  • Focos de luz (spotlights), que se projectam sob a forma de um cone, que define o alvo muito especificamente.
  • Luzes distantes (distant lights) cujos raios têm a particularidade de serem paralelos e definidos por uma direcção.

 

Neste pequeno tutorial iremos abordar apenas uma luz, designadamente a point light

Esta luz pontual  acima de tudo, uma luz com uma origem concreta, que emite raios em todas as direcções, tal como mostra a imagem seguinte.

point light

Como exemplo, pode-se falar nas luzes das velas ou lâmpadas. Na sua aplicação, o parímetro mais importante tem a ver com a localização da origem. A intensidade pode ser controlada com o maior ou menor afastamento, assim como diminuindo ou aumentando o seu valor nas propriedades.

  1. Para a inserir escreve-se na linha de comando "POINTLIGHT", indicando o ponto de inserção em "Specify source location <0,0,0>:" será neste ponto que a luz irá lançar os seus raios nas mais diversas direcções.
  2. Em "Enter an option to change[Name/Intensity/Status/shadoW/Attenuation/Color/eXit] :" damos um Enter ou escolhemos uma opção de entre as possiveis.
  • Opção Name(N) - Possibilita a atribuição de um nome à luz. Por defeito o AutoCAD dá nomes que consistem no tipo de luz e num numero.
  • Opção Intensity (I) - Define a intensidade da luz. Os valores podem variar entre 0 e um numero muito grande.
  • Opção Status (S) - Possibilita o ligar ou desligar das luzes.
  • Opção shadoW (W) - Possibilita a projecção de sombras e determinar o seu tipo, designadamente detalhadas (Sharp) ou não detalhadas (Soft).
  • Opção Attenuation (A) - Possibilita a atenuação da luz à medida que a distância varia.
  • Opção Color (C) - Possibilita escolher uma cor do tipo True color, introduzindo os valores vermelho, azul e verde (RGB), separados por virgulas. Nestes parâmetros pode-se dar uma cor do AutoCAD (Index color), uma cor HSL (hue, saturation, luminence) ou uma cor do livro de cores (colorBook).

Para finalizar será necessário falar nas possiveis alterações que seja necessário fazer às luzes pontuais.

Assim, para as alterar relativamente à sua posição basta deslocar o grip do símbolo (glyph) que tem o aspecto de uma esfera, ou usando o comando move presente no menu Modify, escolhendo uma vista que nos permita controlar a luz.

Outra forma é seleccionando a luz e acedendo às suas propriedades, onde poderemos editar todas as propriedades da luz, incluindo o seu tipo, nome, ligar ou desligar, se projecta as sombras ou não, cor e intensidade, impressão do símbolo, atenuação, posição relativa, controlar limites de atenuação, assim como os seus valores e tipos de sombras, tal como se vê na figura seguinte.

pointlight properties

através das propriedades que temos também a possibilidade de converter uma luz pontual, num foco ou vice-versa.

Espero que este pequeno tutorial tenha sido útil de alguma forma para quem quer aplicar uma luz simples e genérica como  o caso da Pointlight.

Paulo Ferreira

Uso das rotinas lisp

Escrito por Paulo Ferreira. Publicado em Profissional

Apesar de facilitarem muito o trabalho, as rotinas Lisp - AutoLISP, n?o s?o utilizadas por grande parte dos desenhadores de AutoCAD, na medida em que pura e simplesmente desconhecem a forma de as usar. Neste tutorial vais verificar que, carregar e usar rotinas Lisp ? f?cil!

Read More

Para que possas usar uma rotina Lisp, esta dever? estar guardada numa pasta do teu disco r?gido, onde poder?o estar todas as rotinas que porventura possas vir a usar, de futuro.
Se j? tiveres uma rotina guardada, j? podes seguir este tutorial, caso contr?rio poder?s descarregar uma da sec??o de Downloads, existente neste site, onde existem v?rias colocadas por membros que as diponibilizaram para todos, (se tiveres alguma que n?o esteja na sec??o, poder?s envi?-la).

Guarda a rotina e depois faz o seguinte:

  1. Abre o AutoCAD e vai ao menu Tools -> Load Application

Load Application

  1. Depois de clicares em Load Application, aparecer? a caixa de di?logo Load/Unload Applications.

Load Application

?

  1. Seleccionas com um clique a rotina xxxxxx.lsp da pasta onde se encontra a rotina.
  2. Clica em Load.
  3. Observa a mensagem xxxxxx.lsp succesfully loaded na parte esquerda inferior da caixa de di?logo, informando de que a rotina xxxxxx.lsp foi carregada com sucesso.
  4. Clica em Close. A caixa de di?logo Load/Unload Applications fechar? e a rotina xxxxxx.lsp j? vai estar carregada no AutoCAD ? disposi??o de ser usada.
  5. Para come?ares a usar a rotina xxxxx.lsp, escreve na linha de comando do AutoCAD o nome pela qual ela ? executada e d? um Enter;

A rotina carregada por este m?todo s? estar? dispon?vel apenas numa sess?o do AutoCAD. Isto quer dizer que cada vez que iniciares de novo o programa, dever?s ter que carregar novamente a rotina.

Nota:

Quando não souberes o nome do comando, basta que abras a rotina, com por exemplo, o Bloco de Notas (notepad.exe).

Uma vez aberta a rotina, verifica o que est? escrito depois de defun c: xxxx, (onde est? xxxx) esse ser? o nome que executar? a rotina no Autocad.

Espero ter sido ?til de alguma forma.

Paulo Ferreira

Aplicação do comando POLYSOLID

Escrito por Paulo Ferreira. Publicado em Profissional

O comando POLYSOLID do autocad permite criar sólidos com um perfil rectangular, equivalente ás paredes do ADT. É fácilmente encontrado no Menu Draw -> Modeling

As variáveis que inclui são as seguintes:

  • Object (cria paredes por selecção de entidade)
  • Height (define a altura)
  • Width (define a espessura)
  • Justify (justifica ao centro, esquerda e direita)
  • Arc (desenha e cria um arco)
  • Undo (anula o ultimo ponto inserido)
  • Close (fecha a parede)


Irei demonstrar aqui como se pode aplicar este comando para realizarmos o nosso trabalho de uma forma mais intuitiva e produtiva. O tempo das linhas paralelas, do BOUNDARY, e do EXTRUDE já lá vão. Agora é possível com apenas um comando realizar todas estas tarefas.


Tal como mostro na imagem em baixo, desenhamos uma polilinha com os contornos da nossa parede.

Linha da parede


Seguidamente escrevemos na linha de comando "POLYSOLID" e podemos definir as variáveis que mencionei atrás de acordo com a nossa vontade e necessidade, conforme a aplicação e finalidade.
Por defeito se dermos "ENTER" ele adoptae então podemos seleccionar a nossa polilinha e ficará logo visível a parede então criada, tal como mostro na figura de baixo.

Parede criada


Sei que é um tutorial muito simples, mas acreditem que é interessante e muito útil, para quem gosta do lado 3D do autocad, que agora, é cada vez mais aperfeiçoado nas versões que vão saindo.

Abraço,
Paulo Ferreira

Extrusão segundo um "path"

Escrito por Paulo Ferreira. Publicado em Profissional

O comando "EXTRUDE" permite a possibilidade de criar sólidos e superfícies por extrusão, aplicada a entidades a duas dimensões. É facilmente encontrado no menu Draw -> Modeling. Neste pequeno tutorial vamos usar concretamente a extrusão segundo um caminho "Path" pré-definido, designadamente ao longo de um objecto ou entidade a indicar, conforme pode ser visto na imagem seguinte:

Caminho da extrus?o

Read More

A opção de extrusão segundo um caminho permite a extrusão de entidades ao longo de um caminho ou percurso dado por outra entidade. Estas entidades podem ser linhas, circunferências, polilinhas 2D ou 3D, splines 2D ou 3D, arcos elipticos, elipses, espirais, arestas de sólidos e superficies, etc.

O objecto á direita na imagem (como por exemplo uma sanca) irá ser extrudido segundo a linha que deriva para a esquerda. Para o fazermos escrevemos na linha de comandos "EXTRUDE" ou através do menu Draw -> Modeling -> Extrude.

 

 

  • Em "Select objects to extrude" clicamos no nosso objecto a extrudir, (aconselho uma polilinha fechada para começar, tal como mostro na 1ª imagem ).
  • Em "Specify height of extrusion or [Direction/Path/Taper angle] escrevemos na linha de comandos "P" para dar instrução de selecção de "Path".
  • Depois de "Enter" aparece "Select extrusion path or [Taper angle] clicamos na polilinha que indica o caminho tal como na 1ª imagem ao lado das setas.
  • Certamente se tudo foi bem executado obterá um sólido parecido com o da imagem seguinte ou então com o que aqui disponibilizo em formato "dwf" para mais fácil visualizar em ambiente 3D. Para o fazer ter? de ter instalado o DWF Viewer, um utilitário gratuito da Autodesk, que poder? encontrar aqui no site na secção de Downloads.

Objecto resultante da aplica??o da extrus?o


Pode fazer o download ou abrir directamente o objecto 3D para visualizar o resultado da extrusão segundo um caminho pré-definido: tut_extrude.dwf


Aconselha-se um browser como por exemplo o Mozilla Firefox para melhor resultados com o uso do visualizador DWF Viewer.

 

Espero ter sido útil com este simples texto. Boas extrusões!

Paulo Ferreira

Revolução de um objecto

Escrito por Paulo Ferreira. Publicado em Profissional

O comando REVOLVE ? muito ?til, quando se pretende fazer uma revolu??o de um determinado objecto, como por exemplo, um copo, um prato, ou mesmo um est?dio de futebol.

Para isso basta que se use o comando anteriormente designado. Vou ent?o tentar descrever o modo mais simples de o fazer em autocad:


Para come?ar descarregue o ficheiro que se encontra em baixo.
Ficheiro: revolve.zip
Tamanho: 12,0 KB

  1. Descomprima com um programa do g?nero do winzip ou winrar, e depois abra-o com o software de cad que utiliza, sendo recomendado o autocad 2006 ou superior.
  2. Escreva na linha de comando "REVOLVE"
  3. Em "Select objects to revolve:" selecione a polilinha do ficheiro, e de seguida tecle "Enter"
  4. Em "Specify axis start point or define axis by [ Object /X/Y/Z ]" pique o topo e a base do seguemento de recta que se encontra do lado direito da polilinha
  5. Em "Specify angle of revolution or [STart angle]" tecle "Enter"
  6. Se procedeu da forma correcta, verificar? que lhe surgiu um novo objecto.
  7. Mude-se para uma vista Isom?trica, atrav?s do menu "VIEW" -> 3D VIEWS -> SW ISOMETRIC, por exemplo.
  8. De seguida novamente no menu "VIEW" -> Visual Styles -> Conceptual
  9. Para finalizar, vai rodar o objecto livremente, fazendo uso do menu "VIEW" -> 3D Orbit -> Free Orbit, e divirta-se a observar a pe?a.


Espero que tenha conseguido seguir as minhas dicas, no entanto, deixo aqui o ficheiro com o resultado final, visivel com o 3DWF Viewer.


Caso n?o tenha este visualizador gratuito que a Autodesk disponibiliza, pode fazer o download da sec??o de Downloads deste site.


Até uma próxima oportunidade, e divirta-se!
Paulo Ferreira