<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-643234548841412290</id><updated>2011-11-28T00:41:16.789Z</updated><category term='Rorinas AutoLISP'/><category term='Rotinas AutoLisp'/><category term='Miscelânia'/><category term='Dicas'/><category term='Truques e Dicas'/><category term='C'/><category term='F'/><category term='Sítios'/><category term='Tutorial'/><category term='IntelliCad'/><category term='Transformar'/><category term='Lisp'/><category term='Z'/><category term='Programas'/><category term='N'/><category term='Blocos AutoCad'/><category term='Modificar'/><category term='AutoLisp'/><category term='AutoCAD'/><category term='G'/><category term='Números'/><category term='Como fazer?'/><category term='T'/><category term='Software'/><category term='Cad'/><category term='Coordenadas'/><category term='Autodesk'/><category term='Copiar'/><category term='Áreas'/><category term='Layers'/><category term='Intersecção'/><category term='A'/><category term='Arquitectura'/><category term='Cotas'/><category term='Editar'/><category term='Medições'/><category term='P'/><category term='Texto'/><category term='I'/><category term='B'/><category term='Linhas'/><category term='Letras'/><category term='Pontos'/><category term='Selecção'/><category term='Rotinas LISP'/><category term='Tutoriais'/><category term='Conversor'/><category term='Topografia'/><category term='Importar/Exportar'/><category term='Documentos'/><category term='Calcular'/><category term='Conversão'/><category term='Elevação'/><category term='R'/><title type='text'>Rotinas AutoLISP</title><subtitle type='html'>Reposítório de rotinas AutoLISP.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://rotinasautolisp.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://rotinasautolisp.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>.</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>29</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-643234548841412290.post-1181586286140841682</id><published>2011-10-28T12:00:00.001+01:00</published><updated>2011-10-28T12:00:26.814+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lisp'/><category scheme='http://www.blogger.com/atom/ns#' term='AutoLisp'/><title type='text'>John McCarthy - Faleceu o pai do LISP</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.computerhistory.org/fellowawards/hall/bios/John,McCarthy/"&gt;&lt;img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="237" alt="image" src="http://lh3.ggpht.com/-8BgEDYXSaNQ/TqqLSQwjlUI/AAAAAAAABKo/ECaxkb7eZ4Q/image%25255B3%25255D.png?imgmax=800" width="188" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;Para quem trabalha com a popular ferramenta de desenho, o &lt;a href="http://usa.autodesk.com/autocad/"&gt;AutoCad&lt;/a&gt;, sabe a importância que a linguagem &lt;a href="http://pt.wikipedia.org/wiki/AutoLISP"&gt;AutoLisp&lt;/a&gt; representa na personalização e optimização, já que a partir dela é possível criar rotinas que acrescentam novas funcionalidades e ferramentas, desde as mais básicas até às mais complexas.     &lt;br /&gt;O AutoLisp foi desenvolvido especificamente para o AutoCad a partir da linguagem de programação &lt;a href="http://pt.wikipedia.org/wiki/Lisp"&gt;LISP&lt;/a&gt;.     &lt;br /&gt;Serve este preâmbulo para dar a notícia de que o criador do LISP e da sua aplicação na Inteligência Artificial, John McCarthy, faleceu em 23 deste mês, com 84 anos. Obrigado pelo seu legado!&lt;/p&gt;  &lt;blockquote&gt;   &lt;p align="justify"&gt;Exemplo de uma simples rotina para AutoCad desenvolvida em AutoLisp.&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;table cellspacing="0" cellpadding="2" width="450" border="1"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="450"&gt;           &lt;p&gt;;;rotina que permite alterar o tamanho das entidades texto&lt;/p&gt;            &lt;p&gt;;;comando: atxt&lt;/p&gt;            &lt;p&gt;(defun c:atxt (/ a ht n i b1 b c d b2)              &lt;br /&gt;(prompt &amp;quot;\nA ALTURA DO TEXTO SERÁ MODIFICADA&amp;quot;)               &lt;br /&gt;(setvar &amp;quot;cmdecho&amp;quot; 0)               &lt;br /&gt;(setq a (ssget))               &lt;br /&gt;(setq ht (getdist &amp;quot;\nINTRODUZA NOVA ALTURA&amp;quot;))               &lt;br /&gt;(setq n (sslength a))               &lt;br /&gt;(setq i 0)               &lt;br /&gt;(repeat n               &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq b1 (entget (ssname a i)))               &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq i (1+ i))               &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq c (assoc 40 b1))               &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq d (cons (car c) ht))               &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq b2 (subst d c b1))               &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (entmod b2)               &lt;br /&gt;) &lt;/p&gt;            &lt;p&gt;(princ)              &lt;br /&gt;)&lt;/p&gt;            &lt;p&gt;;;end code&lt;/p&gt;            &lt;blockquote&gt;&lt;/blockquote&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;   &lt;code&gt;&lt;/code&gt;    &lt;p&gt;A notícia: &lt;a href="http://www.theregister.co.uk/2011/10/24/father_lisp_ai_john_mccarthy_dies/"&gt;Link&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt;    &lt;p&gt;Fonte: &lt;a href="http://teknomatika.blogspot.com/"&gt;Teknomatika&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/643234548841412290-1181586286140841682?l=rotinasautolisp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rotinasautolisp.blogspot.com/feeds/1181586286140841682/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=643234548841412290&amp;postID=1181586286140841682' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/1181586286140841682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/1181586286140841682'/><link rel='alternate' type='text/html' href='http://rotinasautolisp.blogspot.com/2011/10/john-mccarthy-faleceu-o-pai-do-lisp.html' title='John McCarthy - Faleceu o pai do LISP'/><author><name>.</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/-8BgEDYXSaNQ/TqqLSQwjlUI/AAAAAAAABKo/ECaxkb7eZ4Q/s72-c/image%25255B3%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643234548841412290.post-8693822403996635006</id><published>2011-06-30T16:54:00.000+01:00</published><updated>2011-11-09T11:46:00.915Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rotinas AutoLisp'/><category scheme='http://www.blogger.com/atom/ns#' term='Pontos'/><category scheme='http://www.blogger.com/atom/ns#' term='Topografia'/><category scheme='http://www.blogger.com/atom/ns#' term='Cotas'/><category scheme='http://www.blogger.com/atom/ns#' term='Z'/><category scheme='http://www.blogger.com/atom/ns#' term='Coordenadas'/><category scheme='http://www.blogger.com/atom/ns#' term='AutoLisp'/><category scheme='http://www.blogger.com/atom/ns#' term='Texto'/><category scheme='http://www.blogger.com/atom/ns#' term='Rotinas LISP'/><category scheme='http://www.blogger.com/atom/ns#' term='Conversão'/><title type='text'>ZPTEXT.lsp - Rotina AutoLISP</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/teknomatika/SCCBtgnDKYI/AAAAAAAAAlc/6OJFiGUjSlo/autolisp_image_08%5B3%5D.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="116" alt="autolisp_image_08" src="http://lh5.ggpht.com/teknomatika/SCCBuQnDKZI/AAAAAAAAAlk/6E23JN4z6sA/autolisp_image_08_thumb%5B1%5D.jpg" width="452" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;Descrição: Esta rotina permite a selecção de entidades de texto numérico e desenhar entidades pontos elevadas na cota Z correspondentes ao valor do respectivo texto. Simultaneamente cria as correspondentes anotações de texto também elevadas no seu valor. Tantos os pontos criados como as anotações correspondentes são encaminhadas para layers próprias criadas automaticamente. Esta rotina mostra-se deveras útil para operações de transformação de topografia de 2D para 3D.&lt;/p&gt;  &lt;p align="justify"&gt;Description: This routine allows the selection of entities from text andnumeric entities draw high points in the Z coordinate corresponding to the value of the text. At the same time creates the corresponding text annotations also high in value. Both the points raised as the notes are forwarded to corresponding layers themselves automatically created.This routine appears to be very useful for operations transformationfrom 2D to 3D topography.&lt;/p&gt;  &lt;p&gt;Comando: ZPTEXT&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="5" width="450" border="1"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="450"&gt;         &lt;p&gt;;;            &lt;br /&gt;;;rotina desenvolvida por Rotinas AutoLIsp - 2008             &lt;br /&gt;(defun c:zptext ()             &lt;br /&gt;&amp;#160; (setvar &amp;quot;CMDECHO&amp;quot; 0)             &lt;br /&gt;&amp;#160; (setvar &amp;quot;FLATLAND&amp;quot; 0)             &lt;br /&gt;&amp;#160; (setvar &amp;quot;OSMODE&amp;quot; 0)             &lt;br /&gt;&amp;#160; (setvar &amp;quot;ORTHOMODE&amp;quot; 0)             &lt;br /&gt;&amp;#160; (setvar &amp;quot;PLINETYPE&amp;quot; 2)             &lt;br /&gt;&amp;#160; (setvar &amp;quot;AUPREC&amp;quot; 0)             &lt;br /&gt;&amp;#160; (setvar &amp;quot;PDMODE&amp;quot; 3)             &lt;br /&gt;(setvar &amp;quot;PDSIZE&amp;quot; 0.15)             &lt;br /&gt;&amp;#160; (command &amp;quot;layer&amp;quot; &amp;quot;make&amp;quot; &amp;quot;3d-pontos&amp;quot; &amp;quot;color&amp;quot; &amp;quot;1&amp;quot; &amp;quot;&amp;quot; &amp;quot;&amp;quot;)             &lt;br /&gt;&amp;#160; (command &amp;quot;layer&amp;quot; &amp;quot;make&amp;quot; &amp;quot;3d-altimetria&amp;quot; &amp;quot;color&amp;quot; &amp;quot;103&amp;quot; &amp;quot;&amp;quot; &amp;quot;&amp;quot;)             &lt;br /&gt;&amp;#160; (setq f_pt (open &amp;quot;c:\\coordenadastxt.tmp&amp;quot; &amp;quot;w&amp;quot;))             &lt;br /&gt;;;cria um ficheiro temporário no disco C:             &lt;br /&gt;&amp;#160; (vl-load-com)             &lt;br /&gt;&amp;#160; (setq&amp;#160;&amp;#160;&amp;#160; *modelspace*             &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (vla-get-modelspace             &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (vla-get-activedocument (vlax-get-acad-object))             &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; )             &lt;br /&gt;&amp;#160; )             &lt;br /&gt;&amp;#160; (princ &amp;quot;\n&amp;lt;P&amp;gt;Seleccionar o texto a transformar em 3D: &amp;lt;E&amp;gt;Select Text:&amp;quot;)             &lt;br /&gt;;;seleccionar os textos a transformar             &lt;br /&gt;&amp;#160; (setq txt1 (ssget '((0 . &amp;quot;text&amp;quot;))))             &lt;br /&gt;&amp;#160; (if (= txt1 nil)             &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; (close f_pt)             &lt;br /&gt;&amp;#160; )             &lt;br /&gt;&amp;#160; (setq txt2 (sslength txt1))             &lt;br /&gt;&amp;#160; (setq counter 0);;contador             &lt;br /&gt;&amp;#160; (while (&amp;lt; counter txt2)             &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; (progn             &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq txtent (entget (ssname txt1 counter)))             &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq cotax (car (cdr (assoc 10 txtent))))             &lt;br /&gt;;;extrai coordena x             &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq cotay (cadr (cdr (assoc 10 txtent))))             &lt;br /&gt;;;extrai coordenada y             &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq cotaz (atof (cdr (assoc 1 txtent))))             &lt;br /&gt;;;extrai coordenada z             &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq xyz (list cotax cotay cotaz))             &lt;br /&gt;;;define a coordenada xyz de cada ponto a alterar             &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (command &amp;quot;layer&amp;quot; &amp;quot;set&amp;quot; &amp;quot;3d-pontos&amp;quot; &amp;quot;&amp;quot;)             &lt;br /&gt;;;passa para layer corrente             &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (command &amp;quot;point&amp;quot; xyz)             &lt;br /&gt;;; insere o ponto na elevação correspondente à anotação             &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (command &amp;quot;layer&amp;quot; &amp;quot;set&amp;quot; &amp;quot;3d-altimetria&amp;quot; &amp;quot;&amp;quot;)             &lt;br /&gt;;;passa para layer corrente             &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (command &amp;quot;text&amp;quot; xyz 0.20 0 (rtos cotaz 2 2))             &lt;br /&gt;;;escreve as anotações com a respectiva elevação do ponto             &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; )             &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; (setq counter (1+ counter))             &lt;br /&gt;;;incrementa o valor 1 à variável do contador             &lt;br /&gt;&amp;#160; )             &lt;br /&gt;;;;             &lt;br /&gt;&amp;#160; (command &amp;quot;zoom&amp;quot; &amp;quot;e&amp;quot;)             &lt;br /&gt;&amp;#160; (command &amp;quot;layer&amp;quot; &amp;quot;set&amp;quot; &amp;quot;0&amp;quot; &amp;quot;&amp;quot;)             &lt;br /&gt;;;retoma como corrente a layer zero             &lt;br /&gt;&amp;#160; (princ)             &lt;br /&gt;)             &lt;br /&gt;;;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;- &lt;a href="http://rotinasautolisp.blogspot.com/search/label/Como%20fazer%3F"&gt;Como instalar a rotina&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/643234548841412290-8693822403996635006?l=rotinasautolisp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rotinasautolisp.blogspot.com/feeds/8693822403996635006/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=643234548841412290&amp;postID=8693822403996635006' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/8693822403996635006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/8693822403996635006'/><link rel='alternate' type='text/html' href='http://rotinasautolisp.blogspot.com/2008/05/zptextlsp-rotina-autolisp.html' title='ZPTEXT.lsp - Rotina AutoLISP'/><author><name>.</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/teknomatika/SCCBuQnDKZI/AAAAAAAAAlk/6E23JN4z6sA/s72-c/autolisp_image_08_thumb%5B1%5D.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643234548841412290.post-5638722498830187343</id><published>2010-12-14T17:32:00.001Z</published><updated>2010-12-14T18:05:35.448Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Topografia'/><title type='text'>Curvas de Nível - Topografia</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_tkYk5_Im5qM/TQex65xFuKI/AAAAAAAABKU/WkmdU-_IIGg/s1600-h/curvas_de_nivel%5B8%5D.jpg" target="_blank"&gt;&lt;img title="curvas_de_nivel" style="border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px" height="386" alt="curvas_de_nivel" src="http://lh6.ggpht.com/_tkYk5_Im5qM/TQex7mlsnUI/AAAAAAAABKY/6leJKLRfQxk/curvas_de_nivel_thumb%5B6%5D.jpg?imgmax=800" width="454" border="0" /&gt;&lt;/a&gt; &lt;em&gt; (clicar para ampliar)&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://www.webartigos.com/content_images/Topografia.gif" /&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Curvas de nível:      &lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Em topografia, o relevo de um terreno ou território é representado graficamente (mapas ou plantas topográficas) por linhas denominadas de curvas-de-nível.    &lt;br /&gt;As curvas-de-nível são linhas imaginárias em que cada uma em si representa uma porção de terreno com uma intercepção de pontos ou cotas à mesma altitude.     &lt;br /&gt;As curvas-de-nível no plano horizontal podem ser representadas em distâncias diferenciadas, sendo que um menor espaçamento significa um maior declive ou inclinação do terreno e um maior espaçamento significa menor declive.     &lt;br /&gt;No plano vertical, a representação das curvas-de-nível obedecerá a afastamentos equidistantes, sendo que as equidistâncias podem ser variáveis de mapa para mapa, normalmente em função da escala representada. Num mapa referente a pequenas parcelas, as equidistâncias podem representar valores de 1m ou até valores inferiores de acordo com o pormenor de leitura pretendido. Pelo contrário, em mapas mais abrangentes, representando grandes extensões de território, as equidistâncias podem equivaler a 5 metros ou valores bem superiores. &lt;/p&gt;  &lt;p align="justify"&gt;Graficamente, as curvas são anotadas com os valores da altitude/altimetria a que correspondem. Um perfil vertical resulta da projecção de linhas verticais no comprimento a que se referem os pontos das curvas interceptadas por uma linha recta no plano horizontal (ver figura acima).&lt;/p&gt;  &lt;p align="justify"&gt;&lt;strong&gt;As curvas-de-nível têm algumas propriedades intrínsecas que as caracterizam e definem, nomeadamente:      &lt;br /&gt;&lt;/strong&gt;1 - Todos os pontos num terreno interceptados por uma curva-de-nível têm a mesma altitude;     &lt;br /&gt;2 - Uma curva-de-nível não pode derivar ou bi-furcar para outras curvas;     &lt;br /&gt;3 - As cruvas-de-nível nunca se podem cruzar ou interceptar.     &lt;br /&gt;4 - As curvas-de-nível fecham-se em si próprias, sendo que graficamente pode não ser possível representar essa realidade por insuficiência do tamanho do suporte na sua representação.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/643234548841412290-5638722498830187343?l=rotinasautolisp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rotinasautolisp.blogspot.com/feeds/5638722498830187343/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=643234548841412290&amp;postID=5638722498830187343' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/5638722498830187343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/5638722498830187343'/><link rel='alternate' type='text/html' href='http://rotinasautolisp.blogspot.com/2010/12/curvas-de-n%C3%ADvel-topografia.html' title='Curvas de Nível - Topografia'/><author><name>.</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_tkYk5_Im5qM/TQex7mlsnUI/AAAAAAAABKY/6leJKLRfQxk/s72-c/curvas_de_nivel_thumb%5B6%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643234548841412290.post-1498748991978359836</id><published>2010-12-09T12:16:00.001Z</published><updated>2011-09-07T11:02:05.807+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Áreas'/><category scheme='http://www.blogger.com/atom/ns#' term='G'/><category scheme='http://www.blogger.com/atom/ns#' term='Calcular'/><category scheme='http://www.blogger.com/atom/ns#' term='Medições'/><title type='text'>Ga.lsp – Rotina para obter áreas</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_tkYk5_Im5qM/TQDIhb72plI/AAAAAAAABKA/G19ENCucoHM/s1600-h/image%5B3%5D.png"&gt;&lt;img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="242" alt="image" src="http://lh4.ggpht.com/_tkYk5_Im5qM/TQDIrbMG1qI/AAAAAAAABKE/7t8pzvnQnIg/image_thumb%5B1%5D.png?imgmax=800" width="454" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_tkYk5_Im5qM/TQDIsJ44iYI/AAAAAAAABKI/RzWXC_1oIJo/s1600-h/image%5B7%5D.png"&gt;&lt;img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="300" alt="image" src="http://lh5.ggpht.com/_tkYk5_Im5qM/TQDIteAXmNI/AAAAAAAABKM/i6Q7U768EpE/image_thumb%5B3%5D.png?imgmax=800" width="454" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Excelente rotina de &lt;a href="http://www.jefferypsanders.com/"&gt;jefferypsanders.com&lt;/a&gt;, que permite obter as áreas de polígonos fechados, introduzindo automaticamente a respectiva anotação.&lt;/p&gt;  &lt;p align="justify"&gt;A rotina obtém e introduz também o valor do perímetro do polígono. No nosso caso, porque consideramos este segundo valor como irrelevante para as nossas necessidades, editamos o código da rotina de modo a introduzir apenas a área.&lt;/p&gt;  &lt;p align="justify"&gt;- Rotina original: &lt;a href="http://www.jefferypsanders.com/GA.lsp"&gt;Link&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Comando: Ga&lt;/p&gt;  &lt;p align="justify"&gt;- Rotina alterada: &lt;a href="http://rotinaslisp.blogspot.com/2011/09/gaalsp.html"&gt;Link&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Comando: GAA&lt;/p&gt;  &lt;p align="justify"&gt;NOta: Para adequar o tamanho do texto, primeiramente deve ser alterado o valor correspondete da variável de sistema “textsize”.&lt;/p&gt;  &lt;p align="justify"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;em&gt;Excellent jefferypsanders.com routine, giving areas of closed polygons, automatically introducing their annotation. &lt;/em&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;em&gt;The routine gets the value and also introduces the perimeter of the      &lt;br /&gt;polygon. In our case, because we consider this second value as irrelevant to our needs, we edited the code of the routine in order to enter the area only.&lt;/em&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;em&gt;- Google Translate&lt;/em&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/643234548841412290-1498748991978359836?l=rotinasautolisp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rotinasautolisp.blogspot.com/feeds/1498748991978359836/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=643234548841412290&amp;postID=1498748991978359836' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/1498748991978359836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/1498748991978359836'/><link rel='alternate' type='text/html' href='http://rotinasautolisp.blogspot.com/2010/12/galsp-rotina-para-obter-areas.html' title='Ga.lsp – Rotina para obter áreas'/><author><name>.</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_tkYk5_Im5qM/TQDIrbMG1qI/AAAAAAAABKE/7t8pzvnQnIg/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643234548841412290.post-7790588517913073491</id><published>2010-12-09T11:50:00.001Z</published><updated>2010-12-09T11:50:36.006Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programas'/><category scheme='http://www.blogger.com/atom/ns#' term='Topografia'/><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><title type='text'>Topocal – Programa de topografia</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_tkYk5_Im5qM/TQDCd9lFSWI/AAAAAAAABJw/VhoWj9uRaYA/s1600-h/image%5B3%5D.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="319" alt="image" src="http://lh4.ggpht.com/_tkYk5_Im5qM/TQDCe-4sjYI/AAAAAAAABJ0/XLcaHeJQgg0/image_thumb%5B1%5D.png?imgmax=800" width="454" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_tkYk5_Im5qM/TQDCg6IVB7I/AAAAAAAABJ4/8M9Ajun1ODk/s1600-h/image%5B7%5D.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="283" alt="image" src="http://lh5.ggpht.com/_tkYk5_Im5qM/TQDCisUSHiI/AAAAAAAABJ8/AJY8zPkJfuQ/image_thumb%5B3%5D.png?imgmax=800" width="454" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;Para todos quantos trabalham na área de topografia, indispensável nas componentes de arquitectura e engenharia civil, existe um excelente programa, o TOPOCAL, com origem no Chile, supostamente em fase de desenvolvimento e que por isso tem sido disponibilizado de forma completamente gratuita, bastando um simples registo para ter acesso à chave de activação.   &lt;br /&gt;Nesta fase, que já dura há bastante tempo (2002), as contrapartidas exigidas nem são obrigatórias mas passam pela participação no desenvolvimento do programa, com contributos na forma de ideias e sugestões para melhoria do mesmo.&lt;/p&gt;  &lt;p align="justify"&gt;É verdade que para quem já está habituado a trabalhar com programas profissionais, quase sempre bastante caros, encontra algumas limitações neste TOPOCAL, desde logo a impossibilidade de recepção directa dos dados de um aparelho de levantamento topográfico, bem como outras ferramentas avançadas.   &lt;br /&gt;Todavia, para quem não faz da topografia a sua principal actividade, o TOPOCAL é uma excelente opção a considerar e, como no nosso caso particular, resulta muito bem como uma ferramenta complementar a trabalhos no conhecido AutoCad.&lt;/p&gt;  &lt;p align="justify"&gt;Apesar da tal impossibilidade de receber directamente os dados dos aparelhos de levantamento topográfico, tem no entanto várias opções de importação, lendo ficheiros no formato DXF, também utilizado pelo AutoCad, como lê ficheiros de pontos no formato ASCII com dados em diferentes separadores. Do mesmo modo, permite exportar o trabalho para o formato DXF, tanto em 2D como em 3D para além dos formatos nativos.&lt;/p&gt;  &lt;p align="justify"&gt;O programa TOPOCAL mostra-se muito eficiente nas principais tarefas e funções de cálculos topográficos, desde logo a criação de modelos de terreno digital, MDT, com triangulações e criação de curvas de nível, com diversos parâmetros de edição associados. Possui várias ferramentas de edição de pontos, curvas, polilinhas, etç.   &lt;br /&gt;É também muito bom a gerar secções, malhas, radiações, interpolações, etç.    &lt;br /&gt;O desempenho gráfico no manuseamento do desenho, incluindo zoom e vista em 3D é muito eficiente.    &lt;br /&gt;Permite também trabalhar com camadas (layers ou capas), possibilitando um controlo ideal das várias entidades.    &lt;br /&gt;Em suma, a este nível de software grátis, sem limitações de uso ou edição, não conhecemos na área da topografia programa semelhante com tão excelente qualidade, estabilidade e funcionalidade.&lt;/p&gt;  &lt;p align="justify"&gt;Tudo indica que o programa num futuro próximo, depois de terminada a fase de desenvolvimento por que tem passado, venha a ter custos associados à sua utilização pelo que importa aproveitar enquanto está disponível.   &lt;br /&gt;Para além de tudo, o sítio oficial disponibiliza um bom manual, se bem que em espanhol.&lt;/p&gt;  &lt;p align="justify"&gt;Actualmente a versão 2.0.48 ainda continua a ser gratuita mas já existe uma nova versão, a 3.0.79, que continua livre até 80% das funcionalidades sendo que para activar os restantes 20% requer um donativo no valor de 30 euros.&lt;/p&gt;  &lt;p align="justify"&gt;Aliás, percebia-se pelo desenvolvimento, que este software acabará por ter que ser pago na totalidade, certamente numa versão final, o que de resto é compreensível. Por conseguinte, não deixa de ser uma política interessante que um programa na sua fase de desenvolvimento deseja disponibilizado de forma gratuita, colhendo a colaboração dos utilizadores, reportando estes os erros, bugs, e sugerindo correcções e funcionalidades.&lt;/p&gt;  &lt;p align="justify"&gt;Esta tem sido a filosofia e abordagem do Topocal e creio que com sucesso.&lt;/p&gt;  &lt;p align="justify"&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;[&lt;a href="http://www.topocal.com/joomla/index.php"&gt;Sítio&lt;/a&gt;]&lt;/p&gt;  &lt;p&gt;[&lt;a href="http://www.topocal.com/TopoCalv2.0.48.zip"&gt;Download da versão 2.0.48&lt;/a&gt;]&lt;/p&gt;  &lt;p&gt;[&lt;a href="http://www.topocal.com/descargas/Mamual_Chile_2004.pdf"&gt;Manual – Versão Chile&lt;/a&gt;]&lt;/p&gt;  &lt;p&gt;[&lt;a href="http://www.topocal.com/descargas/Manual_Guatemala_2007.pdf"&gt;Manual – Versão Guatemala&lt;/a&gt;]&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;- Fonte: &lt;strong&gt;&lt;a href="http://teknomatika.blogspot.com/" target="_blank"&gt;Teknomátika&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.topocal.com/joomla/index.php"&gt;http://www.topocal.com/joomla/index.php&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/643234548841412290-7790588517913073491?l=rotinasautolisp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rotinasautolisp.blogspot.com/feeds/7790588517913073491/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=643234548841412290&amp;postID=7790588517913073491' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/7790588517913073491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/7790588517913073491'/><link rel='alternate' type='text/html' href='http://rotinasautolisp.blogspot.com/2010/12/topocal-programa-de-topografia.html' title='Topocal – Programa de topografia'/><author><name>.</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_tkYk5_Im5qM/TQDCe-4sjYI/AAAAAAAABJ0/XLcaHeJQgg0/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643234548841412290.post-536950318948100400</id><published>2010-07-01T16:10:00.001+01:00</published><updated>2010-07-01T16:10:28.108+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='Miscelânia'/><title type='text'>Calendp.lsp – Desenhar calendário no AutoCad</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_tkYk5_Im5qM/TCyv3qKWcDI/AAAAAAAABJg/awDyHgAT_m0/s1600-h/image%5B3%5D.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="368" alt="image" src="http://lh5.ggpht.com/_tkYk5_Im5qM/TCyv4d9v7pI/AAAAAAAABJk/2_NRLECFE28/image_thumb%5B1%5D.png?imgmax=800" width="454" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;CALENDP.LSP, é uma interessante rotina que permite de forma automática desenhar um calendário no AutoCad.&lt;/p&gt;  &lt;p align="justify"&gt;A versão original em inglês foi adaptada para o português, nomeadamente quanto à nomenclatura dos dias e meses. No caso de se pretender novamente em inglês basta editar o código nas seguintes listas:&lt;/p&gt;  &lt;p align="justify"&gt;&amp;#160;&amp;#160; (setq months    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (list     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;Janeiro&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;Fevereiro&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;Março&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;Abril&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;Maio&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;Junho&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;Julho&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;Agosto&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;Setembro&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;Outubro&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;Novembro&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;Dezembro&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; )     &lt;br /&gt;&amp;#160;&amp;#160; ) &lt;/p&gt;  &lt;p align="justify"&gt;&amp;#160;&amp;#160; (setq days    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (list     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;Domingo&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;Segunda&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;Terça&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;Quarta&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;Quinta&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;Sexta&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;Sábado&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ) &lt;/p&gt;  &lt;p align="justify"&gt;Funcionamento: Depois de se efectuar o &lt;a href="http://rotinaslisp.blogspot.com/2010/07/calendplsp.html"&gt;download&lt;/a&gt; do código e de se gravar o ficheiro no formato .lsp, deve proceder-se ao &lt;a href="http://rotinasautolisp.blogspot.com/2008/04/como-carregar-as-rotinas-autolisp.html"&gt;carregamento&lt;/a&gt;. Depois de efectuado o load, chama-se o comando &lt;strong&gt;CALENDP&lt;/strong&gt;. É solicitado o ano que se pretende, os dois pontos (corners) que vão definir o polígono de desenho, o número do mês pretendido (1-12) (por exemplo 4 para Abril), ou todos na opção All. Depois é solicitado o Nº de colunas e o espaçamento entre colunas e entre linhas. E é tudo. Nada mais simples.&lt;/p&gt;  &lt;p&gt;[&lt;a href="http://rotinaslisp.blogspot.com/2010/07/calendplsp.html"&gt;Download do código&lt;/a&gt;]&lt;/p&gt;  &lt;p&gt;[&lt;a href="http://rotinasautolisp.blogspot.com/2008/04/como-carregar-as-rotinas-autolisp.html"&gt;Como carregar a rotina&lt;/a&gt;]&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/643234548841412290-536950318948100400?l=rotinasautolisp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rotinasautolisp.blogspot.com/feeds/536950318948100400/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=643234548841412290&amp;postID=536950318948100400' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/536950318948100400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/536950318948100400'/><link rel='alternate' type='text/html' href='http://rotinasautolisp.blogspot.com/2010/07/calendplsp-desenhar-calendario-no.html' title='Calendp.lsp – Desenhar calendário no AutoCad'/><author><name>.</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_tkYk5_Im5qM/TCyv4d9v7pI/AAAAAAAABJk/2_NRLECFE28/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643234548841412290.post-1214418874197476546</id><published>2010-06-02T17:58:00.001+01:00</published><updated>2010-06-02T17:58:40.841+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pontos'/><category scheme='http://www.blogger.com/atom/ns#' term='P'/><category scheme='http://www.blogger.com/atom/ns#' term='Coordenadas'/><title type='text'>Ptt.lsp – Obter coordenadas x,y,z de entidades “points”</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://lh6.ggpht.com/_tkYk5_Im5qM/TAaNpKTbvdI/AAAAAAAABJY/YBfCJa1vioA/s1600-h/image%5B4%5D.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="423" alt="image" src="http://lh3.ggpht.com/_tkYk5_Im5qM/TAaNrVn72iI/AAAAAAAABJc/RamdnPuJLLw/image_thumb%5B2%5D.png?imgmax=800" width="304" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;Para quem trabalha em topografia, como é o nosso caso, por vezes torna-se necessário obter um ficheiro de texto com as coordenadas X,Y,Z das entidades pontos - &amp;quot;points&amp;quot; -.   &lt;br /&gt;Ora fazer isso de forma individual ou manual poderia representar um trabalho enorme e quase impraticável, dependendo da quantidade de pontos a considerar.    &lt;br /&gt;De modo a automatizar esta tarefa, desenvolvemos uma simples mas eficaz rotina que permite de forma rápida e automática captar as respectivas coordenadas e gerar um ficheiro no formato .txt.    &lt;br /&gt;A rotina, uma vez carregada pode ser chamada com a função ou comendo &amp;quot;PTT&amp;quot;. De seguida é pedido ao utilizador que defina o nome do ficheiro a gerar e que será criado na raíz, na pasta C:    &lt;br /&gt;De seguida é pedido ao utilizador que escolha o separador das diferentes coordenadas, podendo escolher-se entre a vírgula e ponto-e-vírgula. É claro que até poderá escolher outro símbolo mas habitualmente são esses separadores os utilizados em ficheiros de topografia.    &lt;br /&gt;Finalmente, basta seleccionar os pontos dos quais se pretende obter as coordenadas. Nada mais simples.    &lt;br /&gt;Nos diversos testes efectuados, a rotina mostra-se fiável e com bons resultados. As coordenadas são geradas com 4 casas decimais. Ocasionalmente pode ocorrer gerar coordenadas com um número diferente de casas decimais, no caso sendo suprimidos os zeros à direita, o que provoca um desalinhamento na ordenação dos diferentes valores no ficheiro. Nestes casos recomenda-se que se volte a repetir o processo. Será também conveniente que as entidades &amp;quot;points&amp;quot; a seleccionar estejam limpas de quaisquer outras entidades.&lt;/p&gt;  &lt;p align="justify"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;For those working in topography, as is our case, sometimes becomes necessary to obtain a text file, with the coordinates X, Y, Z points of the entities - &amp;quot;points&amp;quot; -.   &lt;br /&gt;Now do this individually or manual labor could pose a huge and almost impossible, depending on the amount of points to consider.    &lt;br /&gt;In order to automate the task, we developed a simple but effective routine that allows to quickly and automatically capture their coordinates and generate a file in the. Txt.    &lt;br /&gt;The routine, once loaded can be called with the function or eating &amp;quot;PTT&amp;quot;. Then the user is prompted to define the file name to generate and that will be created at the root, in the C:    &lt;br /&gt;Then the user is prompted to select the tab of the different coordinates, choosing among the comma and point-and-comma. Of course, until you can select another symbol but usually these separators are used in the files of topography.    &lt;br /&gt;Finally, simply select the points to which you want to get the coordinates. Nothing simpler.    &lt;br /&gt;In several tests, routine proves reliable and with good results. The coordinates are generated with four decimal places. May occur occasionally generate coordinated with a different number of decimal places, in the case being suppressed trailing zeroes, causing a misalignment in the order of the different values in the file. In these cases it is recommended that attention back to repeat the process. Be seen also that the entities &amp;quot;points&amp;quot; to be selected are clean of any other entities.&lt;/p&gt;  &lt;p&gt;[&lt;a href="http://rotinaslisp.blogspot.com/2010/06/pttlsp-points-to-text-coordenadas.html"&gt;Download&lt;/a&gt;]&lt;/p&gt;  &lt;p&gt;[ &lt;a href="http://rotinasautolisp.blogspot.com/2008/04/como-carregar-as-rotinas-autolisp.html"&gt;Como carregar a rotina?&lt;/a&gt; ]&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/643234548841412290-1214418874197476546?l=rotinasautolisp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rotinasautolisp.blogspot.com/feeds/1214418874197476546/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=643234548841412290&amp;postID=1214418874197476546' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/1214418874197476546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/1214418874197476546'/><link rel='alternate' type='text/html' href='http://rotinasautolisp.blogspot.com/2010/06/pttlsp-obter-coordenadas-xyz-de.html' title='Ptt.lsp – Obter coordenadas x,y,z de entidades “points”'/><author><name>.</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_tkYk5_Im5qM/TAaNrVn72iI/AAAAAAAABJc/RamdnPuJLLw/s72-c/image_thumb%5B2%5D.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643234548841412290.post-29760906998107396</id><published>2010-05-21T17:29:00.001+01:00</published><updated>2010-05-21T17:29:18.097+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='Calcular'/><title type='text'>Calce.lsp – Calcular</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://lh3.ggpht.com/_tkYk5_Im5qM/S_a02kOWbtI/AAAAAAAABJQ/0WRmCM2da6M/s1600-h/autolisp_image_06%5B3%5D.jpg"&gt;&lt;img title="autolisp_image_06" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="109" alt="autolisp_image_06" src="http://lh3.ggpht.com/_tkYk5_Im5qM/S_a03ToHYlI/AAAAAAAABJU/uoizknauN6k/autolisp_image_06_thumb%5B1%5D.jpg?imgmax=800" width="454" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;&lt;strong&gt;CALCE.lsp&lt;/strong&gt; é uma simples rotina que permite efectuar simples cálculos de multiplacação, subtracção, soma e divisão. Uma vez chamada a função CALCE, é solicitado o primeiro número, o símbolo da operação e o segundo número, divulgando o resultado numa caixa de mensagem. Simples mas que pode fazer jeito.&lt;/p&gt;  &lt;p align="justify"&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;[ &lt;a href="http://rotinaslisp.blogspot.com/2010/05/calcelsp-rotina-autolisp-codigo.html"&gt;Download&lt;/a&gt; ]&lt;/p&gt;  &lt;p&gt;[ &lt;a href="http://rotinasautolisp.blogspot.com/2008/04/como-carregar-as-rotinas-autolisp.html"&gt;Como carregar a rotina?&lt;/a&gt; ]&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/643234548841412290-29760906998107396?l=rotinasautolisp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rotinasautolisp.blogspot.com/feeds/29760906998107396/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=643234548841412290&amp;postID=29760906998107396' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/29760906998107396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/29760906998107396'/><link rel='alternate' type='text/html' href='http://rotinasautolisp.blogspot.com/2010/05/calcelsp-calcular.html' title='Calce.lsp – Calcular'/><author><name>.</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_tkYk5_Im5qM/S_a03ToHYlI/AAAAAAAABJU/uoizknauN6k/s72-c/autolisp_image_06_thumb%5B1%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643234548841412290.post-8834082720142138344</id><published>2010-05-13T10:32:00.001+01:00</published><updated>2010-05-13T10:32:39.315+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Modificar'/><category scheme='http://www.blogger.com/atom/ns#' term='Lisp'/><category scheme='http://www.blogger.com/atom/ns#' term='F'/><title type='text'>Freehand.lsp – Desenho à mão-livre</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;É verdade que com a introdução dos computadores no desenho técnico, utilizando-se progrmas sofisticados como o AutoCad, no fundo um estirador virtual, as características do desenho tornaram-se rigorosas, rígidas e, para além de todas as vantagens disso, a verdade é que perdeu-se o encanto do desenho à mão-livre e das suas naturais imprecisões. É verdade que para suprir essa falha também existem programas de esquiço (como o &lt;a href="http://micrografico.micrograf.pt/mic_37/3708.pdf" target="_blank"&gt;Autodesk SketchBook&lt;/a&gt;), onde se pretende reencontrar no processo criativo essa liberdade pictórica e expressionista, mas, diga-se o que se disser, não é a mesma coisa, daí que muitos arquitectos e designers não dispensem o papel, o lápis, a caneta e a borracha de apagar.&lt;/p&gt;  &lt;p align="justify"&gt;Seja como for, um pouco dentro deste contexto, alguém, muito bem, desenvolveu uma rotina auto-lisp que empresta aos desenhos um certo ar de mão-livre, daí a rotina chamar-se de “freehand”.&lt;/p&gt;  &lt;p align="justify"&gt;A sua utilização é muito simples e depois de chamado o comando, basta determinar alguns pouco parâmetros, facilmente compreensíveis, e de seguida seleccionar o desenho que se pretende caracterizar com o tal estilo de mão-livre. O resultado torna as linhas um pouco tremidas, que lhe emprestam dinâmica e com as extremidades a transporem as perpendiculares.&lt;/p&gt;  &lt;p align="justify"&gt;Resulta muito bem, especialmente em desenhos de alçados e vistas. Pensamos que tem alguma utilidade em trabalhos de ante-projecto e apresentação.&lt;/p&gt;  &lt;p align="justify"&gt;Experimentem.&lt;/p&gt;  &lt;p align="justify"&gt;[&lt;strong&gt;&lt;a href="http://rotinaslisp.blogspot.com/2010/05/freehandlsp.html" target="_blank"&gt;Download&lt;/a&gt;&lt;/strong&gt;]&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://lh6.ggpht.com/_tkYk5_Im5qM/S-vHMNbal2I/AAAAAAAABJA/o2m5nqbcOdA/s1600-h/freehand_1%5B3%5D.jpg"&gt;&lt;img title="freehand_1" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="266" alt="freehand_1" src="http://lh4.ggpht.com/_tkYk5_Im5qM/S-vHMvaGVUI/AAAAAAAABJE/0_NaQgiJ2P4/freehand_1_thumb%5B1%5D.jpg?imgmax=800" width="454" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_tkYk5_Im5qM/S-vHNA3s-dI/AAAAAAAABJI/MR5Ez_S3GGg/s1600-h/freehand_2%5B3%5D.jpg"&gt;&lt;img title="freehand_2" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="274" alt="freehand_2" src="http://lh4.ggpht.com/_tkYk5_Im5qM/S-vHNrDmAeI/AAAAAAAABJM/gMB9n4AYVAI/freehand_2_thumb%5B1%5D.jpg?imgmax=800" width="454" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/643234548841412290-8834082720142138344?l=rotinasautolisp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rotinasautolisp.blogspot.com/feeds/8834082720142138344/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=643234548841412290&amp;postID=8834082720142138344' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/8834082720142138344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/8834082720142138344'/><link rel='alternate' type='text/html' href='http://rotinasautolisp.blogspot.com/2010/05/freehandlsp-desenho-mao-livre.html' title='Freehand.lsp – Desenho à mão-livre'/><author><name>.</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_tkYk5_Im5qM/S-vHMvaGVUI/AAAAAAAABJE/0_NaQgiJ2P4/s72-c/freehand_1_thumb%5B1%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643234548841412290.post-7950344933628653274</id><published>2010-05-07T09:30:00.000+01:00</published><updated>2011-06-30T17:00:59.631+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rotinas AutoLisp'/><category scheme='http://www.blogger.com/atom/ns#' term='AutoCAD'/><category scheme='http://www.blogger.com/atom/ns#' term='B'/><category scheme='http://www.blogger.com/atom/ns#' term='Números'/><category scheme='http://www.blogger.com/atom/ns#' term='Lisp'/><category scheme='http://www.blogger.com/atom/ns#' term='AutoLisp'/><category scheme='http://www.blogger.com/atom/ns#' term='Rotinas LISP'/><title type='text'>BUB.lsp - Rotina AutoLISP - repost</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/teknomatika/SM_UjftvJVI/AAAAAAAAAs4/7ctGl0dQnLw/s1600-h/autolisp_image_11%5B3%5D.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="90" alt="autolisp_image_11" src="http://lh5.ggpht.com/teknomatika/SM_Uj5TCxCI/AAAAAAAAAs8/kZViUGb7CyA/autolisp_image_11_thumb%5B1%5D.jpg?imgmax=800" width="454" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://lh4.ggpht.com/_tkYk5_Im5qM/S-Uf46jLj7I/AAAAAAAABI4/BXAqETdErgE/s1600-h/rotina%20bub%5B4%5D.jpg" target="_blank"&gt;&lt;img title="rotina bub" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="394" alt="rotina bub" src="http://lh5.ggpht.com/_tkYk5_Im5qM/S-Uf5SVGOAI/AAAAAAAABI8/c2qGb_KnTgw/rotina%20bub_thumb%5B2%5D.jpg?imgmax=800" width="454" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;Esta rotina BUB.lsp é em tudo idêntica à anteriormente publicada, a &lt;a href="http://rotinaslisp.blogspot.com/2011/06/ncirlsp.html" target="_blank"&gt;NCIR.lsp&lt;/a&gt;, sendo que também desenha uma seta (leader). A leader pode ter diversos segmentos e em variadas direcções. Deve ser dado um primeiro ponto, que corresponde à posição da ponta da seta e o último, seguido de Enter, corresponde à posição do centro do círculo onde será inscrito o número.&lt;/p&gt;  &lt;p align="justify"&gt;Como a NCIR, este rotina é particularmente útil para anotar materiais, em alçados, por exemplo, e equipamentos, etç. Para quem não gostar dos círculos, pode sempre apagar os mesmos, deixando apenas a leader e o número. Nada mais fácil e o resultado poderá ser mais elegante, principalmente quando há muitos elementos a identificar.&lt;/p&gt;  &lt;p&gt;Autor da versão usada: Steve Waskow&lt;/p&gt;  &lt;p&gt;Comando: BUB&lt;/p&gt;  &lt;p&gt;(&lt;a href="http://rotinaslisp.blogspot.com/2011/06/bublsp.html" target="_blank"&gt;download&lt;/a&gt;)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/643234548841412290-7950344933628653274?l=rotinasautolisp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rotinasautolisp.blogspot.com/feeds/7950344933628653274/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=643234548841412290&amp;postID=7950344933628653274' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/7950344933628653274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/7950344933628653274'/><link rel='alternate' type='text/html' href='http://rotinasautolisp.blogspot.com/2008/09/bublsp-rotina-autolisp.html' title='BUB.lsp - Rotina AutoLISP - repost'/><author><name>.</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/teknomatika/SM_Uj5TCxCI/AAAAAAAAAs8/kZViUGb7CyA/s72-c/autolisp_image_11_thumb%5B1%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643234548841412290.post-861598555797634947</id><published>2010-04-27T17:52:00.001+01:00</published><updated>2010-05-13T11:27:50.629+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cotas'/><category scheme='http://www.blogger.com/atom/ns#' term='Modificar'/><category scheme='http://www.blogger.com/atom/ns#' term='Transformar'/><category scheme='http://www.blogger.com/atom/ns#' term='Elevação'/><category scheme='http://www.blogger.com/atom/ns#' term='A'/><title type='text'>ALLZ.lsp – Tansformar todas as coordenadas Z em elevação zero</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_tkYk5_Im5qM/S9cWMMCPzMI/AAAAAAAABIw/9yDFgkUFIgg/s1600-h/autolisp_image_05%5B3%5D.jpg"&gt;&lt;img title="autolisp_image_05" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="103" alt="autolisp_image_05" src="http://lh6.ggpht.com/_tkYk5_Im5qM/S9cWMgvQoOI/AAAAAAAABI0/23FfB47iXFc/autolisp_image_05_thumb%5B1%5D.jpg?imgmax=800" width="454" border="0" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;Não raras vezes, principalmente quando trabalhamos com programas de topografia, nomeadamente textos e curvas de nível, há necessidade de transformar as cotas com valor Z positivo em valores zero. É certo que o AutoCad já dispõe do comando Flatten Objects, no Menu Express/Modify, mas também é verdade que o processo é demorado e nem sempre com resultados satisfatórios.&lt;/p&gt;  &lt;p align="justify"&gt;A rotina de que falamos hoje, mostrou-se de todas as que conheço, como a mais rápida e eficiente. Poderá ter algumas limitações, já que não resolve entidades que tenham múltiplos valores Z, como as 3D Polyline e 3Dfaces, mas no resto tem bom desempenho.&lt;/p&gt;  &lt;p align="justify"&gt;É conveniente que ao seleccionar as entidades a alterar, estas estejam isoladas ou separadas das entidades já com valores zero. Também é conveniente que a selecção seja efectuada na vista normal, ou seja de topo, vista em planta.&lt;/p&gt;  &lt;p align="justify"&gt;Para a compilação da rotina e seu carregamento, para quem não souber, deve seguir as seguintes instruções:&lt;a href="http://rotinasautolisp.blogspot.com/search/label/Como%20fazer%3F" target="_blank"&gt;Link&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;[&lt;a href="http://rotinaslisp.blogspot.com/2010/05/allzlsp-alterar-cotas-z-para-zero.html" target="_blank"&gt;&lt;strong&gt;Download&lt;/strong&gt;&lt;/a&gt;]&lt;/p&gt;  &lt;p align="justify"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;Often, especially when working with programs of topography, including text and contour lines, there is need to transform the coordinates with positive Z value to zero values. It is true that already have the Autocad eating Flatten Objects, in Menu Express / Modify, but it is also true that the process is time consuming and not always with satisfactory results.    &lt;br /&gt;The routine of which we speak today, was all that I know, as quickly and efficiently. You may have some limitations, since it does not resolve entities that have multiple Z values, such as 3D Polyline and 3DFACE, but otherwise performs well.     &lt;br /&gt;It is desirable that the selected entities to change, they are isolated or separated entities already with zero values. It is also desirable that the selection is carried out in normal view, in top view.     &lt;br /&gt;To compile the routine and its load, for those who do not know, should follow the following instructions: &lt;a href="http://rotinasautolisp.blogspot.com/search/label/Como%20fazer%3F" target="_blank"&gt;Link&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Sorry for the bad translation.&lt;/p&gt;  &lt;p&gt;[&lt;a href="http://rotinaslisp.blogspot.com/2010/05/allzlsp-alterar-cotas-z-para-zero.html" target="_blank"&gt;&lt;strong&gt;Download&lt;/strong&gt;&lt;/a&gt;]&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/643234548841412290-861598555797634947?l=rotinasautolisp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rotinasautolisp.blogspot.com/feeds/861598555797634947/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=643234548841412290&amp;postID=861598555797634947' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/861598555797634947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/861598555797634947'/><link rel='alternate' type='text/html' href='http://rotinasautolisp.blogspot.com/2010/04/allzlsp-tansformar-todas-as-coordenadas.html' title='ALLZ.lsp – Tansformar todas as coordenadas Z em elevação zero'/><author><name>.</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_tkYk5_Im5qM/S9cWMgvQoOI/AAAAAAAABI0/23FfB47iXFc/s72-c/autolisp_image_05_thumb%5B1%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643234548841412290.post-1348122621367442155</id><published>2010-04-21T17:17:00.001+01:00</published><updated>2010-04-21T17:17:56.841+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura'/><category scheme='http://www.blogger.com/atom/ns#' term='Documentos'/><title type='text'>Glossário de termos técnicos relacionados com a Arquitectura</title><content type='html'>&lt;div style="width: 425px; text-align: left"&gt;&lt;a title="Glossário de termos técnicos relacionados com Arquitectura e" style="display: block; margin: 12px 0px 3px; font: 14px helvetica,arial,sans-serif; color: #0000cc; text-decoration: underline" href="http://www.slideboom.com/presentations/50067/Gloss%C3%A1rio-de-termos-t%C3%A9cnicos-relacionados-com-Arquitectura-e"&gt;Glossário de termos técnicos relacionados com Arquitectura e&lt;/a&gt;&lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="425" height="370" id="onlinePlayer"&gt;&lt;param name="movie" value="http://www.slideboom.com/player/player.swf?id_resource=50067" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;param name="quality" value="high" /&gt;&lt;param name="bgcolor" value="#ffffff" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="flashVars" value="" /&gt;&lt;embed src="http://www.slideboom.com/player/player.swf?id_resource=50067" width="425" height="370" name="onlinePlayer" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" allowScriptAccess="always" quality="high" bgcolor="#ffffff" allowFullScreen="true" flashVars=""&gt;&lt;/embed&gt;&lt;/object&gt;    &lt;div style="font-size: 11px; padding-top: 2px; font-family: tahoma,arial; height: 26px"&gt;View &lt;a style="color: #0000cc" href="http://www.slideboom.com"&gt;more presentations&lt;/a&gt; or &lt;a style="color: #0000cc" href="http://www.slideboom.com/upload"&gt;Upload&lt;/a&gt; your own.&lt;/div&gt; &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/643234548841412290-1348122621367442155?l=rotinasautolisp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rotinasautolisp.blogspot.com/feeds/1348122621367442155/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=643234548841412290&amp;postID=1348122621367442155' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/1348122621367442155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/1348122621367442155'/><link rel='alternate' type='text/html' href='http://rotinasautolisp.blogspot.com/2010/04/glossario-de-termos-tecnicos.html' title='Glossário de termos técnicos relacionados com a Arquitectura'/><author><name>.</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643234548841412290.post-7693490606995936825</id><published>2010-03-11T15:57:00.001Z</published><updated>2011-04-11T11:38:04.645+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Letras'/><category scheme='http://www.blogger.com/atom/ns#' term='Texto'/><category scheme='http://www.blogger.com/atom/ns#' term='A'/><title type='text'>ADRL.lsp – Sequenciar letras</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_tkYk5_Im5qM/S5kS8XiDIjI/AAAAAAAABIo/FRIJV8ldAIU/s1600-h/autolisp_image_08%5B3%5D.jpg"&gt;&lt;img title="autolisp_image_08" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="105" alt="autolisp_image_08" src="http://lh4.ggpht.com/_tkYk5_Im5qM/S5kS9JHOQSI/AAAAAAAABIs/ZW87fYnpkkg/autolisp_image_08_thumb%5B1%5D.jpg?imgmax=800" width="454" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;&lt;strong&gt;&lt;a href="http://www.box.net/shared/lx3yqr2a6u"&gt;ADRL.lsp&lt;/a&gt;&lt;/strong&gt; é uma simples mas eficaz rotina que possibilita introduzir uma sequência de letras. Ideal para referenciar elementos como materiais, compartimentos, maquinarias, etc.&lt;/p&gt;  &lt;p align="justify"&gt;Deve introduzir o número de vezes que pretende sequenciar, o código ASCII-decimal correspondente à letra (65 para o “A” maiúsculo ou 97 para o “a” minúsculo)&amp;#160; inicial ou de partida, o incremento, que no caso deve ser positivo, bem como deve definir a altura do texto e da rotação. Nada mais simples.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;strong&gt;ADRL.lsp&lt;/strong&gt; is a simple but effective routine that allows to introduce a sequence of letters. Ideal for items such as reference materials, machinery, etc..     &lt;br /&gt;You must enter the number of times to sequence, the code ASCII-decimal corresponding to the letter (65 for the capital &amp;quot;A&amp;quot; or 97 to “a”&amp;#160; lower-case) or early departure, the increment, which in the case must be positive, and must set the text height and rotation. &lt;/p&gt;  &lt;p&gt;&lt;em&gt;Sorry for the poor translation, but is working at Google.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;;INÍCIO DO CÓDIGO   &lt;br /&gt;;&amp;#160;&amp;#160;&amp;#160; ADRL.LSP&amp;#160;&amp;#160; by: &lt;a href="http://rotinasautolisp.blogspot.com/"&gt;http://rotinasautolisp.blogspot.com/&lt;/a&gt;    &lt;br /&gt;;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;;    &lt;br /&gt;;&amp;#160;&amp;#160;&amp;#160; Esta rotina introduz sequencialmente    &lt;br /&gt;;&amp;#160;&amp;#160;&amp;#160; letras maiúsculas    &lt;br /&gt;;&amp;#160;&amp;#160;&amp;#160; do abcedário.Útil para identificar elementos    &lt;br /&gt;;&amp;#160;&amp;#160;&amp;#160; do desenho, por exemplo compartimentos    &lt;br /&gt;;&amp;#160;&amp;#160;&amp;#160; ou materiais.    &lt;br /&gt;;     &lt;br /&gt;;    &lt;br /&gt;(DEFUN C:ADRL ()    &lt;br /&gt;;    &lt;br /&gt;(ALERT &amp;quot;Esta rotina introduz sequencialmente letras maiúsculas do abcedário.Útil para identificar elementos do desenho, por exemplo compartimentos ou materiais&amp;quot;    &lt;br /&gt;)    &lt;br /&gt;(SETVAR &amp;quot;CMDECHO&amp;quot; 0)    &lt;br /&gt;(SETQ E (GETINT &amp;quot;\nIntroduza o número de repetições: &amp;quot;))    &lt;br /&gt;(SETQ N (GETINT &amp;quot;\nIntroduza o código correspondente à primeira letra - A = 65: &amp;quot;))    &lt;br /&gt;(SETQ I (GETINT &amp;quot;\nIntroduza o incremento: &amp;quot;))    &lt;br /&gt;(SETQ H (GETREAL &amp;quot;\nIntroduza a altura do texto: &amp;quot;))    &lt;br /&gt;(SETQ R (GETREAL &amp;quot;\nIntroduza a rotação do texto: &amp;quot;))    &lt;br /&gt;;    &lt;br /&gt;(repeat&amp;#160; E    &lt;br /&gt;(SETQ INPT (GETPOINT &amp;quot;\nIntroduza o ponto de inserção: &amp;quot;))    &lt;br /&gt;(SETQ NN (CHR N))    &lt;br /&gt;(COMMAND &amp;quot;TEXT&amp;quot; INPT H R NN)    &lt;br /&gt;(SETQ N(+ N I))    &lt;br /&gt;)    &lt;br /&gt;;    &lt;br /&gt;)    &lt;br /&gt;;FIM DO CÓDIGO&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/643234548841412290-7693490606995936825?l=rotinasautolisp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rotinasautolisp.blogspot.com/feeds/7693490606995936825/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=643234548841412290&amp;postID=7693490606995936825' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/7693490606995936825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/7693490606995936825'/><link rel='alternate' type='text/html' href='http://rotinasautolisp.blogspot.com/2010/03/adrllsp-sequenciar-letras.html' title='ADRL.lsp – Sequenciar letras'/><author><name>.</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_tkYk5_Im5qM/S5kS9JHOQSI/AAAAAAAABIs/ZW87fYnpkkg/s72-c/autolisp_image_08_thumb%5B1%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643234548841412290.post-3622793212334735136</id><published>2010-03-11T15:43:00.001Z</published><updated>2011-04-11T11:41:04.344+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Números'/><category scheme='http://www.blogger.com/atom/ns#' term='A'/><title type='text'>ADRN.lsp – Sequenciar números</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_tkYk5_Im5qM/S5kPij54azI/AAAAAAAABIg/I8Gv5Thg9bg/s1600-h/autolisp_image_03%5B3%5D.jpg"&gt;&lt;img title="autolisp_image_03" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="128" alt="autolisp_image_03" src="http://lh3.ggpht.com/_tkYk5_Im5qM/S5kPjVnkAWI/AAAAAAAABIk/h2Re--8sPkw/autolisp_image_03_thumb%5B1%5D.jpg?imgmax=800" width="454" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;strong&gt;ADRN.lsp&lt;/strong&gt; é uma simples mas eficaz rotina que possibilita introduzir uma sequência de números. Ideal para referenciar elementos como materiais, compartimentos, maquinarias, etc.&lt;/p&gt;  &lt;p align="justify"&gt;Deve introduzir o número de vezes que pretende numerar, o número inicial ou de partida, o incremento, que pode ser positivo oun egativo, mas um valor inteiro, bem como deve definir a altura do texto e da rotação. Nada mais simples.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;strong&gt;ADRN.lsp&lt;/strong&gt; is a simple but effective routine that allows to introduce a sequence of numbers. Ideal for items such as reference materials, machinery, etc..     &lt;br /&gt;You must enter the number of times you want to number the original number or departure, the increment, which may be positive oun egate, but an integer value, and should set the text height and rotation.&amp;#160; &lt;/p&gt;  &lt;p&gt;Sorry for the poor translation, but is working at Google.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;;INÍCIO DO CÓDIGO   &lt;br /&gt;;&amp;#160;&amp;#160;&amp;#160; ADRN.LSP&amp;#160;&amp;#160; by: &lt;a href="http://rotinasautolisp.blogspot.com/"&gt;http://rotinasautolisp.blogspot.com/&lt;/a&gt;    &lt;br /&gt;;    &lt;br /&gt;;&amp;#160;&amp;#160;&amp;#160; Esta rotina permite introduzir uma sequência de números. Pode atribuir um incremento, positivo ou     &lt;br /&gt;;&amp;#160;&amp;#160;&amp;#160; negativo. Ideal para identificar ou numerar elementos, por exemplos, compartimentos, materiais,&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;;&amp;#160;&amp;#160;&amp;#160; maquinaria, etc.    &lt;br /&gt;;    &lt;br /&gt;;    &lt;br /&gt;(DEFUN C:ADRN ()    &lt;br /&gt;;    &lt;br /&gt;(SETVAR &amp;quot;CMDECHO&amp;quot; 0)    &lt;br /&gt;(SETQ E (GETINT &amp;quot;\nIntroduzir o # de repetições: &amp;quot;))    &lt;br /&gt;(SETQ N (GETINT &amp;quot;\nIntroduzir o número de partida: &amp;quot;))    &lt;br /&gt;(SETQ I (GETINT &amp;quot;\nIntroduzir valor do incremento (número inteiro): &amp;quot;))    &lt;br /&gt;(SETQ H (GETREAL &amp;quot;\nINtroduzir valor da altura do texto: &amp;quot;))    &lt;br /&gt;(SETQ R (GETREAL &amp;quot;\nIntroduzir valor da rotação do texto: &amp;quot;))    &lt;br /&gt;;    &lt;br /&gt;(repeat&amp;#160; E    &lt;br /&gt;(SETQ INPT (GETPOINT &amp;quot;\nPonto de inserção: &amp;quot;))    &lt;br /&gt;(COMMAND &amp;quot;TEXT&amp;quot; INPT H R N)    &lt;br /&gt;(SETQ N(+ N I))    &lt;br /&gt;)    &lt;br /&gt;;    &lt;br /&gt;)    &lt;br /&gt;;FIM DO CÓDIGO&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/643234548841412290-3622793212334735136?l=rotinasautolisp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rotinasautolisp.blogspot.com/feeds/3622793212334735136/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=643234548841412290&amp;postID=3622793212334735136' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/3622793212334735136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/3622793212334735136'/><link rel='alternate' type='text/html' href='http://rotinasautolisp.blogspot.com/2010/03/adrnlsp-sequenciar-numeros.html' title='ADRN.lsp – Sequenciar números'/><author><name>.</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_tkYk5_Im5qM/S5kPjVnkAWI/AAAAAAAABIk/h2Re--8sPkw/s72-c/autolisp_image_03_thumb%5B1%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643234548841412290.post-9135456395622943991</id><published>2009-10-21T10:24:00.001+01:00</published><updated>2010-05-13T11:33:48.952+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='T'/><category scheme='http://www.blogger.com/atom/ns#' term='Calcular'/><category scheme='http://www.blogger.com/atom/ns#' term='Medições'/><title type='text'>Totlen.lsp – Medir comprimentos</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_tkYk5_Im5qM/St7TS6a6lJI/AAAAAAAABHs/LEE1YgSMU3g/s1600-h/autolisp_image_02%5B3%5D.jpg"&gt;&lt;img title="autolisp_image_02" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="130" alt="autolisp_image_02" src="http://lh4.ggpht.com/_tkYk5_Im5qM/St7TTLblnsI/AAAAAAAABHw/8lljDtfLnh0/autolisp_image_02_thumb%5B1%5D.jpg?imgmax=800" width="454" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;&lt;strong&gt;Totlen&lt;/strong&gt; é uma rotina autolisp que facilita a quantificação dos comprimentos de várias entidades como linhas curvas e polylines. Apenas não mede círculos fechados. A mais valia da rotina está no valor total que pode ser obtido seleccionando-se as diferentes entidadades em simultâneo. Por exemplo: Para medir guias de passeio. Basta uma boa utilização das layers e da rotina e tudo fica simples.&lt;/p&gt;  &lt;p align="justify"&gt;Totlen is an AutoLISP routine that facilitates the quantification of the lengths of various entities such as lines and polylines. Just do not measure closed circles. The added value of the routine is the total amount that can be obtained by selecting the different entidadades simultaneously. For example: To measure walking guides. Just a good use of layers and the routine and everything is simple.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Sorry for the poor translation, but is working at Google.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Download: &lt;a href="http://www.google.pt/url?sa=t&amp;amp;source=web&amp;amp;ct=res&amp;amp;cd=3&amp;amp;ved=0CBUQFjAC&amp;amp;url=http%3A%2F%2Fwww.spaug.org%2FPublic_Files%2FAutoLISP%2FTotlen.Lsp&amp;amp;rct=j&amp;amp;q=totlen.lsp&amp;amp;ei=ltDeSvSnNMy2jAf-soylBg&amp;amp;usg=AFQjCNG6jF0KZIk7FaN4D02NicJpSrvfbQ&amp;amp;sig2=sgWmPY44Z_SzU_uc_4NzNw" target="_blank"&gt;Link&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;[&lt;a href="http://rotinaslisp.blogspot.com/2010/05/totlenlsp-medir-comprimentos.html" target="_blank"&gt;Código/Code&lt;/a&gt;]&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/643234548841412290-9135456395622943991?l=rotinasautolisp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rotinasautolisp.blogspot.com/feeds/9135456395622943991/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=643234548841412290&amp;postID=9135456395622943991' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/9135456395622943991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/9135456395622943991'/><link rel='alternate' type='text/html' href='http://rotinasautolisp.blogspot.com/2009/10/totlenlsp-medir-comprimentos.html' title='Totlen.lsp – Medir comprimentos'/><author><name>.</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_tkYk5_Im5qM/St7TTLblnsI/AAAAAAAABHw/8lljDtfLnh0/s72-c/autolisp_image_02_thumb%5B1%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643234548841412290.post-4015564960443230595</id><published>2009-09-08T17:46:00.001+01:00</published><updated>2011-04-11T11:42:55.472+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rotinas AutoLisp'/><category scheme='http://www.blogger.com/atom/ns#' term='T'/><category scheme='http://www.blogger.com/atom/ns#' term='AutoCAD'/><category scheme='http://www.blogger.com/atom/ns#' term='Lisp'/><category scheme='http://www.blogger.com/atom/ns#' term='AutoLisp'/><category scheme='http://www.blogger.com/atom/ns#' term='Texto'/><category scheme='http://www.blogger.com/atom/ns#' term='Rotinas LISP'/><title type='text'>TXTANG – Rotina AutoLisp</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_tkYk5_Im5qM/SqaKSpuBgwI/AAAAAAAABHk/xuyISVsUx5M/s1600-h/txtang%5B3%5D.jpg"&gt;&lt;img title="txtang" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="407" alt="txtang" src="http://lh4.ggpht.com/_tkYk5_Im5qM/SqaKTG8tgqI/AAAAAAAABHo/mW5mZ-TsPY4/txtang_thumb%5B1%5D.jpg?imgmax=800" width="454" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;TXTANG é uma simples rotina AutoLisp que permite de modo fácil alinhar uma entidade texto com o alinhamento de outra entidade. Tem utilidade sobretudo quando se pretendem ângulos desconhecidos.&lt;/p&gt;  &lt;p align="justify"&gt;Depois do comando, é pedido para seleccionar a entidade texto a alinhar e de seguida dois pontos da entidade referência, por exemplo uma linha. Nada mais fácil.&lt;/p&gt;  &lt;p align="justify"&gt;TXTANG is a simple routine that allows AutoLisp so easy to align one entity with the text alignment of another entity. Is useful especially when you want unknown angles.    &lt;br /&gt;After the command is prompted to select the body text to align and then two points of the reference entity, such a line. Nothing easier.&lt;/p&gt;  &lt;p&gt;Nome do ficheiro: TXTANG.lsp&lt;/p&gt;  &lt;p&gt;Comando: TXTANG&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;;Início do Código   &lt;br /&gt;;********* rotina desenvolvida por &lt;a href="http://rotinasautolisp.blogspot.com/"&gt;http://rotinasautolisp.blogspot.com/&lt;/a&gt; - 05/03/2004    &lt;br /&gt;;    &lt;br /&gt;;    &lt;br /&gt;(defun c:txtang (/ a ht n i b1 b c d b2)    &lt;br /&gt;(prompt &amp;quot;\nA ROTINA QUE ALINHA TEXTOS POR DOIS PONTOS&amp;quot;)    &lt;br /&gt;(setvar &amp;quot;cmdecho&amp;quot; 0)    &lt;br /&gt;(setq a (ssget))    &lt;br /&gt;(setq ht (getangle &amp;quot;\nDEFINIÇÃO DO ÂNGULO: &amp;quot;))    &lt;br /&gt;(setq n (sslength a))    &lt;br /&gt;(setq i 0)    &lt;br /&gt;(repeat n    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq b1 (entget (ssname a i)))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq i (1+ i))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq c (assoc 50 b1))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq d (cons (car c) ht))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq b2 (subst d c b1))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (entmod b2)    &lt;br /&gt;)    &lt;br /&gt;(princ &amp;quot;copyright: &lt;a href="http://rotinasautolisp.blogspot.com/&amp;quot;)"&gt;http://rotinasautolisp.blogspot.com/&amp;quot;)&lt;/a&gt;    &lt;br /&gt;(PRINC)    &lt;br /&gt;)    &lt;br /&gt;;Fim do Código&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/643234548841412290-4015564960443230595?l=rotinasautolisp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rotinasautolisp.blogspot.com/feeds/4015564960443230595/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=643234548841412290&amp;postID=4015564960443230595' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/4015564960443230595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/4015564960443230595'/><link rel='alternate' type='text/html' href='http://rotinasautolisp.blogspot.com/2009/09/txtang-rotina-autolisp.html' title='TXTANG – Rotina AutoLisp'/><author><name>.</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_tkYk5_Im5qM/SqaKTG8tgqI/AAAAAAAABHo/mW5mZ-TsPY4/s72-c/txtang_thumb%5B1%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643234548841412290.post-5677950948060802384</id><published>2008-12-16T18:24:00.001Z</published><updated>2008-12-16T18:24:57.268Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rotinas AutoLisp'/><category scheme='http://www.blogger.com/atom/ns#' term='Truques e Dicas'/><category scheme='http://www.blogger.com/atom/ns#' term='Sítios'/><category scheme='http://www.blogger.com/atom/ns#' term='AutoCAD'/><category scheme='http://www.blogger.com/atom/ns#' term='AutoLisp'/><category scheme='http://www.blogger.com/atom/ns#' term='Tutoriais'/><category scheme='http://www.blogger.com/atom/ns#' term='Blocos AutoCad'/><category scheme='http://www.blogger.com/atom/ns#' term='Rotinas LISP'/><title type='text'>Draftsperson.net</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.draftsperson.net/"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="72" alt="image" src="http://lh5.ggpht.com/_tkYk5_Im5qM/SUfyd-saMDI/AAAAAAAABE4/Ukj7-hKwkh8/image%5B4%5D.png?imgmax=800" width="454" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;a href="http://www.draftsperson.net/" target="_blank"&gt;Draftsperson.net&lt;/a&gt;&lt;/strong&gt; &amp;#233; um s&amp;#237;tio interessante, repleto de assuntos de interesse, nomeadamente &lt;a href="http://www.draftsperson.net/index.php?title=Category:AutoCAD_Tutorials" target="_blank"&gt;tutoriais&lt;/a&gt; sobre programa&amp;#231;&amp;#227;o em AutoLisp, &lt;a href="http://www.draftsperson.net/index.php?title=Free_AutoCAD_Programs_and_Lisp_routines" target="_blank"&gt;rotinas AutoLisp&lt;/a&gt;, &lt;a href="http://www.draftsperson.net/index.php?title=Draftsperson.net:AutoCAD_Tips_N_Tricks" target="_blank"&gt;truques e dicas&lt;/a&gt;, &lt;a href="http://www.draftsperson.net/index.php?title=Draftsperson.net:Free_AutoCAD_Blocks" target="_blank"&gt;blocos&lt;/a&gt; e muito mais. Vale a pena passar por l&amp;#225;.&lt;/p&gt;  &lt;p&gt;- &lt;a href="http://www.draftsperson.net/"&gt;URL&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/643234548841412290-5677950948060802384?l=rotinasautolisp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rotinasautolisp.blogspot.com/feeds/5677950948060802384/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=643234548841412290&amp;postID=5677950948060802384' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/5677950948060802384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/5677950948060802384'/><link rel='alternate' type='text/html' href='http://rotinasautolisp.blogspot.com/2008/12/draftspersonnet.html' title='Draftsperson.net'/><author><name>.</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_tkYk5_Im5qM/SUfyd-saMDI/AAAAAAAABE4/Ukj7-hKwkh8/s72-c/image%5B4%5D.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643234548841412290.post-3064747265617662038</id><published>2008-12-16T18:12:00.001Z</published><updated>2011-04-11T11:45:52.578+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rotinas AutoLisp'/><category scheme='http://www.blogger.com/atom/ns#' term='Autodesk'/><category scheme='http://www.blogger.com/atom/ns#' term='AutoCAD'/><category scheme='http://www.blogger.com/atom/ns#' term='Lisp'/><category scheme='http://www.blogger.com/atom/ns#' term='AutoLisp'/><category scheme='http://www.blogger.com/atom/ns#' term='Texto'/><category scheme='http://www.blogger.com/atom/ns#' term='Rotinas LISP'/><category scheme='http://www.blogger.com/atom/ns#' term='R'/><title type='text'>RESPACE - Rotina Autolisp</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_tkYk5_Im5qM/SUfvmiR0SkI/AAAAAAAABEw/U2KK8tVcgcQ/s1600-h/image%5B3%5D.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="98" alt="image" src="http://lh5.ggpht.com/_tkYk5_Im5qM/SUfvnrDDCVI/AAAAAAAABE0/XfS-RZWG6fM/image_thumb%5B1%5D.png?imgmax=800" width="454" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;RESPACE é uma interessante e útil rotina que permite seleccionar um conjunto de linhas de texto e espaçar as mesmas de forma equidistante, usando-se um valor que pode ser inserido pelo teclado ou picando dois pontos com o mouse. O espaçamento e alinhamento à esquerda é realizado mesmo para textos dispersos.&lt;/p&gt;  &lt;p align="justify"&gt;Os textos podem ser seleccionados simultaneamente por janela mas deve ter em atenção a ordem que pretende para cada linha pelo que nesta situação será conveniente seleccionar linha a linha.&lt;/p&gt;  &lt;p&gt;Nome do ficheiro: RESPACE.lsp&lt;/p&gt;  &lt;p&gt;Comando: &lt;strong&gt;RSP&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;(princ &amp;quot;\nRe-space (RS)&amp;#160; Version 2.0&amp;#160; 4-13-91&amp;#160; by Jon Shapiro&amp;quot;)   &lt;br /&gt;;    &lt;br /&gt;;This program will take a series of text strings, selected individually    &lt;br /&gt;;and in sequence, and revise the spacing between each line.&amp;#160; This    &lt;br /&gt;;should be especially useful after running a lisp routine to revise the    &lt;br /&gt;;height of a group of text entities.&amp;#160; Each entity would need to have it's    &lt;br /&gt;;insert point shifted in accordance with the new text height.    &lt;br /&gt;;    &lt;br /&gt;;Version 2.0 has been improved to handle other types of text justification    &lt;br /&gt;;modes in addition to left justified (i.e. right, middle). &lt;/p&gt;  &lt;p&gt;;----------------------------------   &lt;br /&gt;;Error handler    &lt;br /&gt;(defun MYERR (MSG)    &lt;br /&gt;&amp;#160;&amp;#160; (if (and (/= MSG &amp;quot;Function cancelled&amp;quot;) (/= MSG &amp;quot;console break&amp;quot;))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (progn    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (princ &amp;quot;\nError: &amp;quot;)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (princ MSG)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; )    &lt;br /&gt;&amp;#160;&amp;#160; )    &lt;br /&gt;&amp;#160;&amp;#160; (setq *error* OLDER)    &lt;br /&gt;&amp;#160;&amp;#160; (setvar &amp;quot;cmdecho&amp;quot; 1)    &lt;br /&gt;&amp;#160;&amp;#160; (princ)    &lt;br /&gt;)    &lt;br /&gt;;---------------------------    &lt;br /&gt;;    &lt;br /&gt;(defun c:rsp (/ older tmpdis ss sslen ctr ent txtrot just code inspt    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; xpt ypt entlis tdisp x y pt theta)    &lt;br /&gt;&amp;#160;&amp;#160; (setvar &amp;quot;cmdecho&amp;quot; 0)    &lt;br /&gt;&amp;#160;&amp;#160; (command &amp;quot;.undo&amp;quot; &amp;quot;m&amp;quot;)    &lt;br /&gt;&amp;#160;&amp;#160; (setq older *error*    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; *error* myerr    &lt;br /&gt;&amp;#160;&amp;#160; )    &lt;br /&gt;&amp;#160;&amp;#160; (initget (+ 1 2 4)) ;disallow negative and zero responses    &lt;br /&gt;&amp;#160;&amp;#160; (if (= dis nil)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (progn    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (initget (+ 1 2 4)) ;disallow nul negative and zero responses    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq dis (getdist &amp;quot;\nDistance between text strings: &amp;quot;))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; )    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (progn    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (initget (+ 2 4)) ;disallow negative and zero responses    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq tmpdis dis    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; dis (getdist (strcat &amp;quot;\nDistance between text strings &amp;lt;&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (rtos dis) &amp;quot;&amp;gt;: &amp;quot; )    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; )    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; );close setq    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (if (= dis nil)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq dis tmpdis)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; )    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; );close progn    &lt;br /&gt;&amp;#160;&amp;#160; );close if    &lt;br /&gt;&amp;#160;&amp;#160; (princ &amp;quot;\nSelect text strings to respace in sequence: &amp;quot;)    &lt;br /&gt;&amp;#160;&amp;#160; (setq ss (ssget)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; sslen (sslength ss)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ctr 0&amp;#160; ;initialize counter    &lt;br /&gt;&amp;#160;&amp;#160; );close setq    &lt;br /&gt;&amp;#160;&amp;#160; (while (and (/= ss nil) (&amp;gt;= sslen 0) (&amp;lt; ctr sslen))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq ent (ssname ss ctr))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (if (= ctr 0)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (progn    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq txtrot (cdr (assoc 50 (entget ent)))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; just (cdr (assoc 72 (entget ent)))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; )    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (if (&amp;gt; just 0)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq code 11)&amp;#160;&amp;#160;&amp;#160; ;non-left justified    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq code 10)&amp;#160;&amp;#160;&amp;#160; ;left justified    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; )    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq inspt (cdr (assoc code (entget ent)))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; xpt (car inspt)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ypt (cadr inspt)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; );close setq    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; );close progn    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (progn    &lt;br /&gt;;------------------------------------------------------------------------    &lt;br /&gt;;lets take different action depending on rotation angle of text entities    &lt;br /&gt;;------------------------------------------------------------------------ &lt;/p&gt;  &lt;p&gt;;---------------------------------------------------   &lt;br /&gt;;Lets also check text justification mode.    &lt;br /&gt;;We should use group code 10 for left justified    &lt;br /&gt;;text.&amp;#160; All others we should use group code 11    &lt;br /&gt;;this will maintain justification    &lt;br /&gt;;--------------------------------------------------- &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (cond   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (&amp;#160;&amp;#160; (&amp;lt; txtrot (* 0.5 pi))&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;if rotation angle &amp;lt;90 deg    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq entlis (entget ent)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; just (cdr (assoc 72 entlis))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; )    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (if (&amp;gt; just 0)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq code 11)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq code 10)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; )    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq tdisp (* ctr dis)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; x (+ xpt (* tdisp (sin txtrot)))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; y (- ypt (* tdisp (cos txtrot)))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; pt (list x y)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; entlis (subst (cons code pt) (assoc code entlis) entlis)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; );close setq    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (entmod entlis)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; );close 1st cond &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (&amp;#160;&amp;#160; (and (&amp;lt; txtrot pi) (&amp;gt;= txtrot (* 0.5 pi))) ;if rotation angle &amp;lt;180 &amp;amp; &amp;gt;= 90 deg   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq entlis (entget ent)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; theta (- txtrot (* 0.5 pi))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; tdisp (* ctr dis)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; x (+ xpt (* tdisp (cos theta)))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; y (+ ypt (* tdisp (sin theta)))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; pt (list x y)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; entlis (subst (cons code pt) (assoc code entlis) entlis)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; );close setq    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (entmod entlis)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; );close 2nd cond &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (&amp;#160;&amp;#160; (and (&amp;lt; txtrot (* 1.5 pi)) (&amp;gt;= txtrot pi)) ;if rot angle &amp;lt;270 &amp;amp; &amp;gt;= 180 deg   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq entlis (entget ent)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; theta (- txtrot pi)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; tdisp (* ctr dis)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; x (- xpt (* tdisp (sin theta)))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; y (+ ypt (* tdisp (cos theta)))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; pt (list x y)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; entlis (subst (cons code pt) (assoc code entlis) entlis)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; );close setq    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (entmod entlis)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; );close 3rd cond &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (&amp;#160;&amp;#160; (and (&amp;lt; txtrot (* 2.0 pi)) (&amp;gt;= txtrot (* 1.5 pi))) ;if rot angle &amp;lt;360 &amp;amp; &amp;gt;= 270 deg   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq entlis (entget ent)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; theta (- txtrot (* 1.5 pi))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; tdisp (* ctr dis)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; x (- xpt (* tdisp (cos theta)))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; y (- ypt (* tdisp (sin theta)))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; pt (list x y)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; entlis (subst (cons code pt) (assoc code entlis) entlis)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; );close setq    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (entmod entlis)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; );close 4th cond    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; );close cond text rotation angles    &lt;br /&gt;;-------------------------------------------------------------------------    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; );close progn    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; );close if    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq ctr (1+ ctr))&amp;#160; ;increment counter    &lt;br /&gt;&amp;#160;&amp;#160; );close while    &lt;br /&gt;&amp;#160;&amp;#160; (setvar &amp;quot;cmdecho&amp;quot; 1)    &lt;br /&gt;&amp;#160;&amp;#160; (setq *error* older)    &lt;br /&gt;&amp;#160;&amp;#160; (princ);quiet exit    &lt;br /&gt;);close defun respace    &lt;br /&gt;(princ);quiet load    &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/643234548841412290-3064747265617662038?l=rotinasautolisp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rotinasautolisp.blogspot.com/feeds/3064747265617662038/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=643234548841412290&amp;postID=3064747265617662038' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/3064747265617662038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/3064747265617662038'/><link rel='alternate' type='text/html' href='http://rotinasautolisp.blogspot.com/2008/12/respace-rotina-autolisp.html' title='RESPACE - Rotina Autolisp'/><author><name>.</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_tkYk5_Im5qM/SUfvnrDDCVI/AAAAAAAABE0/XfS-RZWG6fM/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643234548841412290.post-2249601837093584537</id><published>2008-12-16T17:49:00.001Z</published><updated>2011-04-11T11:47:10.362+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rotinas AutoLisp'/><category scheme='http://www.blogger.com/atom/ns#' term='Autodesk'/><category scheme='http://www.blogger.com/atom/ns#' term='T'/><category scheme='http://www.blogger.com/atom/ns#' term='AutoCAD'/><category scheme='http://www.blogger.com/atom/ns#' term='Lisp'/><category scheme='http://www.blogger.com/atom/ns#' term='AutoLisp'/><category scheme='http://www.blogger.com/atom/ns#' term='Importar/Exportar'/><category scheme='http://www.blogger.com/atom/ns#' term='Texto'/><category scheme='http://www.blogger.com/atom/ns#' term='Rotinas LISP'/><category scheme='http://www.blogger.com/atom/ns#' term='Editar'/><title type='text'>TXOUT.lsp - Rotina AutoLisp</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_tkYk5_Im5qM/SUfqEq5y__I/AAAAAAAABEo/AUMg3al1U9w/s1600-h/image%5B3%5D.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="105" alt="image" src="http://lh4.ggpht.com/_tkYk5_Im5qM/SUfqFxR1m7I/AAAAAAAABEs/mG5bkwhSIkk/image_thumb%5B1%5D.png?imgmax=800" width="454" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;TXOUT é uma rotina AutoLisp que permite de forma fácil exportar texto de um ficheiro de AutoCad (DWG) para um documento do Notepad. O ficheiro .txt é guardado automaticamente no directório onde se encontra o ficheiro DWG.&lt;/p&gt;  &lt;p align="justify"&gt;No caso do ficheiro DWG ser novo e ainda não estar gravado, em princípio o ficheiro .txt seguirá para a pasta Os Meus Documentos.&lt;/p&gt;  &lt;p align="justify"&gt;Depois de accionado o comando, deve-se seleccionar o texto que se pretende exportar, sendo de seguida solicitado o nome que pretende dar ao ficheiro.&lt;/p&gt;  &lt;p align="justify"&gt;O texto a exportar pode ser seleccionado por janela ou picando linha a linha. Esta segunda opção é a ideal para colocar as linhas de texto segundo uma ordem desejada.&lt;/p&gt;  &lt;p align="justify"&gt;Esta rotina é extremamente útil quando se pretende aproveitar textos inseridos para elaboração de outros documentos escritos, nomeadamente no Word.&lt;/p&gt;  &lt;p align="justify"&gt;Comando: &lt;strong&gt;TXOUT&lt;/strong&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;;===========================================   &lt;br /&gt;;    &lt;br /&gt;;&amp;#160;&amp;#160;&amp;#160; Rotina copiada do Autodesk Discussion Group    &lt;br /&gt;;&amp;#160;&amp;#160;&amp;#160; Outubro 2006    &lt;br /&gt;;    &lt;br /&gt;;&amp;#160;&amp;#160;&amp;#160; Esta rotina permite copiar de forma fácil, textos inseridos no    &lt;br /&gt;;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ficheiro DWG para um ficheiro de texto no NotePad    &lt;br /&gt;;&amp;#160;&amp;#160;&amp;#160; O ficheiro .txt é gravado no directório de origem do ficheiro DWG    &lt;br /&gt;;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;;    &lt;br /&gt;;==========================================    &lt;br /&gt;(defun c:TXOUT (/ elist en fn fname i ss txt)    &lt;br /&gt;(setvar &amp;quot;cmdecho&amp;quot; 0)    &lt;br /&gt;(prompt &amp;quot;\n* Text file written to directory of current drawing *&amp;quot;)    &lt;br /&gt;(if (setq ss (ssget (list (cons 0 &amp;quot;TEXT&amp;quot;))))    &lt;br /&gt;(progn (setq fname (getstring &amp;quot;\n* Enter text file name: &amp;quot;))    &lt;br /&gt;(if (= fname &amp;quot;&amp;quot;)    &lt;br /&gt;(setq fname (substr (getvar &amp;quot;dwgname&amp;quot;) 1 (- (strlen (getvar     &lt;br /&gt;&amp;quot;dwgname&amp;quot;)) 4))))    &lt;br /&gt;(setq fn (open (strcat (getvar &amp;quot;dwgprefix&amp;quot;) fname &amp;quot;.txt&amp;quot;) &amp;quot;w&amp;quot;))    &lt;br /&gt;(setq i -1)    &lt;br /&gt;(repeat (sslength ss)    &lt;br /&gt;(setq i (1+ i))    &lt;br /&gt;(setq en (ssname ss i)    &lt;br /&gt;elist (entget en)    &lt;br /&gt;txt (cdr (assoc 1 elist)))    &lt;br /&gt;(write-line txt fn))    &lt;br /&gt;(close fn)))    &lt;br /&gt;(princ (strcat &amp;quot;\n* Text file &amp;quot; (getvar &amp;quot;dwgprefix&amp;quot;) fname &amp;quot; has been     &lt;br /&gt;created *&amp;quot;))    &lt;br /&gt;(setvar &amp;quot;cmdecho&amp;quot; 1) &lt;/p&gt;  &lt;p&gt;(setq fn (strcat (getvar &amp;quot;dwgprefix&amp;quot;) fname &amp;quot;.txt&amp;quot;))   &lt;br /&gt;(startapp (strcat &amp;quot;Notepad &amp;quot; (chr 34) fn (chr 34)))     &lt;br /&gt;(princ))&lt;/p&gt; ;===========================================    &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/643234548841412290-2249601837093584537?l=rotinasautolisp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rotinasautolisp.blogspot.com/feeds/2249601837093584537/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=643234548841412290&amp;postID=2249601837093584537' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/2249601837093584537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/2249601837093584537'/><link rel='alternate' type='text/html' href='http://rotinasautolisp.blogspot.com/2008/12/txoutlsp-rotina-autolisp.html' title='TXOUT.lsp - Rotina AutoLisp'/><author><name>.</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_tkYk5_Im5qM/SUfqFxR1m7I/AAAAAAAABEs/mG5bkwhSIkk/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643234548841412290.post-7897232533990175408</id><published>2008-09-16T16:31:00.001+01:00</published><updated>2011-06-30T17:02:26.250+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rotinas AutoLisp'/><category scheme='http://www.blogger.com/atom/ns#' term='Rorinas AutoLISP'/><category scheme='http://www.blogger.com/atom/ns#' term='Números'/><category scheme='http://www.blogger.com/atom/ns#' term='N'/><category scheme='http://www.blogger.com/atom/ns#' term='AutoLisp'/><category scheme='http://www.blogger.com/atom/ns#' term='Rotinas LISP'/><category scheme='http://www.blogger.com/atom/ns#' term='Editar'/><title type='text'>NCIR.lsp - Rotina AutoLISP</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/teknomatika/SM_ROWgPSnI/AAAAAAAAAsw/_wiWC8Y92QU/s1600-h/autolisp_image_10%5B3%5D.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="137" alt="autolisp_image_10" src="http://lh4.ggpht.com/teknomatika/SM_RPK0QNjI/AAAAAAAAAs0/_DO5V1NN-Xc/autolisp_image_10_thumb%5B1%5D.jpg?imgmax=800" width="454" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;Esta simples rotina permite introduzir sequências de números dentro de círculos (bolhas).&lt;/p&gt;  &lt;p align="justify"&gt;É deveras útil para numerar elementos como materiais, equipamentos, etç.&lt;/p&gt;  &lt;p align="justify"&gt;Para cada número deve ser chamada a rotina. Se não se alterar o respectivo número, os mesmos são inseridos de forma sequencial.&lt;/p&gt;  &lt;p align="justify"&gt;Para alterar o tamanho do círculo/texto, deve-se previamente alterar o valor da variável DIMSCALE.&lt;/p&gt;  &lt;p align="justify"&gt;A rotina cria uma layer própria, chamada &amp;quot;Bolhas_Anotacoes&amp;quot;, bem como faz dela a layer corrente. Editando ou apagando as respectivas linhas de código é possível alterar ou apagar esta situação.&lt;/p&gt;  &lt;p align="justify"&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Autor: &lt;a href="http://www.rotinasautolisp.blogspot.com"&gt;www.rotinasautolisp.blogspot.com&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Comando: NCIR&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://rotinaslisp.blogspot.com/2011/06/ncirlsp.html" target="_blank"&gt;DOWNLOAD&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/643234548841412290-7897232533990175408?l=rotinasautolisp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rotinasautolisp.blogspot.com/feeds/7897232533990175408/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=643234548841412290&amp;postID=7897232533990175408' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/7897232533990175408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/7897232533990175408'/><link rel='alternate' type='text/html' href='http://rotinasautolisp.blogspot.com/2008/09/ncirlsp-rotina-autolisp.html' title='NCIR.lsp - Rotina AutoLISP'/><author><name>.</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/teknomatika/SM_RPK0QNjI/AAAAAAAAAs0/_DO5V1NN-Xc/s72-c/autolisp_image_10_thumb%5B1%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643234548841412290.post-6291229132446200635</id><published>2008-09-04T10:25:00.001+01:00</published><updated>2008-09-04T10:25:07.782+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rotinas AutoLisp'/><category scheme='http://www.blogger.com/atom/ns#' term='T'/><category scheme='http://www.blogger.com/atom/ns#' term='Números'/><category scheme='http://www.blogger.com/atom/ns#' term='Modificar'/><category scheme='http://www.blogger.com/atom/ns#' term='Lisp'/><category scheme='http://www.blogger.com/atom/ns#' term='Rotinas LISP'/><category scheme='http://www.blogger.com/atom/ns#' term='Editar'/><title type='text'>TXTS.lsp - Rotina AutoLisp</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/teknomatika/SL-pcFt9bSI/AAAAAAAAAsY/jdCRFc70cdA/s1600-h/autolisp_image_09%5B3%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="229" alt="autolisp_image_09" src="http://lh3.ggpht.com/teknomatika/SL-pcnV9NNI/AAAAAAAAAsc/FZ6sYhFaAi8/autolisp_image_09_thumb%5B1%5D.jpg?imgmax=800" width="454" border="0" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;Esta simples rotina permite somar valores num&amp;#233;ricos.   &lt;br /&gt;Para o efeito deve seleccionar os n&amp;#250;meros que pretende somar, podendo faz&amp;#234;-lo de forma m&amp;#250;ltipla, por janela, ou picando individualmente cada entidade. Finalmente, deve picar num n&amp;#250;mero que dever&amp;#225; estar reservado para o total, o qual ser&amp;#225; actualizado em fun&amp;#231;&amp;#227;o da soma.    &lt;br /&gt;Esta rotina &amp;#233; particularmente &amp;#250;til para soma de valores em tabelas.&lt;/p&gt;  &lt;p align="justify"&gt;Nota: No caso de somar valores com casas decimais, o separador deve ser ponto e n&amp;#227;o v&amp;#237;rgula. Pode controlar o n&amp;#250;mero de casas decimais alterando o valor da vari&amp;#225;vel de sistema LUPREC.&lt;/p&gt;  &lt;p align="justify"&gt;Comando: TXTS&lt;/p&gt;  &lt;p align="justify"&gt;(&lt;a href="http://www.box.net/shared/cn0iptv9a4" target="_blank"&gt;download&lt;/a&gt;)&lt;/p&gt;  &lt;p align="justify"&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/643234548841412290-6291229132446200635?l=rotinasautolisp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rotinasautolisp.blogspot.com/feeds/6291229132446200635/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=643234548841412290&amp;postID=6291229132446200635' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/6291229132446200635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/6291229132446200635'/><link rel='alternate' type='text/html' href='http://rotinasautolisp.blogspot.com/2008/09/txtslsp-rotina-autolisp.html' title='TXTS.lsp - Rotina AutoLisp'/><author><name>.</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/teknomatika/SL-pcnV9NNI/AAAAAAAAAsc/FZ6sYhFaAi8/s72-c/autolisp_image_09_thumb%5B1%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643234548841412290.post-5627259953494856062</id><published>2008-04-23T16:46:00.001+01:00</published><updated>2008-04-23T16:46:12.757+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rorinas AutoLISP'/><category scheme='http://www.blogger.com/atom/ns#' term='Lisp'/><category scheme='http://www.blogger.com/atom/ns#' term='Conversor'/><category scheme='http://www.blogger.com/atom/ns#' term='AutoLisp'/><category scheme='http://www.blogger.com/atom/ns#' term='Rotinas LISP'/><title type='text'>Lisp 2 HTML - Formatar código Lisp em HTML</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/teknomatika/SA9ZwAnDKFI/AAAAAAAAAi8/V3SCnq0rxJ8/lisp2html%5B7%5D.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="281" alt="lisp2html" src="http://lh6.ggpht.com/teknomatika/SA9ZwwnDKGI/AAAAAAAAAjE/lGY4FARDSGI/lisp2html_thumb%5B3%5D.jpg" width="450" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;Neste &lt;a href="http://br.geocities.com/neyton/lsp2htm/" target="_blank"&gt;s&amp;#237;tio&lt;/a&gt;, pode-se utilizar uma ferramenta de convers&amp;#227;o de c&amp;#243;digo Lisp para HTML. O c&amp;#243;digo gerado pode ser copiado e inserido num blog ou p&amp;#225;gina web, exibindo-se assim a codifica&amp;#231;&amp;#227;o por cores, tal como acontece no editor &lt;a href="http://roberto.magnani.vilabol.uol.com.br/visualisp.html" target="_blank"&gt;Visual Lisp&lt;/a&gt;.&lt;/p&gt;  &lt;p align="justify"&gt;O c&amp;#243;digo abaixo, de uma rotina por n&amp;#243;s j&amp;#225; aqui publicada, &amp;#233; disso exemplo.&lt;/p&gt;  &lt;p align="justify"&gt;(fonte: &lt;a href="http://tbn2.blogspot.com/" target="_blank"&gt;Blog do Neyton&lt;/a&gt;)&lt;/p&gt;  &lt;p align="justify"&gt;&lt;/p&gt; &lt;span&gt;&lt;font face="Fixedsys"&gt;&lt;span style="color: #660066; background-color: #c0c0c0"&gt;;Comando: BINT &lt;/span&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;font color="#ff0000"&gt;(&lt;/font&gt;&lt;font color="#0000ff"&gt;defun &lt;/font&gt;&lt;font color="#000000"&gt;c:BINT &lt;/font&gt;&lt;font color="#ff0000"&gt;( &lt;/font&gt;&lt;font color="#0000ff"&gt;/ &lt;/font&gt;&lt;font color="#000000"&gt;ss point snap echo olderr&lt;/font&gt;&lt;font color="#ff0000"&gt;)&amp;#160; &lt;br /&gt;&amp;#160; (&lt;/font&gt;&lt;font color="#0000ff"&gt;setq &lt;/font&gt;&lt;font color="#000000"&gt;snap &lt;/font&gt;&lt;font color="#ff0000"&gt;(&lt;/font&gt;&lt;font color="#0000ff"&gt;getvar &lt;/font&gt;&lt;font color="#ff00ff"&gt;&amp;quot;osmode&amp;quot;&lt;/font&gt;&lt;font color="#ff0000"&gt;))&amp;#160; &lt;br /&gt;&amp;#160; (&lt;/font&gt;&lt;font color="#0000ff"&gt;setq &lt;/font&gt;&lt;font color="#000000"&gt;echo &lt;/font&gt;&lt;font color="#ff0000"&gt;(&lt;/font&gt;&lt;font color="#0000ff"&gt;getvar &lt;/font&gt;&lt;font color="#ff00ff"&gt;&amp;quot;cmdecho&amp;quot;&lt;/font&gt;&lt;font color="#ff0000"&gt;))&amp;#160; &lt;br /&gt;&amp;#160; (&lt;/font&gt;&lt;font color="#0000ff"&gt;setq &lt;/font&gt;&lt;font color="#000000"&gt;olderr *error*&lt;/font&gt;&lt;font color="#ff0000"&gt;)&amp;#160; &lt;br /&gt;&amp;#160; (&lt;/font&gt;&lt;font color="#0000ff"&gt;setq &lt;/font&gt;&lt;font color="#000000"&gt;*error* break_error&lt;/font&gt;&lt;font color="#ff0000"&gt;)&amp;#160; &lt;br /&gt;&amp;#160; (&lt;/font&gt;&lt;font color="#0000ff"&gt;setvar &lt;/font&gt;&lt;font color="#ff00ff"&gt;&amp;quot;cmdecho&amp;quot; &lt;/font&gt;&lt;font color="#009933"&gt;0&lt;/font&gt;&lt;font color="#ff0000"&gt;)&amp;#160; &lt;br /&gt;&amp;#160; (&lt;/font&gt;&lt;font color="#0000ff"&gt;while &lt;/font&gt;&lt;font color="#ff0000"&gt;(&lt;/font&gt;&lt;font color="#0000ff"&gt;not &lt;/font&gt;&lt;font color="#000000"&gt;ss&lt;/font&gt;&lt;font color="#ff0000"&gt;)&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; (&lt;/font&gt;&lt;font color="#0000ff"&gt;setq &lt;/font&gt;&lt;font color="#000000"&gt;ss &lt;/font&gt;&lt;font color="#ff0000"&gt;(&lt;/font&gt;&lt;font color="#0000ff"&gt;entsel &lt;/font&gt;&lt;font color="#ff00ff"&gt;&amp;quot;\nSeleccione a linha a quebrar: &amp;quot;&lt;/font&gt;&lt;font color="#ff0000"&gt;))&amp;#160; &lt;br /&gt;&amp;#160; )&lt;/font&gt;&lt;span style="color: #660066; background-color: #c0c0c0"&gt;;while &lt;/span&gt;      &lt;br /&gt;&amp;#160; &lt;font color="#ff0000"&gt;(&lt;/font&gt;&lt;font color="#0000ff"&gt;setvar &lt;/font&gt;&lt;font color="#ff00ff"&gt;&amp;quot;osmode&amp;quot; &lt;/font&gt;&lt;font color="#009933"&gt;32&lt;/font&gt;&lt;font color="#ff0000"&gt;)&amp;#160; &lt;br /&gt;&amp;#160; (&lt;/font&gt;&lt;font color="#0000ff"&gt;while &lt;/font&gt;&lt;font color="#ff0000"&gt;(&lt;/font&gt;&lt;font color="#0000ff"&gt;not &lt;/font&gt;&lt;font color="#000000"&gt;point&lt;/font&gt;&lt;font color="#ff0000"&gt;)&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; (&lt;/font&gt;&lt;font color="#0000ff"&gt;setq &lt;/font&gt;&lt;font color="#000000"&gt;point&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#ff0000"&gt;(&lt;/font&gt;&lt;font color="#0000ff"&gt;osnap &lt;/font&gt;&lt;font color="#ff0000"&gt;(&lt;/font&gt;&lt;font color="#0000ff"&gt;getpoint &lt;/font&gt;&lt;font color="#ff00ff"&gt;&amp;quot;\nSeleccione a linha a quebrar: &amp;quot;&lt;/font&gt;&lt;font color="#ff0000"&gt;) &lt;/font&gt;&lt;font color="#ff00ff"&gt;&amp;quot;int&amp;quot;&lt;/font&gt;&lt;font color="#ff0000"&gt;))&amp;#160; &lt;br /&gt;&amp;#160; )&lt;/font&gt;&lt;span style="color: #660066; background-color: #c0c0c0"&gt;;while &lt;/span&gt;      &lt;br /&gt;&amp;#160; &lt;font color="#ff0000"&gt;(&lt;/font&gt;&lt;font color="#0000ff"&gt;setvar &lt;/font&gt;&lt;font color="#ff00ff"&gt;&amp;quot;osmode&amp;quot; &lt;/font&gt;&lt;font color="#000000"&gt;snap&lt;/font&gt;&lt;font color="#ff0000"&gt;)&amp;#160; &lt;br /&gt;&amp;#160; (&lt;/font&gt;&lt;font color="#0000ff"&gt;command &lt;/font&gt;&lt;font color="#ff00ff"&gt;&amp;quot;break&amp;quot; &lt;/font&gt;&lt;font color="#000000"&gt;ss &lt;/font&gt;&lt;font color="#ff00ff"&gt;&amp;quot;f&amp;quot; &lt;/font&gt;&lt;font color="#000000"&gt;point &lt;/font&gt;&lt;font color="#ff00ff"&gt;&amp;quot;@&amp;quot;&lt;/font&gt;&lt;font color="#ff0000"&gt;)&amp;#160; &lt;br /&gt;&amp;#160; (&lt;/font&gt;&lt;font color="#0000ff"&gt;setvar &lt;/font&gt;&lt;font color="#ff00ff"&gt;&amp;quot;cmdecho&amp;quot; &lt;/font&gt;&lt;font color="#000000"&gt;echo&lt;/font&gt;&lt;font color="#ff0000"&gt;)&amp;#160; &lt;br /&gt;&amp;#160; (&lt;/font&gt;&lt;font color="#0000ff"&gt;setq &lt;/font&gt;&lt;font color="#000000"&gt;*error* olderr&lt;/font&gt;&lt;font color="#ff0000"&gt;)&amp;#160; &lt;br /&gt;&amp;#160; (&lt;/font&gt;&lt;font color="#0000ff"&gt;princ&lt;/font&gt;&lt;font color="#ff0000"&gt;)&amp;#160; &lt;br /&gt;)&amp;#160; &lt;br /&gt;        &lt;br /&gt;(&lt;/font&gt;&lt;font color="#0000ff"&gt;defun &lt;/font&gt;&lt;font color="#000000"&gt;break_error &lt;/font&gt;&lt;font color="#ff0000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;msg&lt;/font&gt;&lt;font color="#ff0000"&gt;)&amp;#160; &lt;br /&gt;&amp;#160; (&lt;/font&gt;&lt;font color="#0000ff"&gt;princ &lt;/font&gt;&lt;font color="#ff0000"&gt;(&lt;/font&gt;&lt;font color="#0000ff"&gt;strcat &lt;/font&gt;&lt;font color="#ff00ff"&gt;&amp;quot;\nError: &amp;quot; &lt;/font&gt;&lt;font color="#000000"&gt;msg&lt;/font&gt;&lt;font color="#ff0000"&gt;))&amp;#160; &lt;br /&gt;&amp;#160; (&lt;/font&gt;&lt;font color="#0000ff"&gt;setvar &lt;/font&gt;&lt;font color="#ff00ff"&gt;&amp;quot;osmode&amp;quot; &lt;/font&gt;&lt;font color="#009933"&gt;0&lt;/font&gt;&lt;font color="#ff0000"&gt;)&amp;#160; &lt;br /&gt;&amp;#160; (&lt;/font&gt;&lt;font color="#0000ff"&gt;setvar &lt;/font&gt;&lt;font color="#ff00ff"&gt;&amp;quot;cmdecho&amp;quot; &lt;/font&gt;&lt;font color="#009933"&gt;1&lt;/font&gt;&lt;font color="#ff0000"&gt;)&amp;#160; &lt;br /&gt;&amp;#160; (&lt;/font&gt;&lt;font color="#0000ff"&gt;princ&lt;/font&gt;&lt;font color="#ff0000"&gt;)&amp;#160; &lt;br /&gt;)&lt;/font&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;span style="color: #660066; background-color: #c0c0c0"&gt;;Fim do c&amp;#243;digo&lt;/span&gt;&lt;/font&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/643234548841412290-5627259953494856062?l=rotinasautolisp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rotinasautolisp.blogspot.com/feeds/5627259953494856062/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=643234548841412290&amp;postID=5627259953494856062' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/5627259953494856062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/5627259953494856062'/><link rel='alternate' type='text/html' href='http://rotinasautolisp.blogspot.com/2008/04/lisp-2-html-formatar-cdigo-lisp-em-html.html' title='Lisp 2 HTML - Formatar código Lisp em HTML'/><author><name>.</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/teknomatika/SA9ZwwnDKGI/AAAAAAAAAjE/lGY4FARDSGI/s72-c/lisp2html_thumb%5B3%5D.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643234548841412290.post-2476616099909368931</id><published>2008-04-21T15:35:00.001+01:00</published><updated>2011-06-30T17:06:13.581+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='AutoLisp'/><category scheme='http://www.blogger.com/atom/ns#' term='Rotinas LISP'/><category scheme='http://www.blogger.com/atom/ns#' term='Copiar'/><category scheme='http://www.blogger.com/atom/ns#' term='Selecção'/><title type='text'>CPOL.lsp - Rotina AutoLISP</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/teknomatika/SAymCozcXzI/AAAAAAAAAis/JlN63TqvbtY/autolisp_image_07%5B3%5D.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="118" alt="autolisp_image_07" src="http://lh4.ggpht.com/teknomatika/SAymD4zcX0I/AAAAAAAAAi0/gYuDt88jB34/autolisp_image_07_thumb%5B1%5D.jpg" width="452" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;Descrição: Esta rotina permite copiar entidades utilizando uma selecção com um polígono irregular. A rotina inicia com o pedido de uma de duas opções:    &lt;br /&gt;Opção WP: selecciona as entidades dentro do polígono;     &lt;br /&gt;Opção CP: selecciona as entidades dentro e cruzadas pelo polígono&lt;/p&gt;  &lt;p&gt;Autor: &lt;a href="http://www.rotinasautolisp.blogspot.com"&gt;www.rotinasautolisp.blogspot.com&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Comando: CPOL&lt;/p&gt;  &lt;p&gt;&lt;a href="http://rotinaslisp.blogspot.com/2011/06/cpollsp.html" target="_blank"&gt;(download)&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/643234548841412290-2476616099909368931?l=rotinasautolisp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rotinasautolisp.blogspot.com/feeds/2476616099909368931/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=643234548841412290&amp;postID=2476616099909368931' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/2476616099909368931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/2476616099909368931'/><link rel='alternate' type='text/html' href='http://rotinasautolisp.blogspot.com/2008/04/cpollsp-rotina-autolisp.html' title='CPOL.lsp - Rotina AutoLISP'/><author><name>.</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/teknomatika/SAymD4zcX0I/AAAAAAAAAi0/gYuDt88jB34/s72-c/autolisp_image_07_thumb%5B1%5D.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643234548841412290.post-5720327871150016727</id><published>2008-04-17T18:32:00.001+01:00</published><updated>2011-04-11T11:33:27.026+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Layers'/><category scheme='http://www.blogger.com/atom/ns#' term='Autodesk'/><category scheme='http://www.blogger.com/atom/ns#' term='AutoCAD'/><category scheme='http://www.blogger.com/atom/ns#' term='IntelliCad'/><category scheme='http://www.blogger.com/atom/ns#' term='Lisp'/><category scheme='http://www.blogger.com/atom/ns#' term='N'/><category scheme='http://www.blogger.com/atom/ns#' term='AutoLisp'/><category scheme='http://www.blogger.com/atom/ns#' term='Cad'/><category scheme='http://www.blogger.com/atom/ns#' term='Rotinas LISP'/><title type='text'>NL.lsp - Rotina AutoLISP</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://lh5.ggpht.com/teknomatika/SAeJwEelOII/AAAAAAAAAiM/zIWbRDedT4s/autolisp_image_06%5B3%5D.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="120" alt="autolisp_image_06" src="http://lh4.ggpht.com/teknomatika/SAeJw0elOJI/AAAAAAAAAiU/KvAIaoyTCZ0/autolisp_image_06_thumb%5B1%5D.jpg" width="454" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;Descrição: Esta simples rotina permite criar novas layers a partir das linhas de comando, evitando abrir a caixa de diálogo do Layer Manager. A rotina solicita o nome da layer a criar e o número da cor. Caso se opte por não escolher a cor, por defeito será atribuída a cor 7 / white.&lt;/p&gt;  &lt;p align="justify"&gt;Autor: &lt;a href="http://www.rotinasautolisp.blogspot.com"&gt;www.rotinasautolisp.blogspot.com&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Comando: NL&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;;;INÍCIO DO CÓDIGO   &lt;br /&gt;;-------------------------------------------------------------------------------------    &lt;br /&gt;;2008 - www.rotinasautolisp.blogspot.com    &lt;br /&gt;;;rotina que permite criar novas layers a partir da linha de comandos    &lt;br /&gt;;;comando: nl    &lt;br /&gt;;-------------------------------------------------------------------------------------    &lt;br /&gt;(defun C:nl()    &lt;br /&gt;(princ &amp;quot;Esta simples rotina permite criar layers a partir das linhas de comando.&amp;quot;)    &lt;br /&gt;(setq namelayer (getstring &amp;quot;\n Indique o nome da nova layer : &amp;quot;))    &lt;br /&gt;(setq layercolor (getint &amp;quot;\n Indique o numero da cor a atribuir à layer - Se não escolher fica definada na cor 7/white: &amp;quot;))    &lt;br /&gt;(if (= layercolor nil)(setq layercolor 7))    &lt;br /&gt;(command &amp;quot;layer&amp;quot; &amp;quot;new&amp;quot; namelayer &amp;quot;color&amp;quot; layercolor namelayer &amp;quot;&amp;quot;)    &lt;br /&gt;(princ)    &lt;br /&gt;)    &lt;br /&gt;;;FIM DO CÓDIGO&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/643234548841412290-5720327871150016727?l=rotinasautolisp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rotinasautolisp.blogspot.com/feeds/5720327871150016727/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=643234548841412290&amp;postID=5720327871150016727' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/5720327871150016727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/5720327871150016727'/><link rel='alternate' type='text/html' href='http://rotinasautolisp.blogspot.com/2008/04/nllsp-rotina-autolisp.html' title='NL.lsp - Rotina AutoLISP'/><author><name>.</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/teknomatika/SAeJw0elOJI/AAAAAAAAAiU/KvAIaoyTCZ0/s72-c/autolisp_image_06_thumb%5B1%5D.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643234548841412290.post-2376929684864404730</id><published>2008-04-15T15:56:00.001+01:00</published><updated>2011-04-11T11:28:18.867+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Intersecção'/><category scheme='http://www.blogger.com/atom/ns#' term='B'/><category scheme='http://www.blogger.com/atom/ns#' term='Modificar'/><category scheme='http://www.blogger.com/atom/ns#' term='Lisp'/><category scheme='http://www.blogger.com/atom/ns#' term='AutoLisp'/><category scheme='http://www.blogger.com/atom/ns#' term='Rotinas LISP'/><category scheme='http://www.blogger.com/atom/ns#' term='Linhas'/><title type='text'>BINT.lsp - Rotina AutoLISP</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/teknomatika/SATCMUelN-I/AAAAAAAAAg8/vcLxs2plUGw/autolisp_image_05%5B3%5D.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="114" alt="autolisp_image_05" src="http://lh5.ggpht.com/teknomatika/SATCM0elN_I/AAAAAAAAAhE/7Ht7YGWR6pU/autolisp_image_05_thumb%5B1%5D.jpg" width="453" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;Nome do ficheiro: BINT.lsp&lt;/p&gt;  &lt;p align="justify"&gt;Descrição: Esta rotina permite fazer um break numa intersecção seleccionada. Deve-se seleccionar primeiramente a linha que se pretende quebrar e seguidamente seleccionar a intersecção.    &lt;br /&gt;Rotina muito útil uma vez que é mais rápida e objectiva que o comando Break&lt;/p&gt;  &lt;p align="justify"&gt;Nome do comando: BINT&lt;/p&gt;  &lt;p&gt;&lt;a href="http://rotinasautolisp.blogspot.com/2008/04/como-carregar-as-rotinas-autolisp.html" target="_blank"&gt;Como carregar (load)?&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Código fonte:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;;Início do código&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;;Esta rotina permite fazer um break numa intersecção seleccionada    &lt;br /&gt;;Deve-se seleccionar primeiramente a linha que se pretende quebrar     &lt;br /&gt;;e seguidamente seleccionar a intersecção.     &lt;br /&gt;;Rotina muito útil uma vez que é mais rápida e objectiva que o comando Break     &lt;br /&gt;;Comando: BINT &lt;/p&gt;  &lt;p&gt;(defun c:BINT ( / ss point snap echo olderr)    &lt;br /&gt;&amp;#160; (setq snap (getvar &amp;quot;osmode&amp;quot;))     &lt;br /&gt;&amp;#160; (setq echo (getvar &amp;quot;cmdecho&amp;quot;))     &lt;br /&gt;&amp;#160; (setq olderr *error*)     &lt;br /&gt;&amp;#160; (setq *error* break_error)     &lt;br /&gt;&amp;#160; (setvar &amp;quot;cmdecho&amp;quot; 0)     &lt;br /&gt;&amp;#160; (while (not ss)     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; (setq ss (entsel &amp;quot;\nSeleccione a linha a quebrar: &amp;quot;))     &lt;br /&gt;&amp;#160; );while     &lt;br /&gt;&amp;#160; (setvar &amp;quot;osmode&amp;quot; 32)     &lt;br /&gt;&amp;#160; (while (not point)     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; (setq point     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; (osnap (getpoint &amp;quot;\nSeleccione a linha a quebrar: &amp;quot;) &amp;quot;int&amp;quot;))     &lt;br /&gt;&amp;#160; );while     &lt;br /&gt;&amp;#160; (setvar &amp;quot;osmode&amp;quot; snap)     &lt;br /&gt;&amp;#160; (command &amp;quot;break&amp;quot; ss &amp;quot;f&amp;quot; point &amp;quot;@&amp;quot;)     &lt;br /&gt;&amp;#160; (setvar &amp;quot;cmdecho&amp;quot; echo)     &lt;br /&gt;&amp;#160; (setq *error* olderr)     &lt;br /&gt;&amp;#160; (princ)     &lt;br /&gt;) &lt;/p&gt;  &lt;p&gt;(defun break_error (msg)    &lt;br /&gt;&amp;#160; (princ (strcat &amp;quot;\nError: &amp;quot; msg))     &lt;br /&gt;&amp;#160; (setvar &amp;quot;osmode&amp;quot; 0)     &lt;br /&gt;&amp;#160; (setvar &amp;quot;cmdecho&amp;quot; 1)     &lt;br /&gt;&amp;#160; (princ)     &lt;br /&gt;)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;;Fim do código&lt;/strong&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/643234548841412290-2376929684864404730?l=rotinasautolisp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rotinasautolisp.blogspot.com/feeds/2376929684864404730/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=643234548841412290&amp;postID=2376929684864404730' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/2376929684864404730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/2376929684864404730'/><link rel='alternate' type='text/html' href='http://rotinasautolisp.blogspot.com/2008/04/bintlsp-rotina-autolisp.html' title='BINT.lsp - Rotina AutoLISP'/><author><name>.</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/teknomatika/SATCM0elN_I/AAAAAAAAAhE/7Ht7YGWR6pU/s72-c/autolisp_image_05_thumb%5B1%5D.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643234548841412290.post-8211607081992034339</id><published>2008-04-15T15:36:00.001+01:00</published><updated>2008-04-15T15:36:46.083+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Lisp'/><category scheme='http://www.blogger.com/atom/ns#' term='AutoLisp'/><category scheme='http://www.blogger.com/atom/ns#' term='Tutoriais'/><title type='text'>AutoLisp - Tutorial - 1</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/teknomatika/SAS9eEelN8I/AAAAAAAAAgs/VE4SPCzAluA/autolisp_image_04%5B3%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="124" alt="autolisp_image_04" src="http://lh6.ggpht.com/teknomatika/SAS9fEelN9I/AAAAAAAAAg0/Q6rh6LCUvKw/autolisp_image_04_thumb%5B1%5D.jpg" width="461" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://mypage.iu.edu/~colallen/lp/" target="_blank"&gt;Tutorial&lt;/a&gt; sobre AutoLISP, em ingl&amp;#234;s.---------------------------------&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/643234548841412290-8211607081992034339?l=rotinasautolisp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rotinasautolisp.blogspot.com/feeds/8211607081992034339/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=643234548841412290&amp;postID=8211607081992034339' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/8211607081992034339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/8211607081992034339'/><link rel='alternate' type='text/html' href='http://rotinasautolisp.blogspot.com/2008/04/autolisp-tutorial-1.html' title='AutoLisp - Tutorial - 1'/><author><name>.</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/teknomatika/SAS9fEelN9I/AAAAAAAAAg0/Q6rh6LCUvKw/s72-c/autolisp_image_04_thumb%5B1%5D.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643234548841412290.post-6378338442826764072</id><published>2008-04-15T15:07:00.001+01:00</published><updated>2011-04-11T11:27:30.838+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='I'/><category scheme='http://www.blogger.com/atom/ns#' term='Números'/><category scheme='http://www.blogger.com/atom/ns#' term='Texto'/><category scheme='http://www.blogger.com/atom/ns#' term='Rotinas LISP'/><category scheme='http://www.blogger.com/atom/ns#' term='Editar'/><title type='text'>INCRE.lsp - Rotina LISP</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/teknomatika/SAS2gkelN6I/AAAAAAAAAgc/DwVhsV9_gaI/autolisp_image_03%5B4%5D.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="143" alt="autolisp_image_03" src="http://lh6.ggpht.com/teknomatika/SAS2hEelN7I/AAAAAAAAAgk/uzfa8Il7-1w/autolisp_image_03_thumb%5B2%5D.jpg" width="451" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;Nome do ficheiro: INCRE.lsp &lt;/p&gt;  &lt;p align="justify"&gt;Descrição: Esta rotina permite incrementar um determinado valor a entidades&amp;#160; de texto numérico. Aceita valores negativos e positivos e permite sellecionar simultaneamente várias entidades. Permite incrementar valores inteiros ou com casas decimais &lt;/p&gt;  &lt;p&gt;(comando: INCRE)&lt;/p&gt;  &lt;p&gt;código fonte: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;;Início do código        &lt;br /&gt;&lt;/strong&gt;(defun chgterr (s)       &lt;br /&gt;&amp;#160;&amp;#160; (if (/= s &amp;quot;Function cancelled&amp;quot;)&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (princ (strcat &amp;quot;\nError: &amp;quot; s))       &lt;br /&gt;&amp;#160;&amp;#160; )       &lt;br /&gt;&amp;#160;&amp;#160; (setq p nil)&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160; (setq *error* olderr)&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160; (princ)       &lt;br /&gt;) &lt;/p&gt;    &lt;p&gt;;Rotina que permite incrementar um determinado valor a entidades&amp;#160; de texto numérico.      &lt;br /&gt;;Aceita valores negativos e positivos e permite sellecionar simultaneamente várias entidades       &lt;br /&gt;;Permite incrementar valores inteiros ou com casas decimais &lt;/p&gt;    &lt;p&gt;(defun C:INCRE (/ p l n e os as ns st s nsl osl sl si chf chm olderr)      &lt;br /&gt;&amp;#160;&amp;#160; (setq olderr&amp;#160; *error*&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; *error* chgterr       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; chm&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0)       &lt;br /&gt;&amp;#160;&amp;#160; (setq p (ssget))&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160; (setq inc (getreal &amp;quot;\nValor do incremento:&amp;quot;))       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq l 0 n (sslength p))       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (while (&amp;lt; l n)&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (if (= &amp;quot;TEXT&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (cdr (assoc 0 (setq e (entget (ssname p l))))))       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (progn       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq s (cdr (setq as (assoc 1 e))))       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq mn (atof s))       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq nm (+ mn inc))       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq s (rtos nm))       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq e (subst (cons 1 s) as e))       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (entmod e)&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq chm (1+ chm))       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; )       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; )       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (setq l (1+ l))       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; )       &lt;br /&gt;&amp;#160;&amp;#160; (princ chm)       &lt;br /&gt;&amp;#160;&amp;#160; (princ &amp;quot; entidades de texto numérico&amp;quot;)       &lt;br /&gt;&amp;#160;&amp;#160; (princ &amp;quot; alteradas.&amp;quot;)       &lt;br /&gt;&amp;#160;&amp;#160; (terpri)       &lt;br /&gt;&amp;#160;&amp;#160; (setq *error* olderr)&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160; (princ)       &lt;br /&gt;)       &lt;br /&gt;&lt;strong&gt;;Fim do código&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/643234548841412290-6378338442826764072?l=rotinasautolisp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rotinasautolisp.blogspot.com/feeds/6378338442826764072/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=643234548841412290&amp;postID=6378338442826764072' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/6378338442826764072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/6378338442826764072'/><link rel='alternate' type='text/html' href='http://rotinasautolisp.blogspot.com/2008/04/increlsp-rotina-lisp.html' title='INCRE.lsp - Rotina LISP'/><author><name>.</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/teknomatika/SAS2hEelN7I/AAAAAAAAAgk/uzfa8Il7-1w/s72-c/autolisp_image_03_thumb%5B2%5D.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643234548841412290.post-6415225301888012258</id><published>2008-04-15T14:56:00.001+01:00</published><updated>2009-09-08T18:29:27.057+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Como fazer?'/><category scheme='http://www.blogger.com/atom/ns#' term='Tutoriais'/><category scheme='http://www.blogger.com/atom/ns#' term='Dicas'/><title type='text'>Como carregar as rotinas AutoLISP?</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://lh3.ggpht.com/teknomatika/SAS0EUelN4I/AAAAAAAAAgM/rH8M1SYe6qM/autolisp_image_02%5B3%5D.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="140" alt="autolisp_image_02" src="http://lh5.ggpht.com/teknomatika/SAS0E0elN5I/AAAAAAAAAgU/NFFSV328L4Q/autolisp_image_02_thumb%5B1%5D.jpg" width="453" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;Para criar um ficheiro com a extensão &lt;strong&gt;lsp&lt;/strong&gt;, deve copiar o código da rotina e colar o mesmo num qualquer editor de texto simples, tal como o &lt;strong&gt;Notepad&lt;/strong&gt; ou o &lt;a href="http://notepad-plus.sourceforge.net/br/site.htm" target="_blank"&gt;Notepad++.&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;   &lt;br /&gt;Depois, com a opção de &lt;strong&gt;All Files&lt;/strong&gt; aberta, deve atribuir um nome ao ficheiro bem como a extensão lsp (exemplo: ficheiro.lsp). &lt;/p&gt;  &lt;p align="justify"&gt;   &lt;br /&gt;Seguidamente, o ficheiro criado, ou no caso de ter sido descarregado de um sítio da net, deverá ser colocado numa determinada pasta no computador onde corre o AutoCad. Não é obrigatório que fique dentro do directório do programa que vier a utilizar a rotina mas por uma questão de organização não seria de descurar a criação ali de uma pasta reservada para as rotinas Lisp. &lt;/p&gt;  &lt;p align="justify"&gt;   &lt;br /&gt;Como carregar a rotina: Partindo do princípio que usa o AutoCad, deverá seguir os seguintes passos:     &lt;br /&gt;&lt;strong&gt;Menú Tools/AutoLisp/Load Aplication&lt;/strong&gt; - Deverá procurar o caminho onde guardou a rotina, seleccionar a&amp;#160; pretendida e efectuar o comando Load. Esta opção carrega a rotina apenas para a sessão em curso. &lt;/p&gt;  &lt;p align="justify"&gt;   &lt;br /&gt;Para que a rotina fique disponível para futuras sessões deverá ser utilizado o aplicativo &lt;strong&gt;Startup Suite&lt;/strong&gt;, disponível na anterior caixa de diálogo, e efectuar &lt;strong&gt;Add&lt;/strong&gt; (seleccionando e adicionando a rotina pretendida. Deste modo, ao inciar uma nova sessão do AutoCad a rotina será carregada automáticamente. Como alternativa seria necessário editar um ficheiro próprio existente na raíz do AutoCad, mas considerando a simplicidade do &lt;strong&gt;Startup Suite&lt;/strong&gt;, não nos debruçaremos sobre o assunto. &lt;/p&gt;  &lt;p align="justify"&gt;   &lt;br /&gt;Uma vez carregada a rotina deve ser chamado o respectivo comando. Quando não está devidamente indicado ou divulgado o nome do comando (repare-se que o nome do ficheiro poderá ser diferente do comando) deverá abrir a rotina com um editor de texto simples e verificar qual o comando que está atribuído. Habitualmente o mesmo surge a seguir à função &amp;quot;defun C:&amp;quot;.&lt;/p&gt;  &lt;p align="justify"&gt;Esperemos ter ajudado, não quem já sabe mas para utilizadores iniciantes.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/teknomatika/SAWyWEelOCI/AAAAAAAAAhc/Aie9uP0qog0/rotinas_01%5B4%5D.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="512" alt="rotinas_01" src="http://lh6.ggpht.com/teknomatika/SAWyW0elODI/AAAAAAAAAhk/ng0nwqAo-P4/rotinas_01_thumb%5B2%5D.jpg" width="453" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/teknomatika/SAWyX0elOEI/AAAAAAAAAhs/2l4PSEGOfHo/rotinas_02%5B3%5D.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="616" alt="rotinas_02" src="http://lh6.ggpht.com/teknomatika/SAWyY0elOFI/AAAAAAAAAh0/6hlAh4VDvZU/rotinas_02_thumb%5B1%5D.jpg" width="456" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/643234548841412290-6415225301888012258?l=rotinasautolisp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rotinasautolisp.blogspot.com/feeds/6415225301888012258/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=643234548841412290&amp;postID=6415225301888012258' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/6415225301888012258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/6415225301888012258'/><link rel='alternate' type='text/html' href='http://rotinasautolisp.blogspot.com/2008/04/como-carregar-as-rotinas-autolisp.html' title='Como carregar as rotinas AutoLISP?'/><author><name>.</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/teknomatika/SAS0E0elN5I/AAAAAAAAAgU/NFFSV328L4Q/s72-c/autolisp_image_02_thumb%5B1%5D.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-643234548841412290.post-3459333961195946591</id><published>2008-04-15T14:42:00.001+01:00</published><updated>2008-04-15T14:42:15.793+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AutoLisp'/><title type='text'>O que é o AutoLISP?</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/teknomatika/SASws0elN2I/AAAAAAAAAf8/mL3iDilMqy0/autolisp_image_01%5B3%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="104" alt="autolisp_image_01" src="http://lh4.ggpht.com/teknomatika/SASwtkelN3I/AAAAAAAAAgE/gAKdE2Eml1A/autolisp_image_01_thumb%5B1%5D.jpg" width="449" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;O que &amp;#233; AutoLISP?    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; O AutoLISP &amp;#233; uma vers&amp;#227;o reduzida da linguagem de programa&amp;#231;&amp;#227;o CommomLISP, adaptada pela AutoDESK e fornecida juntamente com o AutoCAD, com o objetivo de dar ao usu&amp;#225;rio condi&amp;#231;&amp;#245;es de criar seus pr&amp;#243;prios aplicativos dentro do AutoCAD, ou seja, programar solu&amp;#231;&amp;#245;es que ainda n&amp;#227;o existem prontas no software. Assim, sendo uma linguagem de programa&amp;#231;&amp;#227;o, o AutoLISP possui uma sintaxe pr&amp;#243;pria, tipos de dados, estrutura de dados, m&amp;#233;todos de aloca&amp;#231;&amp;#227;o de mem&amp;#243;ria, estruturas de decis&amp;#227;o, etc.    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; A linguagem LISP &amp;#233; bastante conhecida entre os programadores e utilizada na implementa&amp;#231;&amp;#227;o de softwares de intelig&amp;#234;ncia artificial. O nome LISP vem da express&amp;#227;o em ingl&amp;#234;s List Processing. A linguagem foi concebida com base no conceito de Processamento de Listas, e &amp;#233; a segunda mais antiga linguagem de programa&amp;#231;&amp;#227;o de alto n&amp;#237;vel ainda usada por computadores modernos (a mais antiga &amp;#233; FORTRAN).    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; O primeiro interpretador LISP foi desenvolvido no final da d&amp;#233;cada de 50 por John McCarthy e um grupo de pesquisadores em computa&amp;#231;&amp;#227;o no MIT (Massachusetts Institute of Technology).    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; O dialeto AutoLISP derivou-se do XLISP, abreviatura para eXperimental LISP, desenvolvido por Davis Betts por volta de 1980.     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Para implementar o &amp;quot;AutoLISP&amp;quot; ao AutoCAD, foram utilizados aplicativos desenvolvidos em programa&amp;#231;&amp;#227;o C, chamados ADS (AutoCAD Development System). O AutoLISP surgiu pela primeira vez no AutoCAD vers&amp;#227;o 2.15 mas n&amp;#227;o foi documentado at&amp;#233; vers&amp;#227;o 2.17. At&amp;#233; ent&amp;#227;o o nome &amp;quot;AutoLISP&amp;quot; n&amp;#227;o era usado. Em seu lugar, a Autodesk referia-se &amp;#224;s fun&amp;#231;&amp;#245;es LISP como &amp;quot;o novo recurso de Vari&amp;#225;veis e Express&amp;#245;es&amp;quot;. A linguagem era t&amp;#227;o experimental que n&amp;#227;o havia nem mesmo previs&amp;#227;o para looping de programa para a vers&amp;#227;o 2.18.    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; A pretens&amp;#227;o inicial da Autodesk era que o AutoLISP fosse uma ferramenta de programa&amp;#231;&amp;#227;o para programadores experientes. O brilhantismo acess&amp;#237;vel do AutoLISP surpreendeu a todos. Alguns usu&amp;#225;rios sem nenhuma experi&amp;#234;ncia em programa&amp;#231;&amp;#227;o descobriram ser poss&amp;#237;vel escrever facilmente algumas linhas de c&amp;#243;digo que automatizavam as opera&amp;#231;&amp;#245;es tediosas e repetitivas do AutoCAD.     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Normalmente, uma grande parte das pessoas utilizam o AutoCAD apenas para fins de desenho, tendo pouco conv&amp;#237;vio com manuais e literaturas especializadas. Na realidade, o AutoCAD possui um universo de recursos, muitos deles, pouco explorados, como &amp;#233; o caso do AutoLISP.    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; As fun&amp;#231;&amp;#245;es matem&amp;#225;ticas e trigonom&amp;#233;tricas no AutoLISP foram significamente melhoradas, j&amp;#225; que a maior parte das aplica&amp;#231;&amp;#245;es em AutoLISP requer c&amp;#225;lculos. Apesar de o AutoLISP n&amp;#227;o ser como o FORTRAN, a implementa&amp;#231;&amp;#227;o da Autodesk cont&amp;#233;m muitas extens&amp;#245;es &amp;#224; linguagem LISP projetadas para fazer fluir a execu&amp;#231;&amp;#227;o de programas matematicamente intensivos.    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Um exemplo de uma destas extens&amp;#245;es &amp;#233; encontrado na express&amp;#227;o polar, que calcula as coordenadas de uma nova lista de pontos dado um ponto atual, a dist&amp;#226;ncia e o &amp;#226;ngulo para o ponto desejado. Esta fun&amp;#231;&amp;#227;o n&amp;#227;o &amp;#233; encontrada na maioria das implementa&amp;#231;&amp;#245;es do LISP, mas &amp;#233; extremamente conveniente durante o desenvolvimento de aplica&amp;#231;&amp;#245;es em AutoLISP.    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; A evolu&amp;#231;&amp;#227;o do AutoLISP dentro do ambiente AutoCAD foi largamente direcionada por pedidos de desenvolvedores de aplicativos e usu&amp;#225;rios finais do produto AutoCAD. Como resultado, o AutoLISP tornou-se uma ferramenta valiosa para a customiza&amp;#231;&amp;#227;o do AutoCAD.     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; O termo customiza&amp;#231;&amp;#227;o faz parte do jarg&amp;#227;o da computa&amp;#231;&amp;#227;o gr&amp;#225;fica. Customizar significa direcionar um aplicativo, como o AutoCAD, a desempenhar tarefas bem espec&amp;#237;ficas, para as quais ele n&amp;#227;o foi originalmente projetado, facilitando o trabalho do usu&amp;#225;rio final.    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; H&amp;#225; outras linguagens nativas no AutoCAD, como o ADS (AutoCAD Development System, biblioteca de fun&amp;#231;&amp;#245;es compil&amp;#225;veis por alguns compiladores C), o DCL (Dialog Control Language) e as fun&amp;#231;&amp;#245;es DIESEL (Direct Interpretively Evaluated String Expression Language) . O ADS &amp;#233; adequado para implementa&amp;#231;&amp;#227;o de programas mais sofisticados, com acesso pesado a banco de dados e intenso processamento matem&amp;#225;tico. &amp;#201; mais complexo que o AutoLISP, requer um compilador C e muitas horas de programa&amp;#231;&amp;#227;o, sendo mais eficiente, apesar do alto custo final.    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; O AutoLISP se torna vantajoso para pequenos programas, porque &amp;#233; mais simples de programar e n&amp;#227;o requer compilador externo. &amp;#201; uma linguagem de f&amp;#225;cil assimila&amp;#231;&amp;#227;o e de grande utilidade para a melhoria da performance dos usu&amp;#225;rios do AutoCAD.     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Uma caracter&amp;#237;stica importante no AutoLISP, que o torna muito interessante, &amp;#233; a possibilidade de utilizar comandos que interagem diretamente com o AutoCAD. Ou seja, atrav&amp;#233;s do AutoLISP pode-se construir programas que solicitam ao usu&amp;#225;rio determinadas informa&amp;#231;&amp;#245;es, processam essas informa&amp;#231;&amp;#245;es e interferem sobre a &amp;#225;rea de trabalho do AutoCAD. Para algumas &amp;#225;reas, como a engenharia, por exemplo, esse recurso representa um potencial tremendo. Pode-se obter informa&amp;#231;&amp;#245;es estrat&amp;#233;gicas a partir do desenho que permitir&amp;#227;o calcular e definir outros elementos que podem ser desenhados automaticamente. Assim, o usu&amp;#225;rio pode come&amp;#231;ar um desenho e assistir a conclus&amp;#227;o dele numa velocidade bem maior do que se conseguiria fazendo a mesma coisa manualmente. Com o conhecimento do AutoLISP, tornam se in&amp;#250;meras as possibilidades de melhoria de performance num escrit&amp;#243;rio.&lt;/p&gt;  &lt;p&gt;(fonte: &lt;a href="http://www.dz9cad.com.br/conhecimentos/autolisp.php3" target="_blank"&gt;www.dz9cad.com.br&lt;/a&gt;)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/643234548841412290-3459333961195946591?l=rotinasautolisp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rotinasautolisp.blogspot.com/feeds/3459333961195946591/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=643234548841412290&amp;postID=3459333961195946591' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/3459333961195946591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/643234548841412290/posts/default/3459333961195946591'/><link rel='alternate' type='text/html' href='http://rotinasautolisp.blogspot.com/2008/04/o-que-o-autolisp.html' title='O que é o AutoLISP?'/><author><name>.</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/teknomatika/SASwtkelN3I/AAAAAAAAAgE/gAKdE2Eml1A/s72-c/autolisp_image_01_thumb%5B1%5D.jpg' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
