Bem Vindo

Neste blog procuramos expor algumas idéias que temos formado durante a nossa vivência como cidadão e arquiteto.

terça-feira, 7 de maio de 2024

Livro sobre AutoCAD

 ESTE LIVRO FOI ESCRITO NO ANO DE 1997 COMO EXERCÍCIO MENTAL, QUE AGORA PUBLICAMOS NO BOLG. ESPERO QUE SEJA DE UTILIDADE.

ÍNDICE

___________________________________________________________________________

 

INTRODUÇÃO                                                                                      pág -02

 

OBJETIVO                                                                                             pág-03

 

CONSIDERAÇÕES  GERAIS                                                              pág-04

 

PREPARAÇÃO                                                                                      pág-05

 

CAPITULO I

              Definição dos dados básicos para o Desenho Protótipo  pág-06

 

CAPITULO II

              Biblioteca de Pranchas e Carimbos                                              pág-15

 

CAPITULO III

              Biblioteca de Equipamentos, Móveis,Louças e Paisagem              pág-25

 

CAPITULO IV

              Biblioteca de Notação                                                                 pág-36

 

CAPITULO V

              Desenhos                                                                                     pág-43

 

CAPITULO VI

              Biblioteca de Desenhos                                                                pág-58

 

CAPITULO VII

              Comentários sobre Menu                                                             pág-73

 

BIBLIOGRAFIA                                                                                    pág-77

 

 

 

 

 

 

 

 

 

 

 

INTRODUÇÃO

 

___________________________________________________________________________

 

              O  software AutoCAD, em qualquer de suas versões, apresenta-se sem ser costumizado. Qualquer profissão que dele utiliza-se, tem um trabalho cansativo e demorado, de aprendizado e para costumizá-lo.

              A literatura existente sempre é voltada para o AutoCAD como um todo, com farta teoria, sem dar ênfase a  nenhuma área específica das várias existentes.

              Face a deficiência encontrada me vejo escrevendo sobre AutoCAD voltado para a Profissão de Arquiteto e de desenhistas de Arquitetura. Podendo também ser aproveitado por outras profissões como orientação e roteiro.

              Este livro será uma apresentação de como executar os trabalhos de Arquitetura em 2D utilizando do Mouse e não da Mesa digitalizadora e, como criar comandos alternativos necessários a profissão, que passam pela cabeça de qualquer um que tem como objetivo procurar uma maior velocidade no seu trabalho.

              Iremos percorrer o AutoCAD com sugestões  práticas, desde a definição do padrão de unidades, biblioteca, slides, menu e AutoLisp.

              Acrescento que para o bom entendimento deste livro faz-se necessário uma certa prática e intimidade com o software AutoCAD e um conhecimento básico de AutoLISP.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

OBJETIVO

 

___________________________________________________________________________

 

              Quem não gostaria de ter facilidades (costumização) no AutoCAD que ajude e agilize suas tarefas do dia a dia,isto é, ter um ganho de produtividade sem ter que repetir comandos no teclado, seja para inserir uma biblioteca através somente do manuseio do mouse e da visualização de desenhos representativos da biblioteca (slides). De executar a construção de um pilar em planta baixa dando somente o ponto inicial e suas dimensões. De alterar uma biblioteca adquirida de um fornecedor de produtos (Ideal Standard, Deca, Giroflex e outros) na escala e cor (layer) desejada e, inseri-las no seu menu de trabalho, não tendo que utilizar de vários menus que devem ser carregados independentemente.

              Vamos passar por todos esses caminhos por qual passei e que desejo compartilhar com você leitor.

              Não iremos nos alongar em definições, que porventura sejam necessárias, iremos apresentar nosso trabalho tipo Plug and Play, ou seja, ser práticos sem muita teoria, porque que, o AutoCAD possui 118 comandos e 172 variáveis de sistema, impedindo que até mesmo o usuário mais experiente possua todas as informações de memória. Utilizaremos de uma gama selecionada de comandos para executarmos os Desenhos em 2D e outros criados para suprir as deficiências do AutoCAD padrão no ramo de Arquitetura.  Se você tem alguma dúvida sobre comandos utilize o comando HELP para respondê-las ou da Bibliografia referência no fim deste livro.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

       CONSIDERAÇÕES GERAIS

___________________________________________________________________________

 

              Antes de começarmos no AutoCAD, gostaria de colocar algumas palavras sobre equipamentos (hardware) que irá facilitar as compras daqueles que não possuem equipamento:

              1- Se a procura é por rapidez deve-se ater portanto a equipamentos velozes .

              2- Placa Mãe com o mínimo de memória cache de 512KB e um processador de 200MHZ, Pentium Pro com memória cache interno é a melhor opção.

              3- Um bom mouse de três botões,o do meio serve para chamar o OSNAP (***POP 0 do Menu), o da direita é o <Enter> e o primeiro a esquerda o de selecionar. (Logitech Mouseman).

              4- Uma placa de vídeo de 4MB se possível uma de 8MB. (Matrox, Number 9).

              5- Um Hard Drive (HD) de uma razoável capacidade de armazenamento (3,5MB) e alta rotação, em torno de 4500 rpm.

              6- Um kit multimídia com drive de CD-ROM de 16X e placa de som de 64bits.

              7- O processo de desenhar é facilitado por um bom monitor que apresente uma grande tela, mínimo 17" se puder 21",com uma resolução de no mínimo 0,28mm (distância entre os pontos na tela). (Sony, Phillips, NEC, Samsung e outros.)

              8- Um mínimo de memória (RAM) de 32MB, dois pentes de 16MB que facilita o acréscimo de mais dois pentes (possibilidade de upgrade). A velocidade contida em cada pente é um fator importante, a mais comum tem a velocidade de 70 nanosegundos, 60 nanosegundos é desejável.

              9- Uma impressora jato de tinta que imprima até o tamanho de dupla carta (A3) na cor preta (Epson Stylus 1000) para ter um rascunho, já que é impossível executar um projeto de Arquitetura completo sem alguns erros de desenho, um plotter jato de tinta (Encad)é o almejado.

              10- Um scanner de mesa para passar ao computador rascunhos de projetos e de fotografias do local do projeto de Arquitetura e outros usos diversos, com  um mínimo de 600dpi de resolução ótica e 30 bits para as cores.

              11- Uma câmera digital com visor de cristal liquido e zoom; que possa ser acrescida de PCard para aumentar sua capacidade de armazenar fotografias.

              12- Existem outros equipamentos como placa de Vídeo (Targa), microfone,gravadora de CD (para backup) futuramente teremos CDV gravável e outros que são para trabalhos de apresentação,vídeo e guarda de arquivos.

              Estes equipamentos são uma amostragem para que já tem um certo conhecimento sobre o assunto e uma orientação ao iniciante.

              Lembrem-se desta máxima, qualquer computador por melhor que seja poderá travar quando em uso, isto é, deixar de obedecer aos comandos do teclado ou do mouse.

 

 

 

 

 

 

PREPARAÇÃO

___________________________________________________________________________

             

              Para um melhor entendimento de como proceder inicialmente antes de entrarmos nos meandros do AutoCAD, precisamos preparar diversas providências.

              Iremos utilizar do AutoCAD release 12 para Windows com instalação padrão, por ser, o mais utilizado nos escritórios de Arquitetura, (é mais veloz que o AutoCAD 13) como orientador dos caminhos a serem seguidos.

              Os processo de costumização aqui desenvolvidos pode ser utilizado em outras versões do AutoCAD (release 11, release 13 e release 14), sendo que nesta última não podemos alterar nada do padrão mas, acrescentar sob os dados padrões, já que o mesmo não aceita sem perder o visual do menu alterações no padrão original.

              Para execução dos programas de AutoLISP há necessidade de utilizar um editor de texto que, não necessariamente tenha grandes recursos de edição, deve ser ágil na sua abertura e que ocupe pouco espaço em disco rígido, enfim que seja aquele que o usuário tenha maior intimidade. (Wordstar, Norton Editor, Word, Edlin, etc.)

              As partes que devem ser consideradas para cada rotina de AutoLISP está destacada em negrito, bem como, alguns nomes importantes que devem ser lembrados.

              Os programas em AutoLISP são escritos em linguagem que não utiliza do acentos e de algumas letras características do Alfabeto Nacional, bem como dos dados de impressão utilizados pelo editor de texto; os textos são escritos no modo não formatado utilizando dos caracteres ASCII (American Standard Code Information Interchange).

              Vale lembrar, para não perder na utilização dos pares de parênteses, quando estiver escrevendo programas em AutoLISP.

              Tendo dúvida sobre AutoLISP, procure literatura específica contemplada no item de bibliografia.

              Para guardar os programas escritos em AutoLISP, criar o diretório C:\LSP através do qual todos comandos criados serão carregados.

              Iremos trabalhar sistematicamente com o arquivo HARQ12.MNU, que será o Menu que costumizaremos para trabalhar em Projetos de Arquitetura em 2D, é uma cópia do ACAD.MNU inserida no diretório MENU a ser criado no editor de texto (C:\Editor de Texto\MENU ). O arquivo ACAD.MNU está contido no diretório C:\ACADWIN\SUPPORT.

              Para serem guardado os desenhos de bibliotecas criar o diretório  C:\BIB, através do qual serão solicitadas todos os desenhos de biblioteca através de comandos em AutoLISP.

              Criar o diretório C:\SLD, no qual, serão guardados todos slides feitos a partir da biblioteca.

              Copiar para o diretório C:\SLD o comando SLIDELIB.EXE, contido no diretório C:\ACADWIN\SUPPORT, para ser utilizado na confecção do grupo de slides.

 

 

 

 

 

CAPITULO I

 

___________________________________________________________________________

 

DEFINIÇÃO DOS DADOS BÁSICOS NO  DESENHO PROTÓTIPO

 

>>>>>>>>>>>>>PROVIDÊNCIAS INICIAIS

 

              Nesta parte inicial iremos mostrar como preparar os dados que servem para definição do Desenho Protótipo (desenho de referência ou padrão).

              O nome do Desenho Protótipo é definido na configuração (Configure) do AutoCAD no item 7 (Configure operating parameters) e, dentro do item 7 o numero 2 (Initial drawing setup), dentro do quadro de diálogo escreva C:\ACADWIN\DWG\ACAD.DWG, portanto o desenho protótipo será ACAD.DWG contido no subdiretório DWG (desenhos); pode também ser definido no quadro de diálogo na primeira instalação do AutoCAD.

              Para ter o desenho protótipo no DWG copie do C:\ACADWIN\SUPPORT o ACAD.DWG para o diretório de desenhos (DWG).

              Abrindo o arquivo ACAD.DWG no AutoCAD iremos nele definir as configurações iniciais (settings) para que o mesmo seja sempre a referência de desenho futuros, portanto só a necessidade de executar uma vez já que o mesmo não sofrerá mudanças ao longo do uso do AutoCAD.

              Primeiramente no File definir as Preferences no item Enviroment (Ambiente) acrescentando nesta linha C:\ACADWIN\DWG;C:\LSP;C:\BIB;isto faz com que o AutoCAD reconheça como seu campo de trabalho também os arquivos acima.

              Outro ponto a definir é o Drawing Aids em quadro de diálogo no menu de barra superior Settings ou digitando o comando DDRMODES; no quadro de diálogo definir que X e Y  Spacing é igual a 1, trabalhar no modo ORTHO (tecla F8 - liga e desliga), Solid Fill (linhas sólidas), Blips (aparecem as cruzes brancas ao clicarmos com o mouse) e  Highlight (faz com que os objetos selecionados fiquem destacados na tela para saber quais são eles) e o restante manter o padrão do AutoCAD.

              Ainda dentro do Settings vamos definir as Unidades. Comando UNITS aparece a tela de texto; definir Decimal (nª2); Número de dígitos após a vírgula igual a 2; sistema de medidas em ângulos em decimal degrres (nª1); número fracionário do ângulo para a tela é 0; direção do ângulo 0 é east 3 o'clock ( o ângulo zero corresponde o número 3 do relógio e são definidos no sentido anti-horário; a última resposta é não para pergunta se quer os ângulos medido em horas.

              Outro comando dentro do Settings que definiremos é o Pickbox com valor 5,ele representa a figura quadrada como vetor do mouse quando devemos selecionar um objeto no editor gráfico (Tela).

              Os limites do desenho pode conservar inicialmente o padrão do AutoCAD, sendo que, após inserirmos a Prancha de desenho no tamanho e escala  mudamos os limites dos desenho através do comando LIMITS em Settings; ligar o comando GRID (Tecla F7) para saber se os limites estão na posição correta.

               Definiremos os nomes dos layers (cores), tipos de linhas bem como os dados básicos (settings) que incluem letras, números, nomes, escala  e as variáveis de sistema que definem como se quer que o AutoCAD trabalhe para você.

              O sistema métrico (medidas em metro) será o nosso padrão, não centímetros ou milímetros.

              Primeiramente vamos mostrar como se define passo a passo estes dados e depois como fazê-lo automaticamente através de um comando escrito em AutoLISP.

 

>>>>>>>>>>>>>LAYERS

 

              No menu de barra (acima) escolher o Layer Control irá aparecer um quadro de diálogo no qual consta os itens abaixo acrescido de ligado ou não o layer.

 

DEFINIÇÃO DOS LAYERS (cores) PARA ARQUITETURA

 

              TIPO

           NOME

         COR

      TIPO DE LINHA

  (Utilização)

  (Layer Name)

  (Color)

  (Linetype

 Paredes

Par

 4  (cyan)

Continuous

 Estruturas

Est

 6 (magenta)

Continuous

 Auxiliar

Aux

 7 (white)

Continuous

 Cotas (Dimensões)

Dim

 1 (red)

Continuous

 Móveis,Equipamentos

e Louças (Layout)

Lyt

 

 31 (bege)

Continuous

 Textos

Tex

 3 (green)

Continuous

 Esquadrias

Esq

 10 (vermelho)

Continuous

 Pranchas e Carimbos

Car

 5 (blue)

Continuous

 Hachurias

Hac

 7 (white)

Continuous

Notações

  Not

 3 (green)

 Continuous

 Reserva

 Res

 7(white)

Continuous

 Referências

 Ref

 2 (yellow)   

 Continuous

 Projeções

Proj

 2 (yellow)

Hidden2

 Eixo

Eix

 11 (rosado)

Center

 

              O layer "0" na cor 7 white com o tipo de linha continuous é um layer que já existente no AutoCAD, já que existe utilizar para desenhos que estão no plano mais distante (fino) de representação gráfica.

              Para definição de nomes dos Layers utilizamos os nomes pelos quais ficam mais fácil de serem reconhecidos; nas definições de cores  trabalhamos com as padrões do DOS e utilizamos das cores pasteis para as bibliotecas  e a linha de eixo (são cores que melhor


             

              Figura 1 – Quadro de diálogo de Layers

 

aparecem em fundo preto) mas, cada um tem sua maneira de definir portanto mãos a obra.

              Nomes longos (256 caracteres) permitidos pelo Windows95 são fáceis de esquecer e difícil de achar em arquivos, portanto utilizar de nomes curtos de fácil memorização.

 

>>>>>>>>>>>>>VARIÁVEIS

 

              Para definir as variáveis de dimensionamento e outras variáveis,utilizamos do comando SETARVAR juntamente com o comando Dimension Style contido no item Settings do menu de barra superior no qual teremos que informar os dados aos quadros de diálogo, em gíria de computador, dizemos que vamos setar as variáveis, isto é definir como as mesmas serão lidas pelo AutoCAD.

             

              DEFINIÇÕES DAS VARIÁVEIS DE SISTEMA E DIMENSIONAMENTO

                                   

    NOME VARIÁVEL                            VALOR  DEFINIDO

              Dimzin                                                             0

Controla a apresentação das cotas.

              Dimtxt                                                             0.1

Altura do texto das cotas.

              Dimtsz                                                             0

Tamanho do "Tick"- linha diagonal nas cotas.

              Dimtol                                                             0

Tolerância da cota.

              Dimtoh                                                            0

Texto fora da extensão horizontal.

              Dimtix                                                             0

Obriga o texto a ficar dentro das extensões.

              Dimtih                                                             0

Texto dentro das extensões horizontais.

              Dimtad                                                            1

Texto acima da linha de cota.

              Dimsoxd                                           1

Suprime as linhas fora da extensão.

              Dimsho                                                           1

Atualiza as dimensões quando usando stretch.

              Dimsah                                                            0

Permite o uso de Dimblk1 e Dimblk2 em vez de Dimblk,valor desativado.

              Dimrnd                                                            0

Valor do arredondamento.

              Dimlim                                                            0

Mostra o limite da cota quando ativada.

              Dimlfac                                                           100

Fator de escala da unidade linear.

              Dimexo                                                           0.2

Distância das linhas de extensão do objeto que foi cotado.

              Dimexe                                                           0.2

Distância do afastamento lateral.

 

              Dimdli                                                             0.75

Afastamento lateral da linha de cota.

              Dimcen                                                           0.02

Tamanho da marca de centro.

              Dimasz                                                            0.05

Tamanho da seta.

              Dimblk                                                            Dot

Bloco alternativo no lugar da seta nas cotas.

              Pdmode                                                          34

Controla o símbolo (modelo) de ponto durante o comando point.

              Pdsize                                                             0.20

Controla o tamanho do ponto.

              Osmode                                                          161

Define OSNAP básico como perpendicular.

              Osmode                                                          32

Define OSNAP como intersecção.

              Cmdecho                                                        0

 

Controla a apresentação da linha de comando (prompt), 0 = não aparece prompt.

              Dragmode                                                       2

Controla o arrasto, 2 = arrasto automático

              Mirrtext                                                           0

Controla o espelhamento do texto, 0 = nenhum espelhamento do texto.

              Highlith                                                            1

Controla se os objetos são destacados quando selecionados, 1=destacados.

              Para definição do tipo de letra usamos o comando style que nos pergunta qual tipo de letra vamos utilizar, altura e largura que são itens que vamos alterar, as demais perguntas respondemos com <Enter> aceitando o padrão do AutoCAD.

              Acima vimos como executar passo a passo o processo de Dados Básicos (Settings).

              Podemos utilizar do recurso do AutoLISP para realizarmos a mesma tarefa acima sem a necessidade de executar cada comando individualmente no prompt mas, utilizando de um só comando, o HARQSET e  incluindo-o no menu superior.

 

 

>>>>>>>>>>>>>COMANDOS

             

          1- COMANDO HARQSET

 

;***************************************************************************

;                                                        HARQSET.LSP

;

;             Este programa cria todos os layers definidos como padrão, estabelece variáveis de  

;             sistemas e  dimensionamento, os tipos de OSNAP e define a letra padrão para os    

;              textos. 

;

;***************************************************************************

 (defun C:HARQSET ()

    (setq OLDER *erro*)

    (setq *erro* erro)

;preserva o ambiente em caso de erro,é importante utilizar em todos os comandos.

    (setq OLDE (getvar "cmdecho"))

    (setvar "cmdecho" 0)

    (setavar)

;carregamos as variaveis globais definidas no comando setavar.

      (command "style" "romans" "" "" "" "" "" "" "")

;definição do tipo de letra que será usada como padrão nos textos escritos.

  (command "dim" "" "dimblk" "" "Dot" "" "exit" "")

 ;definimos o tipo de marcacao das cotas como ponto.

      (command "ucsicon" "off" "")

;o icone de UCS, será fechado.

    (command "linetype" "load" "hidden2" "" "")

    (command "linetype" "load" "center" "" "")

;carregamos os tipos de linhas que usaremos nos layers.

    (command "layer" "t" "par" "m" "par" "c" "4" ""

;utilizamos do comando (todo comando do AutoCAD fica entre aspas em AutoLISP) layer do ;AutoCAD para fazermos o layer Par na cor cyan (4) e o tê-lo como thaw, as duas aspas ( "") ;indicam <Enter>.

                     "t" "est" "m" "est" "c" "6" ""

                     "t" "esq" "m" "esq" "c" "10" ""

                     "t" "lyt" "m" "lyt" "c" "31" ""

                     "t" "txt" "m" "txt" "c" "3" ""

                     "t" "ref" "m" "ref" "c" "2" ""

                     "t" "prj" "m" "prj" "c" "2" "" "l" "hidden2" ""

          "t" "eix" "m" "eix" "c" "11" "" "l" "center" ""

;aqui acrescentamos o tipo de linha, modificando a linha contínua que é padrão.

          "t" "prd" "m" "prd" "c" "2" ""

                     "t" "car" "m" "car" "c" "5" ""

                     "t" "san" "m" "san" "c" "31" ""

                     "t" "dim" "m" "dim" "c" "1" ""

                     "t" "par" "s" "par" "" 

;deixamos como layer inicial o layer par – parede.

    )

        (setvar "dimasz" 0.05)

        (setvar "dimcen" 0.02)

        (setvar "dimdli" 0.75)

        (setvar "dimexe" 0.2)

        (setvar "dimexo" 0.2)

        (setvar "dimlfac" 100)

        (setvar "dimlim" 0)

        (setvar "dimrnd" 0)

        (setvar "dimsah" 0)

        (setvar "dimsho" 1)

        (setvar "dimsoxd" 1)

        (setvar "dimtad" 1)

        (setvar "dimtih" 0)

        (setvar "dimtix" 0)

        (setvar "dimtoh" 0)

        (setvar "dimtol" 0)

        (setvar "dimtsz" 0)

        (setvar "dimtxt" 0.1)

        (setvar "dimzin" 8)

;definição das variáveis de dimensionamento.

        (setvar "pdmode" 34)

;tipo do desenho do ponto.

        (setvar "pdsize" 0.25)

;tamanho do desenho do ponto.

       (setvar "osmode" 161)

       (setvar "osmode" 32)

;osmode define os modos de OSNAP.

       (setvar "pickbox" 5)

;o quadrado do cursor do mouse fica com abertura igual a 5.

       (setvar "dragmode" 2)

       (setvar "mirrtext" 0)

;os textos ao serem espelhados permanecem no sentido de leitura correto.

       (setvar "highligth" 1)

       (setvar "cmdecho" 0)

    (setvar "cmdecho" OLDE)

;retorna o cmdecho inicial.

 (setq *ERROR* OLDER)

    (princ)

)

;fim da rotina com prompt nulo.

                                          

              O comando HARQSET poderá ser acrescido de outros dados básicos que cada um independentemente tem, bastando para tanto ter um conhecimento prévio da linguagem de AutoLISP. Dentro deste comando pode-se mudar o nome dos layers, cores, tipos de linha e as variáveis de sistema.

 


Figura 2 – Acesso ao comando Harqset.

 

              Como exercício,mude os parâmetros das variáveis de dimensionamento e veja como elas

 apresentam no editor gráfico.

 

>>>>>>>>>>>>>MENUS

 

              Com o comando HARQSET definido vamos inseri-lo no MENU, isto é, vamos colocar o nome HARQSET no menu de barras superior como um comando padrão.

              No editor de texto abrir o arquivo HARQ12.MNU como não formatado e procurar o ***POP 8 e, na última linha o comando [/BMenu Bitmps](ai_bitmaps) logo abaixo dele acrescentamos: ( A inclusão abaixo dos comandos existentes são para não modificar o layout inicial do menu do AutoCAD.)

[--]

[--]

;utilizamos de duas linhas horizontais indicando que a partir das duas linhas começam as ;modificações de menu, costumizando-o para uso pessoal.

[/HHarqset    >]^C^C^P(if (null C:HARQSET)(load "/lsp/harqset.lsp") ^Pharqset

;o uso da barra normal e dobrando a letra, define a letra que obedecerá como comando de ;teclado no visual a letra "H"sublinhada, o ^C duplo é para anular qualquer comando que ;esteja ativado, o ^P é para não permitir que se apresente a execução do comando no ;prompt,aparecem várias palavras sendo executadas rapidamente que podem ser interpretadas ;como erro ao usuário.

;No restante solicitamos caso não exista que se carregue e execute o comando HARQSET.

;Caso deseje fazer cometários sobre o comando como acima utilizar de ponto e vírgula ";"para ;que o interpretador do AutoLISP entenda que é um comentário que esta sendo feito em ;algumas rotinas utilizaremos deste recurso.

 

>>>>>>>>>>>>>VARIÁVEIS GLOBAIS

 

              Existem variáveis que utilizamos como variáveis globais, lançamos mão da palavra "OLD" em inglês que quer dizer velho, como prefixo para, estabelecermos a lista das variáveis globais:

 

             

                 NOME DA VARIÁVEL                      VARIÁVEL DE SISTEMA

     1-

   OLDER                                   =                                       ERROR

     2-

   OLDE                                      =                                      CMDECHO

     3-

   OLDA                                      =                                     APERTURE

     4-

   OLDP                                       =                                     PICKBOX

     5-

   OLDL                                       =                                     CLAYER

     6-

   OLDO                                       =                                    OSMODE

     7-

   OLDT                                        =                                   OTHOMODE

 

 

>>>>>>>>>>>>>ACADR12.LSP

 

              Para utilização de variáveis globais lançaremos mão de um comando escrito em AutoLISP  com o nome de SETARVAR, que será inserido no arquivo ACADR12.LSP contido no diretório C:\ACADWIN\SUPPORT.

              Temos a alternativa de criar o arquivo ACAD.LSP, que irá carregar toda vez que iniciarmos o AutoCAD, como os mesmos textos do ACADR12.LSP acrescido dos dados abaixo sugeridos. Para ser criado, precisamos do editor de texto no modo não formatado. Este arquivo deverá está contido no diretório C:\ACADWIN\SUPPORT.

              Ao ser iniciado o AutoCAD irá carregar automaticamente o arquivo ACAD.LSP como referência e não irá carregar o ACADR12.LSP, que só será carregado através do Application no menu de barra superior da tela do AutoCAD.

              Voltando ao ACADR12.LSP ou ao ACAD.LSP, podemos acrescer comandos que são constantes na utilização diária do AutoCAD, como veremos abaixo.

              Abrindo o arquivo no editor de texto escreva as funções abaixo após os comentários, que podem ser alterados principalmente quanto a data e quem executou a alteração.

 

              (defun setarvar ()

 

;nesta funcao estamos definindo os parametros basicos das variaveis globais.

;quando precedido de ";" os comentarios nao terao a ortografia correta (sem acentos e letras ;certas).

;os comentarios serao escritos no modo nao formatado do editor de textos.

                            (if (or (= OLDA nil)

                                       (<= OLDA 1)

                                  )

                                 (setq OLDA 5)

                            )

                     (if (or (=OLDE nil)

                              (=OLDE 0)

                           )

                           (setq OLDE 1)    

                      )

                            (if (= OLDO nil)

                                 (setq OLDO 32)

                            )

                       (if (or (= OLDP nil)

                                (<= OLDP 1)

                             )

                            (setq OLDP 5)

                         )

                                           (if  (= OLDL nil)

                                                 (setq OLDL par)

                                           )

                            (if (= OLDT nil)

                                 (setq OLDT 1)

                            )

                                           (setvar "cmdecho" OLDE)

                                           (setvar "aperture" OLDA)

                                           (setvar "pickbox" OLDP)

                                           (setvar "clayer" OLDL)

                                           (setvar "osmode" OLDO)

                                           (setvar "orthomode" OLDT)

                            (princ)

              )

              (defun erro (chk)

;funcao de erro para preservar o ambiente.

                            (if (/= chk "function cancelled")

                            (progn

                            (setarvar)

                            (prompt (strcat "\n *ERRO* "" Funcao Cancelada"))

                            (princ)

                            )

              ) 

              No arquivo ACADR12.LSP podemos acrescentar comandos referente as teclas do teclado, isto é: podemos definir que a tecla "T" é o comando TRIM e assim por diante definir outras teclas conforme abaixo:

 

              (DEFUN C:L () (COMMAND "LINE"))

              (DEFUN C:T () (COMMAND "TRIM"))

              (DEFUN C:O () (COMMAND "OFFSET"))

              (DEFUN C:W() (COMMAND "ZOOM" "W"))

              (DEFUN C:P () (COMMAND "ZOOM" "P"))

              (DEFUN C:Q () (COMMAND "QUIT"))

              Outras funções que necessitamos diariamente é a transformação de graus em radianos e vice versa.

              (defun dtr (ANG)

                    (* pi (/ ANG 180.0))

              )

              (defun rtd (ANG)

                     (* (/ ANG pi) 180)

              )

 

 

              Neste primeiro capitulo aprendemos a escrever os comandos HARQSET, SETARVAR, ERRO e COMANDOS DE TECLAS,  incluindo-os no HARQ12.MNU  e no ACADR12.LSP ou no ACAD.LSP.

             

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CAPITULO II

 

___________________________________________________________________________

 

BIBLIOTECA DE PRANCHAS E CARIMBOS

 

              Neste Capitulo iremos expor como criar as pranchas padronizadas de desenho e carimbos, bem como, inseri-los através de slide no qual escolhemos o tipo de prancha ou carimbo, neste processo de inserção escolheremos a escala desejada para as referidas bibliotecas pelo HARQ12 menu.

 

>>>>>>>>BIBLIOTECAS

 

              Os desenhos de biblioteca serão do tipo WBLOCK e guardados no arquivo C:\BIB já criado.

              Antes de iniciarmos no desenho propriamente dito de bibliotecas vamos criar alguns comandos que agilizem a construção das mesmas.

              Os comandos serão criados através de programas em AutoLISP, quando necessitarem de um só programa de AutoLISP tem em sua nomenclatura o nome "COMANDO".

 

          2- COMANDO CRIABIB

 

;*****************************************************************************

;                                                                     CRIABIB.LSP

;

;             Este comando pega um desenho na tela do editor gráfico e o transforma em biblioteca

;               pelo comando WBLOCK e o guarda no arquivo C:\BIB de bibliotecas. Cuidado em

;               não escolher nomes com duplicidade, anote-os em um banco de dados.

;

;

;*****************************************************************************

(defun C:CRIABIB (/BIB PON)

              (setq OLDER *error*)

              (setq *error* erro)

              (setq OLDE (getvar "cmdecho"))

              (setarvar)

;estamos utilizando do comando SETARVAR, definido no ACADR12.LSP.

              (setq "cmdecho" 0)

                            (setq BIB (gestring "\nNome da biblioteca:"))

                            (setq PON (getpoint "\nPonto de insercao da biblioteca:"))

                            (prompt "\nSelecione os objetos que comporao a biblioteca:)

                            (princ)

                            (ssget)

                            (command "wblock" (strcat "C:/BIB" BIB) "" PON "p" "")

              (setvar "cmdecho" OLDE)

              (setq *ERROR* OLDER)

              (princ)

)


 

Figura 3 – Comandos de Bibliotecas.

 

          3- COMANDO INSBIB

 

;*****************************************************************************

;                                                                     INSBIB.LSP

;

;             Este comando insere uma biblioteca digitada no prompt e que esteja guardada no arquivo

;             C:\BIB pode ser utilizado para inserir blocos de desenhos que serão usados em outros

;             desenhos como referência, ao cria‑los use o prefixo "A -" com  nome do bloco,a posteriori

;             podera deletar mais facilmente do arquivo C:\BIB.

;

;*****************************************************************************

(defun C:CRIABIB (/BIB PON ANG)

              (setq OLDER *error*)

              (setq *error* erro)

              (setq OLDE (getvar "cmdecho"))

              (setarvar)

              (setq "cmdecho" 0)

                            (setq BIB (gestring "\nNome do Bloco a ser inserido:"))

                            (setq PON (getpoint "\nPonto de insercao do Bloco:"))

                            (setq ANG ("\nAngulo de insercao do bloco<0,0>:"))

                     (if (= ANG nil)

                     (setq ANG 0)

                     )

              (command "insert" (strcat "C:/BIB" BIB) PON "" "" ANG)

              (setvar "cmdecho" OLDE)

              (setq *ERROR* OLDER)

              (princ)

)

 

          4- COMANDO ATUBIB

 

;*****************************************************************************

;                                                                     ATUBIB.LSP

;

;             Este comando atualiza um desenho de biblioteca, pega um desenho na tela

;             do editor gráfico e o transforma num  biblioteca atualizada.

;                Cuidado em  não escolher nomes com duplicidade, anote-os em um banco de dados.

;

;

;*****************************************************************************

(defun C:CRIABIB (/BIB PON)

              (setq OLDER *error*)

              (setq *error* erro)

              (setq OLDE (getvar "cmdecho"))

              (setarvar)

              (setq "cmdecho" 0)

                            (setq BIB (gestring "\nNome da biblioteca:"))

                            (setq PON (getpoint "\nPonto de insercao da biblioteca:"))

                            (prompt "\nSelecione os objetos que comporao a biblioteca:)

                            (princ)

                            (ssget)

;aguarda o usuário selecionar um objeto ou um grupo de objetos.

                            (command "wblock" (strcat "C:/BIB" BIB) "" PON "p" "")

              (setvar "cmdecho" OLDE)

              (setq *ERROR* OLDER)

              (princ)

)

              Criado os comandos vamos inseri-los no menu HARQ12, abrir o menu dentro do editor de texto e procurar o item ***POP10 e, eliminar tudo que esta contido neste item já que o mesmo possui referências de Sólidos para execução de Perspectivas, assunto do qual não iremos tratar (3D) que por si só daria mais um livro, trataremos sim de desenhos em 2D.

              Em substituição o que foi eliminado escrevemos o seguinte:

***POP10

[/BBibli]

[/CCria Bib]^C^C^P$S=X $S=criabib (if (null C:CRIABIB)(load "/lsp/criabib")) ^Pcriabib

[/IIns Bib]^C^C^P (if (null C:INSBIB)(load "/lsp/insbib")) ^Pinsbib

[/AAtu Bib]^C^C^P (if (null C:ATUBIB)(load "/lsp/atubib")) ^Patubib

 

Abaixo do item SCREEN no arquivo HARQ12.MNU acrescentamos o seguintes itens que ajudarão na seleção dos objetos que comporão o desenho da Biblioteca.

 

**CRIABIB

[Cria Bib]^C^C$S=X  $S=criabib   cribib

 

Window

Last

Previous

Crossing

Remove

Add

Undo

 

**ATUBIB

[Atu Bib]^C^C$S+X   $S=atubib   atubib

 

Window

Last

Previous

Crossing

Remove

Add

Undo

 

 

>>>>>>>>PRANCHAS

 

              No editor gráfico iremos desenhar as pranchas de desenhos estabelecidas pela ABNT

(Associação Brasileira de Normas Técnicas), conforme as medidas definidas na tabela abaixo na escala em metros (1=100).

 

 

 

 

 

 

 

 

 

             

PRANCHAS DE DESENHO

 

NOMENCLATURA

 

                    DIMENSÕES (mm)

A0

 

841X1189

 

A1

 

594X841

 

A2

 

420X594

 

A3

 

297X420

 

A4

 

210X297

 

 

              Para iniciarmos o desenho das pranchas se faz necessário uma conversão de medidas  para o desenho da prancha.

              As medidas em milímetros para serem transformadas na escala 1:100 são divididas por 100 (cem), portanto, na prancha A0 temos 84,10 X 118,90, com estas dimensões desenhamos a prancha no editor gráfico no layer CAR, com ponto de inserção no encontro das diagonais e, salvamos com o comando CRIABIB (cria biblioteca) dando o nome de PRA0, que contém as iniciais de PRAncha e o modelo A0 (no arquivos fica como C:\BIB\PRA0.DWG). Repetir o processo até termos na biblioteca todo o conjunto de desenhos das pranchas acima definidas.

              Gostaria de fazer um parêntese para esclarecer uma dúvida constante, o desenho da Planta de Situação (localização do terreno dentro da quadra) é utilizado na escala de 1:500 ou 1:1.000 sendo inserido normalmente em outra prancha que esta na escala de 1:50 ou 1:100, causando grande confusão na ora de fazer a conversão por parte dos usuários, portanto, quando inserimos para escala 1:500 a escala X,Y,Z  de inserção de blocos é de 0.10 e a de 1:1.000 a escala de 0.20, isto é, reduzimos o desenho em dez ou vinte vezes o seu tamanho para que o mesmo seja plotado na escala 1:500 ou 1:1.000 numa prancha que está em 1:50. Para escala de 1:100 os fatores de conversão são o dobro 0.20 para 1:500 e 0.40 para 1:1.000, sofrendo uma redução menor no desenho. (Alerta! não exploda o bloco que contém a Planta de Situação porque as cotas são alteradas para a escala da Prancha, em vez de termos as cotas nas escala de 1:500 ou 1:1.000 elas serão convertidas em 1:50 ou 1:100, mudando seus valores reais.

              Após ter definido a biblioteca de pranchas partimos para criar o SLIDE de cada prancha.

              Inserir o desenho de uma prancha através do comando INSBIB, sem modificar a escala X e Y, no ponto de inserção desenhar um ponto com pdmode 34 e pdsize variável para cada tamanho de prancha no layer AUX, procure escolher um tamanho tal que seja visto numa figura de 3,70 X 2,40cm. num monitor de 17"; (ex.: para prancha A0, ponto = 6 e letra = 10)   dentro da prancha com o comando Texto escrever a referência da prancha (ex.:A0); feito isto, dar um zoom "e" em seguida um zoom .9x e digitar o comando MSLIDE (fazer slide), arquive os slides no diretório C:\SLD com o mesmo nome da prancha  (C:\SLD\PRA0.SLD).

              Após ter feito todos os  slides precisamos agrupá-los em um slide biblioteca; dentro do editor de texto em arquivo não formatado criamos uma listagem onde digitamos em cada linha independentemente o nome de cada slide, sem a necessidade de colocar a extensão .SLD e salvamos no arquivo PRA.TXT (a extensão deste arquivo deve ser .TXT) dentro do diretório C:\SLD.

              Copiar para o arquivo C:\SLD o arquivo SLIDELIB.EXE (faz slide biblioteca) contido no C:\ACADWIN\SUPPORT.

              No prompt do DOS mudar o diretório para C:\SLD e digitar SLIDELIB PRA<PRA.TXT, não existindo erro (é comum errar a digitação de nomes) é criado o arquivos PRA.SLB (arquivo biblioteca slide de pranchas), copiar para o diretório C:\ACADWIN\SUPPORT do AutoCAD.

              Para enxergarmos automaticamente dentro do HARQ12.MNU a biblioteca de slides devemos assim proceder.

              Dentro do editor de texto e com o arquivo HARQ12.MNU aberto na linha ***POP10 que definimos como o local onde estarão contidos os comandos referentes a BIBLIOTECA,digitamos logo abaixo da linha do comando ATUBIB (atualiza biblioteca)

 

[/PPranchas   ]^C^C^P(if (null C:PRANCHA)(load "/lsp/prancha")) ^Pprancha

 

;quando solicitamos o comando PRANCHAS iremos solicitar para ver a biblioteca de slides de ;pranchas contido no item ***icon do HARQ12.MNU.

              Para criar o comando PRANCHAS necessitamos criar duas rotinas em AutoLISP.

              Quando necessitarmos de mais do que uma rotina em AutoLISP para criar um comando daremos nome  de "ROTINA" a cada programa em AutoLISP.

 

          1- ROTINA PRANCHA

 

;*******************************************************************************

;                                                                      PRANCHA.LSP

;

;             Esta rotina transforma em comando o processo de inserir pranchas no desenho, podendo

;             ser repetido atraves de um <Enter>, primeiramente mostrara o slide de pranchas.

;

;

;*******************************************************************************

(defun C:PRANCHA ()

              (setq OLDE (getvar "cmdecho"))

              (setarvar)

              (setvar "cmdecho" 0)

              (setq OLDL (getvar "clayer:))

              (menucmd "i=pran")(menucmd "i=*)

)

              Para complementar o comando de inserir as pranchas temos que acrescentar abaixo do item ***icon contido no HARQ12.MNU o seguinte texto:

 

***icon

//Pranchas

**pran

[Selecione uma prancha para impressao]

[pra(pra0,Prancha A0]^C^C^P(setq NOM "/bib/pra0")(load "/lsp/prancha1") ^P

 

              Para cada desenho de prancha repetir a mesma rotina trocando o nome da prancha.

              Não utilizamos do comando "INSERT" do AutoCAD porque ele impede que ao repetir o comando com <ENTER> seja mostrado o conjunto de slides das bibliotecas, o <ENTER> irá repetir a inserção da última biblioteca inserida, na maior parte das vezes quer-se inserir uma outra biblioteca e não a mesma..

              Algumas bibliotecas fornecidas por fornecedores utiliza do comando insert para inserir bibliotecas o que gera o problema acima.

              Para inserir a prancha sem a utilização do comando insert necessitamos de uma rotina em AutoLISP que passaremos a descrever:

 

 

          2- ROTINA PRANCHA1

 

;*******************************************************************************

;                                                                      PRANCHA1.LSP

;

;             Esta rotina complementa a Rotina Prancha que faz com que seja inserida um prancha no

;            editor gráfico, tendo como ponto de insercao o ponto de encontro das diagonais.

;

;

;*******************************************************************************

              (setq OLDL ( getvar "clayer"))

              (menucmd "p1=esc")(menucmd "p1=*)

              (setq ESC (getreal "\nEscala:"))

              (setq XCAL (/ ESC 100))

              (command "layer" "t" "car" "m" "car" "c" "5" "" "")

              (setvar "cmdecho" OLDE)

              (command "insert" NOM "ps" XCAL pause XCAL pause pause)

              (setvar "cmdecho" 0)

              (command "layer" "s" OLDL "")

              (setvar "cmdecho" OLDE)

              (princ)

                 )

              Para complementar a rotina de pranchas  devemos criar abaixo do ***POP1, no arquivo HARQ12.MNU, as definições de escala que permitem inserirmos as pranchas na escala de desenho desejada.

              No item ***POP1 abaixo do texto [/xExit AutoCAD]^C^C_quit digitamos:

**esc

[/EEscala:]

[1:20]20;$p1=pop1

[1:25]25;$p1=pop1

[1:50]50;$p1=pop1

[1:100]100;$p1=pop1

[1:200]200;$p1=pop1

[1:500]500;$p1=pop1

[/MManual]$p1=pop1

 

               Para inserirmos as pranchas escolhemos no item BIBL no menu de barras superior e dentro dele o nome Pranchas a seguir aparece primeiramente quadro de diálogo que contem os slides (fotografia transparente) das pranchas, escolhemos uma e damos OK no quadro de diálogo, após, aparecerá no lugar de FILE no menu de barras o nome Escala e na sua extensão os nomes das escalas, escolhida a escala inserimos a prancha no local desejado no desenho contido no editor gráfico.

 

>>>>>>>>>CARIMBOS

 

              Os carimbos utilizados em projetos de Arquitetura obedecem a critérios de cada Região do Brasil, face a diversidade de carimbos nos ateremos ao que ocupa uma dimensão de 18,50 X 29,70cm. que corresponde ao rótulo da prancha ou uma dobra padrão da prancha de desenho, isto é, quando a prancha está toda dobrada nos vemos um retângulo de 18,50 X 29,70cm., no qual constam todas as informações referentes ao projeto de Arquitetura.

              Informações que constam do carimbo para região de Goiânia, Goiás.

                            a- Projeto de Arquitetura Residencial,Comercial ou Misto;

                            b- Endereço da edificação;

                            c- Nome do Proprietário e local para assinatura;

                            d- Nomes dos autores do Projeto de Arquitetura com o respectivo número do                                                                                            CREA (Conselho Regional de Engenharia, Arquitetura e Agronomia), com local

                            para assinatura.

                            e- Nomes dos responsáveis técnicos (executores da obra), com local para               

                            assinatura;

                            f- Conteúdo da Prancha  (Planta Baixa, Cortes, etc.);

                            g- Local livre para os carimbos de Aprovação;

                            h- Quadro contendo áreas de construção, terreno, ocupação, escalas, data, número                              de arquivo, tipo de construção (habitação coletiva, geminada, etc.;

                            i- Número da prancha e número total de pranchas;

                            j- Logomarca com endereço e telefone do escritório autor do projeto.

 

              Com base nos dados que devem constar no carimbo desenhamos um modelo de carimbo escolhendo os layers conforme as cores definidas com traços de representação mais fortes e mais finos, após o desenho, definimos quais os dados que não irão sofrer modificações no seu preenchimento, ou seja, não irão necessitar de atributos para serem preenchidos durante sua inserção como biblioteca na prancha de desenho, a saber:

              a- Nome de cada campo a ser preenchido (proprietário, autor do projeto, responsável técnico, área do terreno etc.);

              b- Linha para assinatura;

              c- Logomarca, endereço e telefone do escritório responsável pelo projeto;

              d- Formato do carimbo.

              Os demais dados do carimbo irão sofrer modificações a cada novo projeto, isto é, utilizando de atributos para bloco, onde na inserção temos um quadro de diálogo no qual digitamos os campos a serem preenchidos, os quais são :

              a- Nome do proprietário;

              b- Endereço;

              c- Nomes dos autores do projeto;

              d- Nomes dos responsáveis técnicos;

              e- Numeração das pranchas;

              f- Tipo de projeto e

              g- Quadro de dados.

             

              Como exemplo iremos definir a linha de preenchimento do nome do proprietário com atributos.

              Escolher o Layer TEX e o comando BLOCKS e dentro de blocos o item ATTDEF (definição de atributos), <Enter>  aceitando a definição padrão do AutoCAD, irá aparecer os prompts (linha de comando no rodapé da tela do monitor) para serem digitados:

              Atribute tag: (digitar) Nome do Proprietario:

              Atribute prompt: (digitar) Proprietário:

              Default: (digitar) Joao da Silva

              Digitar J (Justify): (digitar) center e definir o local (o nome do proprietário terá como base de preenchimento o centro de um espaço ou uma linha auxiliar que será deletada depois de definido o local de inserção do nome, faça experiências para definir outras maneiras de inserir os atributos.)

              Height: (altura da letra) .20

              Rotation: <Enter> aceitando o padrão "0 grau"

              Como definido acima termos a representação gráfica no carimbo da seguinte maneira:

 

              _______________________________________________________

              Proprietário: Nome

 

 

              Na inserção e no quadro de diálogo preenchido, a palavra "Nome"será substituída pelo nome do proprietário.

              Repetir o processo para cada item a ser preenchido no carimbo, portanto teremos o desenho do carimbo com atributos na escala de 1:100, basta salvar com o comando CRIABIB dando o nome de CAR-APR1 (Carimbo de aprovação 1) ou outro nome conforme seu critério. O ponto de inserção dos carimbos devem ser o canto inferior direito que irá igualar na inserção com o canto inferior direito das pranchas, criando o rótulo na posição correta quando da prancha dobrada.

              Criar o slide com o mesmo nome do carimbo CAR-APR1.SLD e coloca-lo junto com os slides de Pranchas ou em outro grupo de slides. Rever o processo de criar o grupo de slides em pranchas (PRA.SLB) que é um processo geral para criar a biblioteca de slides em um só arquivo de itens afins, como pranchas e carimbos..

              Este processo será o mesmo para qualquer outro tipo específico de carimbo que por ventura deseja-se criar.

              Com a biblioteca de carimbos definida vamos criar o caminho para que o mesmo seja inserido dentro do desenho através do MENU, isto é, usando do mouse dentro do editor gráfico.

              No editor de texto  em modo não formatado e no diretório MENU abrir o arquivo HARQ12.MNU aberto na linha ***POP10 que definimos como o local onde estarão contidos os comandos referentes a BIBLIOTECA, digitamos logo abaixo da linha do comando [/PPranchas]...

 

              [/CCarimbos   ]^C^C^P(if (null C:CARIMBO)(load "/lsp/carimbo"))^Pcarimbo

 

              Lembrar que estamos pedindo que apareça no editor gráfico os arquivos de slides de PRAN, que também contém os carimbos, adotando outro nome, substitua na linha acima.

              Estamos criando um comando "CARIMBO" que, conterá uma rotina e uma complementação junto ao item ***icon que, permitirá pausas na inserção para, preencher os campos definidos nos atributos o que, não aconteceria se criamos uma rotina complementar pois, temos uma gama variável de carimbos e campos a serem preenchidos, difícil de serem estabelecidos em uma rotina.


 

              Figura 4 – Desenho prancha e carimbo e local de acesso as bibliotecas.

 

          3- ROTINA CARIMBO

 

;*******************************************************************************

;                                                                      CARIMBO.LSP

;

;             Esta rotina transforma em comando o processo de inserir carimbos nas pranchas, podendo

;             ser repetido atraves de um <Enter>, primeiramente mostrara o slide de carimbos.

;

;

;*******************************************************************************

(defun C:CARIMBO ()

              (setq OLDE (getvar "cmdecho"))

              (setarvar)

              (setvar "cmdecho" 0)

              (setq OLDL (getvar "clayer:))

              (menucmd "i=pran")(menucmd "i=*)

)

 

              Abaixo do item ***icon, local do Menu em que encontramos os slides de bibliotecas e, sob o último item de //Pranchas contido no HARQ12.MNU,  digitar

***icon

//Carimbos

**pran

[Selecione um carimbo para impressao]

[pran(car-apr1,Carimbo de Aprovacao]^C^C^P(menucmd  "p1=esc")(load "/p1=*") +

;solicita para ver no POP 1 os tipos de escalas e, escolher a escala desejada, o sinal de "+" indica ;que o programa de AutoLISP continua na outra linha (isto e um comentario, portanto nao tem ;acentos ou letras como cedilha, e precedido por ponto e virgula).

(setq ESC (getreal "Escala:"));\ +

;na variável ESC e guardada a escala ex.: 1:50.

(setq XSCAL (/ esc 100 )) +

;dividir por 100 a escala para que o carimbo desenhado na escala de 1:100 seja inserida na escala ;correta.

(setvar "attdia" 1) +

;controla a entrada de atributos em quadro de dialogo

insert;c:/bib/car-apr1; ps ; !xcal ; ; \!xcal ;; \\\\\\\\\\\\\\\ +

;solicita que seja inserido o carimbo na escala correta e da as pausas necessárias para que sejam ;digitados os dados mutaveis do carimbo.

(command "layer" "s" OLDL "");+

;retorna o Layer antigo (guardado no comando SETARVAR, variável OLDL, dentro do Acadr12.lsp).

(setvar "attdia" 1 ; ^P

;ativa o controle de atributos em quadro de dialogos e nao deixa aparecer na linha de comando a ;execucao.

;para cada desenho de carimbo repetir a mesma rotina trocando o nome do carimbo.

 

              Neste capitulo incluímos comandos específicos para criar (CRIABIB) bibliotecas, inseri-las (INSBIB) e atualiza-las (ATUBIB). Definimos as variáveis globais e acrescentamo-las como parte do comando SETARVAR dentro do arquivo ACADR12.LSP. Passamos pelo processo de criar as bibliotecas de pranchas e carimbos com atributos e como inserir a biblioteca numa determinada escala. A fazer os slides a partir da biblioteca e juntá-los num só arquivo de biblioteca, comando SLIDELIB.EXE, e acrescer estas bibliotecas no MENU (HARQ12.MNU) para funcionarem dentro do editor gráfico com clicks dos mouse.

 

 

 

 

 

 

 

 

 

CAPITULO III

___________________________________________________________________________

 

BIBLIOTECA DE EQUIPAMENTOS, MÓVEIS, LOUÇAS E PAISAGEM

 

>>>>>>>EQUIPAMENTOS

 

              A biblioteca de equipamentos constitui os desenhos que serão utilizados nas plantas baixas e cortes  dos projetos de Arquitetura, são constituídas dos seguintes itens:

              a- fogões;

              b- geladeiras;

              c- freezers;

              d- lava-louças;

              e- cubas;

              f- chuveiros;

              g- elevadores;

              h- tijolo de vidro para escada de incêndio;

              i- tanques de aço inox;

              j- caixas de incêndio;

              l- caixas de passagem elétricas;

              m- caixas de passagem telefônicas;

              n- caixas para medidores de gás;

              o- escadas de marinheiro;

              p- alçapões;

              q- peças de computadores;

              r- máquina de lavar roupas; etc.

 

              Fazendo o desenho e criando simultaneamente a biblioteca de todos os equipamentos, através do comando CRIABIB, na escala de 1:100, ou aproveitando uma biblioteca existente, procurar adequar a biblioteca existente a escala de trabalho, através de experiências até encontrar o tamanho que deverá ser os desenhos de uma biblioteca existente;compatibilizar para trabalhar em metros.

              Para os nomes e pontos de inserções apresentamos sugestões:

              FOG-4BP - fogão de quatro bocas em planta baixa, ponto de inserção no canto superior esquerdo, que nos dá a referência da parede e lateral da bancada. Precisando crie uma outra biblioteca com ponto de inserção em outro lugar, a letra "P"indica que a biblioteca é para plantas baixas, letra "F"vista frontal e letra "L"vista lateral; as letras "Q" "M" e "G" indicam o tamanho de cada equipamento;

              FOG-6BP - fogão seis bocas;

              GEL-QP - geladeira pequena,mesmo ponto de inserção definido para fogões;

              GEL-MP - geladeira média;

              GEL-GP - geladeira grande;

              FRE-VP - freezer vertical;

              FRE-HP - freezer horizontal;

              LAV-QP - lava-louças pequena, mesmo ponto de inserção definido para fogões;

              LAV-GP - lava-louças grande;

              MAQ-LP - máquina de lavar roupas em planta baixa, com o mesmo ponto de inserção utilizado para os equipamentos acima; etc.

              Procure dar nomes aos equipamentos utilizando das três primeiras letras do nome do equipamento acrescido para que tipo de uso ele será (ex.: Planta baixas) e o tamanho do equipamento.

              Após o processo de criar as bibliotecas definindo seus nomes, tipos e pontos de inserção, criar os slides de cada equipamento desenhando o ponto de inserção o nome do equipamento e em alguns casos (ex.: elevadores) cotar o equipamento para que a visualização do slide seja facilitada.

              Com os slides prontos, criar o arquivo texto EQP.TXT (extensão TXT) que conterá todos os nomes dos equipamentos, cada um ocupando uma linha e não em seqüência.

              Ter no mesmo diretório os SLIDES de cada equipamento o arquivo EQP.TXT, com os nomes definidos para cada equipamento e o comando SLIDELIB.EXE do AutoCAD que deverá ser copiado do arquivo  C:\ACADWIN\SUPPORT para este que definimos no CAPITULO II que será o diretório C:\SLD.

              Tendo todos requisitos cumpridos, criar então, o slide biblioteca que conterá todos os slides de equipamentos; utilizando do prompt do DOS no diretório C:\SLD digitamos SLIDELIB EQP<EQP.TXT neste processo surgirá o arquivo EQP.SLB (arquivos que contém todos os slides dos equipamentos) que deve ser copiado para o diretório C:\ACADWIN\SUPPORT do AutoCAD.

              O próximo passo consiste em utilizar essa biblioteca dentro do MENU do AutoCAD que, copiamos como um arquivo para o editor de texto com o nome alterado de HARQ12.MNU, o qual estamos fazendo todas as alterações para costumizá-lo para ser usado nos projetos de Arquitetura em 2D.

              Abrir o arquivo HARQ12.MNU, como não formatado, no editor de textos e procurar o ***POP10, que definimos como o local onde estarão contidas todas as bibliotecas, abaixo do item [/CCarimbos]..., acrescer a seguinte linha escrita:

 

[/EEquipamentos]^C^C^P$S=eqp  $S=*

 

              Solicita para ver os slides da biblioteca de equipamentos contidos no item ***icon  setor de **eqp (equipamentos) do Menu. Esta maneira de inserir bibliotecas é bastante utilizada por bibliotecas compradas prontas, que impedem que o comando seja repetido com um <Enter>, só aceitam se a inserção seja repetida desde o início.

 

[/EEquipamentos]^C^C^P(if (null C:EQP)(load "/lsp/eqp")) ^Peqp

 

              Desta maneira transformamos em comando do AutoCAD o processo de inserção de bibliotecas que irá permitir que o comando seja repetido com um <Enter>.

              Solicitamos que seja carregado (load) o AutoLISP eqp como comando.

             

 

 

          4- ROTINA EQUIPAMENTOS

 

 

;***************************************************************************

;                                                                      EQP.LSP

;

;             Este comando insere os slides de equipamentos, permite a escolha de um móvel

;             e a repeticao do comando atraves de <Enter>, permite retornar ao layer inicial.

;

;

;***************************************************************************

(defun C:EQP ()

              (setq OLDE (getvar "cmdecho"))

              (setarvar)

              (setvar "cmdecho" 0)

              (setq OLDL (getvar "clayer"))

              (menucmd "i=eqp")(menucmd "i=*")

              (princ)

)

             

             

              Complementando o comando de inserir equipamentos, acrescer abaixo do item ***icon do Menu e, sob a última linha de //Carimbos, digitar as seguintes frases:

 

              //Equipamentos

              **eqp

              [Escolher um equipamento :]

              [eqp(fog-4bp,Fogão 4 bocas)]^C^C^P(setq NOM "/bib/fog-4bp") +

              (load "/lsp/equipa") ^P

 

              Após o nome da biblioteca temos uma vírgula que irá permitir que somente o nome depois desta irá aparecer no quadro de diálogo de slides. Nesta fase, também solicitamos que o fogão de 4 bocas em planta baixa seja guardado na variável NOM e que ao mesmo tempo seja carregado (load) o programa de AutoLISP equipa.


 

Figura 5 – Quadro de slides de  equipamentos.

 

          5- ROTINA EQUIPA

 

;***************************************************************************

;                                                                      EQUIPA.LSP

;

;             Este comando complementa a rotina EQP, insere o equipamento no desenho tendo  

;             o  layer "LYT" na cor 31 (bege) como base,  utiliza da variável global NOM e

;             retorna ao layer inicial.

;

;

;***************************************************************************

(setq OLDL (getvar "clayer"))

(command "layer" "t" "lyt" "m" "lyt" "c" "31" "" "")

(setvar "cmdecho" OLDE)

(command "insert" NOM  pause pause pause pause)

(setvar "cmdecho" 0)

(command "layer" "s" OLDL "")

(setvar "cmdecho" OLDE)

(princ)

 

              A rotina acima por si só não é um comando mas sim, uma complementação de comando.

              Para definir como comando do AutoCAD um programa em AutoLISP precisa ser  iniciado com a frase C:DEFUN (Função Definida), a letra C: define que é um comando.

 

 

>>>>>>>MÓVEIS

 

             

              A biblioteca de móveis obedece o mesmo critério adotado para as de equipamentos no seu processo de criação. Constitui nos desenhos de móveis utilizados nas plantas baixas, vistas e cortes  dos projetos de Arquitetura, são formadas dos seguintes itens:

              a- sofá 2 lugares pequeno, médio e grande;(desenhar um de cada tamanho)

              b- sofá 3 lugares pequeno, médio e grande;

              c- mesas de centro e canto e ou criados mudo em vários tamanhos e formatos;

              d- mesas de jantar em vários tamanhos e formatos com as respectivas cadeiras;

              e- aparadores e armários de diversos formatos e tamanhos;

              f-  camas de casal e solteiro;

              g- cadeiras isoladas para esperas e escritórios;

              h- cadeiras de enfeite para salas de estar;

              i- mesas para computador;

              j- mesas para escritórios;

              l- cadeiras para auditório;

              m- mesas de reuniões;

              n- sofás de canto;

              o- arquivos de aço;

              p- equipos para odontólogos;

              q- móveis para piscina; etc.

                           

              Elaborar os desenhos das bibliotecas ou aproveitar bibliotecas já existentes em seu arquivo ou adquiridos de outrem. Utilizamos do comando CRIABIB para que tenhamos todos os desenhos do tipo WBLOCK dentro do arquivo C:\BIB.

              Os desenhos de bibliotecas não tem a necessidade de apresentar um número grande de detalhes por que, praticamente são utilizados nos Projetos de Arquitetura como um todo. No caso de serem utilizados nos Detalhes de Arquitetura, podem ser mais elaborados.

              A nomenclatura segue o mesmo princípio adotado para equipamentos, utilizamos das letras que compõem o nome próprio para dar nomes a cada móvel.

 

              SOF-3QP - sofá de três lugares pequeno para plantas baixas;

              MES-CMP - mesa para computador média para plantas baixas;

              MES6-JGP - mesa de jantar com seis lugares grande para plantas baixas;

              CAD-AGP - cadeira para auditórios tamanho grande em planta baixa;

              ARQ-QP - arquivo de aço do tipo pequeno em planta baixa;

              CAD-PQF - cadeira para piscinas tipo pequena em vista frontal;

              CAD-EQL - cadeira de enfeite tipo pequena em vista lateral;

              Para os tipos de usos e tamanhos adotamos as seguintes letras que acompanham os nomes de móveis ou equipamentos.

              "P"- para plantas baixas;

              "F"- vista frontal;

              "L"- vista lateral;

              "Q"- pequeno;

              "M"- médio;

              "G"- grande;

              Definido os nomes e feita a biblioteca, repetir o processo de criar Slides tendo a preocupação em conservar o mesmo nome dado as bibliotecas.

              Para juntarmos todos os slides num só conjunto, digitamos no editor de textos no modo não formatado, em cada linha independentemente, os nomes das bibliotecas sem a extensão de DWG ou SLD e salvamos o grupo no arquivo  MOV.TXT. Observar, mais uma vez, que a extensão deste arquivo é TXT.

              Juntar no diretório C:\SLD este arquivo (MOV.TXT) e executar no prompt do DOS o comando SLIDELIB.EXE MOV>MOV.TXT, criando o arquivo MOV.SLB que, deve ser deslocado para o diretório C:\ACADWIN\SUPPORT.

              O próximo passo consiste em inserir no HARQ12.MNU o processo de escolher e inserir uma biblioteca de móveis no desenho.

              Dentro do arquivo HARQ12.MNU, tipo não formatado do editor de textos, procurar o ***POP10, que já definimos como o local onde estão contidas todas as bibliotecas e, abaixo do item [/EEquipamentos]..., acrescer a seguinte frase:

 

[/MMoveis]^C^C^P(if (null C:MOVEIS)(load "/lsp/moveis")) ^Pmoveis

 

              Cria o comando "MÓVEIS" que contém duas rotinas e solicita para ver os slides da biblioteca de móveis contidos no item ***icon  setor de **eqp (equipamentos) do Menu.

 

             

                   6- ROTINA MÓVEIS

 

;***************************************************************************

;                                                                      MOVEIS.LSP

;

;             Este comando insere os slides de moveis, permite a escolha de um móvel e a                                              ;                repeticao do comando atraves de <Enter>. Retorna ao layer inicial.

;

;

;***************************************************************************

(defun C:MOVEIS ()

              (setq OLDE (getvar "cmdecho"))

              (setarvar)

              (setvar "cmdecho" 0)

              (setq OLDL (getvar "clayer"))

              (menucmd "i=moveis")(menucmd "i=*")

              (princ)

)

               O comando de inserir os móveis é complementado abaixo do item ***icon do Menu (HARQ12.MNU) e sob a última linha de //Equipamentos digitar os seguintes textos:

 

              //Moveis

              **mov

              [Escolher um equipamento :]

              [mov(sof-3qp,sofa 3 lugares)]^C^C^P(setq NOMMV "/bib/sof-3qp") +

              (load "/lsp/mov") ^P

             

 

 

          7- ROTINA MOV

 

;***************************************************************************

;                                                                      MOV.LSP

;

;             Este comando e complementacao da rotina MOVEIS, insere o movel no editor grafico

;             sendo que o  layer "LYT" na cor 31 (bege) e de insercao,  utiliza da variável global

;             NOMMV e retorna ao layer inicial.

;

;

;***************************************************************************

(setq OLDL (getvar "clayer"))

(command "layer" "t" "lyt" "m" "lyt" "c" "31" "" "")

(setvar "cmdecho" OLDE)

(command "insert" NOMMV  pause pause pause pause)

(setvar "cmdecho" 0)

(command "layer" "s" OLDL "")

(setvar "cmdecho" OLDE)

(princ)

 

              Frisando mais uma vez, os programas escritos em AutoLISP não utilizam das letras e símbolos corretos constantes da Língua Portuguesa.

 

 

              >>>>>>>LOUÇAS

 

             

              A biblioteca de louças sanitárias (bacias, lavatórios, bidês, cubas, etc.) obedece o mesmo critério adotado para as outras bibliotecas no seu processo de criação, com a ressalva que os desenhos das bibliotecas são aproveitados os fornecidos pelos fornecedores como é o caso da DECA, IDEAL STANDARD e outras.

              Instalar a biblioteca adquirida conforme as instruções fornecidas junto e seguir os passos abaixo para modificar.

              Inserir os blocos de louças fornecidos  na escala correta e explodi-los; trocar a cor do objeto pelo 31 (bege) através do comando CHPROP (trocar propriedades) ou DDCHPROP (versões 13 e 14) e recriar a biblioteca com o comando CRIABIB obedecendo o mesmo ponto de inserção existente. Em alguns caso os nomes constantes da biblioteca adquiridas podem ser repetidos em outros casos, refazer o nome já que os mesmos são códigos difícil de entender.

              Para nomenclatura dos nomes utilize o mesmo processo adotado para os de móveis; os nomes utilizados pela biblioteca da DECA apresenta o melhor entendimento das peças. O CD-ROM que contém a biblioteca da DECA pode ser adquirido em qualquer representante.

              Reforçando o visto na criação de outras bibliotecas: As bibliotecas de louças são guardadas no arquivo C:\BIB com o formato de bloco utilizando do comando do AutoCAD WBLOCK. São inseridas pelo comando INSBIB após o qual, cria-se os slides individuais de cada louça sanitária. Fazer a lista de nomes em um arquivo texto não formatado (ex.:DECA.TXT) e depois criar o slide biblioteca que terá o mesmo nome da marca das louças (ex.: DECA.SLB, IDEAL.SLB, etc.) e conterá todos os slides individuais antes criado.

              Estas providências de textos e slides individuais da bibliotecas devem ser bem guardadas para serem atualizadas futuramente e/ou corrigidas caso venha-se constatar erros.

              Para facilitar a inserção das louças sanitárias abrimos o arquivo HARQ12.MNU   abaixo do item  ***POP10 [/BBibl] do menu e sob o comando Moveis acrescentar a marca da louça como comando (ex.: Deca, Ideal, Celite, etc.) e dentro deste comando fazer as subdivisões de cada tipo de louça e outras peças  conforme demonstramos abaixo:

 

              ***POP10

              [/BBibl]

              [->/DDeca]

;o uso da traço (-) e o sinal (>) indica que tem um quadro de menus a frente.

;[/eDeca] digitando o nome Deca desta maneira indicamos que a letra "e" é a tecla que inicia ;o comando, como esta, a letra "D" é que representa o inicio do comando.

                            [Acessorios]$I=deca1  $I=*

                            [--]

                            [Cubas]$I=deca2   $I=*

;desta maneira estamos solicitando que seja mostrado diretamente os slides de cubas ao invés de carregar um programa de AutoLISP como vimos em outras bibliotecas definidas.

                            [--]

                            [Mictorios]$I=deca3  $I=*

                            [--]

;a representacao [--] indica uma linha no quadro de menu de barras separando os nomes.

                            [Tanques]$I=deca4  $I=*

                            [--]

                            [->Loucas]

                                           [Belle Epoque]$I=deca5 $I=*

                                           [Carrara]$I=deca6  $I=*

                                           [De Ville]$I=deca7  $I=*

                                           [Duomo]$I=deca8  $I=*

                                           [Monte Carlo]$I=deca9  $I=*

                                           [Ravena]$I=deca10  $I=*

                                           [Vogue]$I=deca11  $I=*

                                           [Windsor]$I=deca12  $I=*

                                           [<-]

              [<-]

;retorna ao quadro inicial  do menu atraves do sinal (<) e o traço (-).

                           

              Para complementar o comando de inserir as louças, digitamos para cada tipo de louça definido (ex.: deca1, deca2, deca3, etc) abaixo do item ***icon do menu e sob a última linha de //Moveis.

 

              //Deca

              **deca1

              [Escolher um Acessorio :]

              [deca(cab-1,Cabide - V.F.)]^C^C^P(setq NOMD "/bib/cab-1") +

              (load "/lsp/deca") ^P

 

              O escrito acima representa que seja guardada na variável NOMD a biblioteca cab-1 (cabide em vista frontal da Deca) contida no diretório de bibliotecas (C:\BIB) e carregue o programa de AutoLISP deca que esta dentro do diretório C:\LSP.

              Para cada tipo de acessório deve-se repetir as duas linhas logo abaixo de [Escolher um Acessorio].

              Reforçando, este mesmo processo deve ser repetido para cada item da biblioteca da Deca definidos como deca2, deca3, etc.

              Para os demais marcas de louças o processo é semelhante ao feito para louças Deca, lembrar que ao criar a rotina em AutoLISP adotar para ela o mesmo nome da marca das louças para facilitar sua identificação.

 


 

              Figura 6 – Local de inserção da biblioteca de louças Deca.

 

                   8- ROTINA DECA

 

;***************************************************************************

;                                                                      DECA.LSP

;

;             Este rotina insere o  no editor grafico as loucas da marca Deca no layer "LYT"na

;             cor 31 (bege),  utiliza da variável global NOMD e retorna ao layer inicial.

;

;

;***************************************************************************

(setq OLDL (getvar "clayer"))

(setvar "cmdecho" OLDE)

(setvar "cmdecho" 0)

(command "layer" "t" "lyt" "m" "lyt" "c" "31" "" "")

;Lembrar que o nome do layer de insercao (lyt) e sua cor (31) pode ser trocado por outro ;qualquer.

(setvar "cmdecho" OLDE)

(command "insert" NOMD  pause pause pause pause)

(setvar "cmdecho" 0)

(command "layer" "s" OLDL "")

(setvar "cmdecho" OLDE)

(princ)

              Este rotina é praticamente uma repetição de outras rotinas vistas anteriormente tendo suas modificações no nome da variável global e na locação das linhas que definem o que o programa irá fazer.

              Faça experiências com a mudanças de colocação das linhas na rotina de AutoLISP e veja o que acontece quando utilizar o comando Deca.

              Neste processo utilizamos do comando "Insert" do AutoCAD para inserirmos as bibliotecas de louças, portanto, quando repetir o comando com a tecla <Enter> do mouse ou teclado será inserida novamente a mesma biblioteca.

              Para repetir os processos vistos anteriormente onde ao utilizamos da tecla <Enter> é mostrado o conjunto de slides basta utilizar de duas rotinas, sendo que, a que constará no ***POP10 é definida como um comando, veja o processo visto em móveis e execute como exercício e experiência.

 

 

              >>>>>>>PAISAGEM

 

             

              O nome Paisagem foi definido para as bibliotecas que enfeitam os desenhos de Arquitetura, são formadas dos seguintes itens:

              a- árvores pequena, média e grande em planta baixa de diversos tipos;

              b- árvores pequenas, médias e grandes em vistas de diversos tipos;

              c- automóveis pequenos, médios e grandes em planta baixa e vistas;

              d- seres humanos de diversos tipos do sexo masculino e feminino em vistas;

              e- plantas ornamentais que complementam jardins em planta baixa, cortes e vistas;

              f-  animais domésticos em planta baixa e vistas;

              g- bicicletas e motos com seres humanos em vista; etc.

 

              A definição dos nomes segue o mesmo princípio adotado para equipamentos, móveis e louças, utilizando das letras que compõem o nome de cada paisagem.

 

              JAA-1QP - jardim, árvore-1 tipo pequena para planta baixas;

              CAA-1MP -carro-1,tipo médio para planta baixa;

              HOM-1GF - homem-1,tipo grande em vista fontal;

              MOT-5GL - motocicleta-5,tipo grande em vista lateral;

              JAB -6QF -jardim tipo arbusto-6 pequeno em vista frontal;

 

              Feito o desenho das bibliotecas ou importados do CORELDRAW, com extensão DXF, é repetido todo o processo de dar nome, criar a biblioteca, fazer os slides, digitar o texto PSG.TXT com todos os nomes da biblioteca paisagem; juntar os slides no arquivo PSG.SLB e transferi-lo para o diretório C:\ACADWIN\SUPPORT.

              Após o processo de criar a biblioteca com o grupo de slides, partir para alterar o Menu (HARQ12.MNU), acrescentando no ***POP10 referente a bibliotecas e abaixo do último item definido (Deca) a rotina que cria o comando de Paisagem.

 

 

[/PPaisagem]^C^C^P(if (null C:PSG)(load "/lsp/psg")) ^Ppsg

 

              O comando de paisagem solicita que seja carregada o programa PSG.LSP.

 

          9- ROTINA PAISAGEM

 

;***************************************************************************

;                                                                      PSG.LSP

;

;             Este comando permite escolher um paisagem, atraves de um grupo de slides,

;             memoriza o layer atual, permite a repeticao do comando atraves de <Enter>. Retorna

;             ao layer inicial.

;

;

;***************************************************************************

(defun C:PSG ()

              (setq OLDE (getvar "cmdecho"))

              (setarvar)

              (setvar "cmdecho" 0)

              (setq OLDL (getvar "clayer"))

              (menucmd "i=psg")(menucmd "i=*")

              (princ)

)

 

              O comando definido para inserir as bibliotecas de paisagem é complementado abaixo do item ***icon do Menu (HARQ12.MNU) e sob a última linha de //Deca, com rotinas em AutoLISP. Lembrar que para cada uma das bibliotecas de paisagem devem ser criada a rotina de inserção é a mesma, mudando somente o nome da biblioteca de paisagem.

 

//Paisagem

              **psg

              [Escolher uma Paisagem :]

              [psg(jab-6qf,Arbusto - V.F.)]^C^C^P(setq NOMEP "/bib/jab-6qf") +

              (load "/lsp/psgc) ^P

 

              Esta rotina apresenta os nomes das bibliotecas num quadro de diálogo e arquiva na variável NOMEP a biblioteca de paisagem escolhida e solicita que seja carregada o programa em AutoLISP PSGC (complementação de paisagem).

 

          10- ROTINA PSGC      

 

;***************************************************************************

;                                                                      PSGC.LSP

;

;             Este comando complementa o processo de inserir paisagens no editor grafico,

;             conserva o layer atual  e muda para o  layer "LYT" na cor 31 (bege) e retorna ao

;             layer inicial.

;

;

;***************************************************************************

(setq OLDL (getvar "clayer"))

(command "layer" "t" "lyt" "m" "lyt" "c" "31" "" "")

(setvar "cmdecho" OLDE)

(command "insert" NOMEP  pause pause pause pause)

(setvar "cmdecho" 0)

(command "layer" "s" OLDL "")

(setvar "cmdecho" OLDE)

(princ)

 


 

Figura 7 – Slides de paisagem.

 

              Neste etapa reforçamos várias vezes o processo de criar diversos tipos de bibliotecas.            Como tornar mais veloz o processo de inserção das bibliotecas utilizando de rotinas em AutoLISP, previamente arquivadas no diretório C:\LSP. Neste processo nos utilizamos do arquivo HARQ12.MNU, definido como o Menu no qual são feitas as modificações para Arquitetura e que torna, vamos dizer, automatizadas as inserções de bibliotecas quaisquer.

              Qualquer profissional de outra área de atuação pode ter nesta metodologia uma orientação de como adequar o AutoCAD a sua maneira de trabalhar em sua profissão específica.

             

 

 

 

 

 

 

 

 

 

 

 

 

 

CAPITULO  IV

___________________________________________________________________________

 

BIBLIOTECA DE NOTAÇÃO

 

              Os símbolos que utilizamos nos desenhos de Arquitetura para representar níveis, norte verdadeiro, linhas de cortes, setas, extintores de incêndio, numeração de vagas de garagem, nomes e escalas das plantas serão denominados de Notação.

              Outras bibliotecas, dependendo da definição de cada leitor, podem ser acrescidas ou excluídas deste item

              Alguns blocos que serão definidos na biblioteca de Notação necessitam de atributos, como é o caso dos níveis, linhas de cortes e numeração das vagas, portanto cada um terá uma rotina independente em AutoLISP para serem inseridas no editor gráfico.

 

>>>>>>>NÍVEIS

 

              A biblioteca de níveis utiliza de dois blocos de desenho, um representando o nível em planta baixa e o outro o nível em corte.

              Os níveis para  serem inseridos no editor gráfico necessitam de dois dados para serem definidos, o primeiro a escala desejada de inserção e o segundo o valor do nível.

              Os dois dados necessárias para inserir um nível são definidas no desenho da biblioteca e nas rotinas de inserção.

              Escolher o Layer NOT e desenhar o símbolo do nível sem texto. Utilizando do comando BLOCKS e dentro de blocos o item ATTDEF (definição de atributos), dê um <Enter>  aceitando a definição padrão do AutoCAD, irá aparecer os prompts (linha de comando no rodapé da tela do monitor) para serem digitados:

              Atribute tag: (digitar) Valor do Nivel:

              Atribute prompt: (digitar) Nivel:

              Default: (digitar) -3.50

              Digitar J (Justify): (digitar) center e definir o local; o valor do nível terá como base de preenchimento o centro de um espaço acima da linha deixada no desenhos dos níveis para colocar o valor ( em número).

              Height: (altura da letra) .20

              Rotation: <Enter> aceitando o padrão "0 grau"

              Conforme o definido a sugestão (fig-7) para representação gráfica do nível é da seguinte maneira:

             


 

Figura 8 – Quadro de slides de notação.

 

              Definido os blocos de níveis com atributos criar a biblioteca com o comando CRIABIB, os slides individuais, repetir o processo descrito anteriormente em outras bibliotecas de criar o arquivo texto NOT.TXT e através do comando SLIDELIB.EXE criar o arquivo de todos os slides de notação (NOT.SLB) e transferir este arquivo para C:\ACADWIN\SUPPORT

              No arquivo HARQ12.MNU dentro do editor de textos fazer os seguintes acréscimos:

              Item ***POP10 já definido como o local onde contém os comandos referentes a BIBLIOTECA,digitamos logo abaixo de [/PPaisagem]

 

[/NNotacao   ]^C^C^P(if (null C:NOTA)(load "/lsp/nota")) ^Pnota

 

              Ao iniciar o comando NOTAÇÃO é solicitado que seja carregada a rotina em AutoLISP NOTA que irá acarretar todo o processo de inserção de NOTAÇÃO.

 

;***************************************************************************

;                                                                      NOTA.LSP

;

;             Esta rotina inicia o processo de inserir as notacoes no desenho,primeiramente mostrara          

;             o slide de notacao.  Podendo ser repetido o comando atraves de um <Enter>.

;

;

;***************************************************************************

(defun C:NOTA ()

              (setq OLDE (getvar "cmdecho"))

              (setarvar)

              (setvar "cmdecho" 0)

              (setq OLDL (getvar "clayer:))

              (menucmd "i=nota")(menucmd "i=*)

              (princ)

)

 

              Abaixo do item ***icon, local do Menu em que encontramos os slides de bibliotecas e, sob o último item de //Paisagem contido no HARQ12.MNU,  digitar

 

***icon

//Notacao

**nota

[Selecione um simbolo de notacao]

[nota(nivel-v,Nivel em vista]^C^C^P(setq NOMEN "/bib/nivel-v") +

(load "/lsp/nota-n")  ^P

 

              Para  inserir a biblioteca é carregada (load) a rotina  NOTA-N.

 

 

                   11- ROTINA NOTA-N

 

 

 

;***************************************************************************

;                                                                      NOTA-N.LSP

;

;             Este rotina insere a biblioteca de notacao referente a níveis, muda para o layer NOT

;             (notacao) e cor 3 (verde), retornando ao layer inicial.

;

;***************************************************************************

(setq OLDL (getvar "clayer"))

(menucmd "p1=esc")(menucmd "p1=*")

(setq ESC (getreal "\nEscala:"))

(setq XCAL (/ESC 100))

(setq NIVEL (getstring "\nDigite o nivel:"))

(command "layer" "t" "not" "m" "not" "c" "3" "" "")

(setvar "cmdecho" OLDE)

(setvar "attdia" 0)

(command "insert" NOMEN "PS" XCAL pause XCAL "" pause NIVEL)

(setvar "cmdecho" 0)

(command "layer" "s" OLDL "")

(setvar "cmdecho" OLDE)

(princ)

 

              Na inserção da biblioteca de níveis a primeira coisa solicitada é a escala para inserir o nível em segundo solicita qual o valor do nível desejado.

 

>>>>>>>LINHAS DE CORTE  E NUMERAÇÃO

 

              A biblioteca de linhas de corte e de numeração que é um número dentro de um quadrado ou círculo utilizado para numerar vagas de garagem e outros; também utiliza de dois blocos de desenho; para linhas de corte, um representando a linha de corte para o lado direito e outra para o lado esquerdo; para numeração um em formato de círculo e outro de quadrado.

              As linhas de corte e a numeração necessitam para  serem inseridas no editor gráfico dos dados definindo a escala e a letra que indicará o nome do corte ou o número; estes dados são inseridos através de rotinas e atributos em blocos.

              Executaremos o processo para linhas de corte ficando ao leitor a execução da numeração, que obedece o mesmo procedimento das linhas de corte.

              Utilizar do Layer NOT para desenhar as linhas de corte sem qualquer texto. Com o comando BLOCKS no item ATTDEF (definição de atributos), dê um <Enter>  aceitando a definição padrão do AutoCAD, irá aparecer os prompts (linha de comando no rodapé da tela do monitor) para serem digitados:

              Atribute tag: (digitar) Nome do Corte:

              Atribute prompt: (digitar) Letra:

              Default: (digitar) AA

              Digitar J (Justify): (digitar) center para definir o local onde será escrito o nome do corte o nome terá como base de preenchimento o centro de um espaço acima da linha deixada no desenhos dos níveis para colocar o valor ( em número).

              Height: (altura da letra) .20

              Rotation: <Enter> aceitando o padrão "0 grau"

                                                                                    Como definido acima (fig-7) a sugestão para a representação gráfica da Linhas de Corte é seguinte:

              Já com o grupo de slides de notação (NOT.SLB) acrescido das linhas de corte, é aproveitada a mesma rotina para iniciar o comando de linhas de corte no item  ***POP10 feita para os níveis falta definir as rotinas contidas em ***icon.

              Abaixo do item ***icon, local do Menu (HARQ12.MNU) em que encontramos os slides de bibliotecas e, sob as rotinas definidas para níveis ,  digitar

 

***icon

//Notacao

**nota

[Selecione um simbolo de notacao]

[nota(nivel-v,Nivel em vista]^C^C^P(setq NOMEN "/bib/nivel-v") +

(load "/lsp/nota-n")  ^P

[nota(nivel-p,Nivel em planta]^C^C^P(setq NOMEN "/bib/nivel-p") +

(load "/lsp/nota-n")  ^P

[nota(corte-d,Linha de corte direita]^C^C^P(setq NOMEN "/bib/corte-d") +

(load "/lsp/nota-l")  ^P

[nota(corte-e,Linha decorte esquerda]^C^C^P(setq NOMEN "/bib/cortel-e") +

(load "/lsp/nota-l")  ^P

 

              Para  inserir as linhas de corte e carregada (load) a rotina  NOTA-1.

 

                   12- ROTINA NOTA-1

 

;***************************************************************************

;                                                                      NOTA-1.LSP

;

;             Este rotina insere a biblioteca de notacao referente a linhas de corte e numeração,

;             utiliza do layer NOT (notacao) e cor 3 (verde) e, retorna ao layer inicial.

;

;***************************************************************************

(setq OLDL (getvar "clayer"))

(command "layer" "t" "not" "m" "not" "c" "3" "" "")

(setvar "cmdecho" OLDE)

(setvar "attdia" 0)

(command "insert" NOMEN  pause pause pause pause)

(setvar "cmdecho" 0)

(command "layer" "s" OLDL "")

(setvar "cmdecho" OLDE)

(princ)

 

 

>>>>>>>SETAS E NORTE 

 

              Os desenhos de setas são utilizados para definir sentidos de circulação de escadas, veículos e para indicar comentários sobre determinada área ou detalhe de desenho.

              O norte indica os pontos cardeais no terreno, comumente representado na planta de situação (localização do terreno na quadra).

              Desenhar os tipos de setas e norte e seguir o caminho de criar as bibliotecas e slides conforme o esclarecido em níveis.

              Os slides do conjunto de setas e norte são acrescidos dentro do arquivo NOT.SLB.

              Como vimos anteriormente o comando de notação é único e utilizado por qualquer biblioteca contida no NOT.SLB, portanto o escrito sob o ***POP10 é utilizado por todas as bibliotecas, inclusive a rotina NOTA.

              As modificações que acontecem restringem-se ao item ***icon, onde são acrescidas as rotinas para que serão inseridas as bibliotecas de setas e norte no editor gráfico.

 

                   13- ROTINA NOTA-D

 

;***************************************************************************

;                                                                      NOTA-D.LSP

;

;             Este rotina insere a biblioteca as bibliotecas de setas, norte e nomes, altera o layer

;             para NOT (notacao) e cor 3 (verde) e, retorna ao layer inicial.

;

;***************************************************************************

(setq OLDL (getvar "clayer"))

(menucmd "p1=esc")(menucmd "p1=*")

(setq ESC (getreal "\nEscala:"))

(setq XCAL (/ESC 100))

(command "layer" "t" "not" "m" "not" "c" "3" "" "")

(setvar "cmdecho" OLDE)

(command "insert" NOMEN "PS" XCAL pause XCAL "" pause pause)

(setvar "cmdecho" 0)

(command "layer" "s" OLDL "")

(setvar "cmdecho" OLDE)

(princ)

 

>>>>>>>NOMES

 

              Adotamos  a nomenclatura "nomes" para os títulos que utilizamos nas pranchas de Arquitetura como:

              a- Planta Baixa;

              b- Subsolo;

              c- Pavimento Térreo e Locação;

              d- Mezanino;

              e- Pavimento Tipo;

              f- Situação;

              g- Cobertura;

              h- Corte AA, etc.;

              i- Fachadas;

              j- escalas; etc.

 

              É muito mais fácil inserir o título na prancha, tendo uma biblioteca pronta, do que as vezes ter que escolher o tipo de letra e digitar nomes para tal fim, provocando um prolongando processo de execução.

              Para fazer a biblioteca de nomes utilizaremos do software CORELDRAW com sua imensa biblioteca de tipos de letras, escolhemos os tipos de letras que mais nos agradam e, digitamos os títulos que mais são usados nas pranchas de Arquitetura.

              Com a os textos feitos no CORELDRAW e, através do recurso de exporta deste software, transferimos para o AutoCAD com a extensão .DFX o arquivo no qual estão contido os nomes.

              Abrir o AutoCAD e dentro do editor gráfico introduzimos a biblioteca feita no CORELDRAW através dos comandos em seqüência UTILITY, DXF/DXB, DXFIN que faz aparecer um quadro de diálogo no qual escolhemos o arquivo que consta os nomes.

              Com os nomes no editor gráfico, salvar o arquivo com um nome provisório (NOMES-P.DWG) e iniciar um desenho novo (NEW), digitar um texto com altura que normalmente utiliza para a escala de 1:100 (ex.:.60) como referência.

              Fazendo a biblioteca após importar pode causar imperfeição na hora de plotar, os nomes ficam com seu contorno serrilhado.

              Introduzir através do comando BLOCK o arquivo NOMES-P buscando ajustar a escala conforme a referência feita. O próximo passo e fazer a biblioteca utilizando do mesmo método para os outros tipo de biblioteca, utilizar do comando CRIABIB,fazer slides individuais, anexar o texto com os nomes dos títulos no arquivo NOT.TXT e executar novamente o comando SLIDELIB.EXE para ter somente um conjunto de slides dos nomes com os outros de notação já feitos, arquivo NOT.SLB.

              Dentro do arquivo de menu HARQ12.MNU os textos utilizam do mesmo comando de NOTAÇÃO já definido em ***POP10 nos itens anteriores.

              Acrescentar sob o último item ***icon de notação a rotina individual de cada biblioteca de nome.

 

***icon

//Notacao

**nota

nota(pav-tp,Pavimento Tipo]^C^C^P(setq NOMEN "/bib/pav-tp") +

(load "/lsp/nota-d")  ^P

nota(pav-ss,Subsolo]^C^C^P(setq NOMEN "/bib/pav-ss") +

(load "/lsp/nota-d")  ^P

nota(pav-mz,Mezanino]^C^C^P(setq NOMEN "/bib/pav-mz") +

(load "/lsp/nota-d")  ^P

nota(pav-co,Cobertura]^C^C^P(setq NOMEN "/bib/pav-co") +

(load "/lsp/nota-d")  ^P

nota(pav-tr,Terreo e Locacao]^C^C^P(setq NOMEN "/bib/pav-tr") +

(load "/lsp/nota-d")  ^P

nota(cor-aa,Corte AA]^C^C^P(setq NOMEN "/bib/cor-aa") +

(load "/lsp/nota-d")  ^P

nota(fac-pr,Fachada Principal]^C^C^P(setq NOMEN "/bib/fac-pr") +

(load "/lsp/nota-d")  ^P

 

              Observar que utilizamos de rotinas já feitas anteriormente e utilizadas em outros comandos de Notação.

              Seguindo as orientações acima, pode-se criar novos tipos de notações ou outros tipos de biblioteca que possam utilizar das mesmas rotinas em AutoLISP aqui feitas.

              Este capitulo fez um apanhado sobre as bibliotecas de NOTAÇÃO que têm uma necessidade incondicional nos desenhos de Arquitetura.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CAPITULO V

 

___________________________________________________________________________

 

DESENHOS

 

              A parte referente a desenhos abrange os comandos que são ser criados para serem utilizados como recursos de agilidade na execução dos desenhos de Arquitetura.

              Existem uma gama razoável  de comandos necessários, que passamos a expor em uma lista:

 

                            a- Pilar;

                            b- Área Textos;

                            c- Numerar;

                            d- Corte de sobras de paredes (inserido diretamente no menu);

                            e- Aparar sobras de linhas;

                            f- Congelar layers;

                            g- Mudar cor das Entidades ou Objetos;

                                           h- Quebrar Objetos ou Entidades;

                            i- Vigas;

                            j- UCS-3.

 

              Primeiramente vamos apresentar os programas em AutoLISP que definem os comandos de desenho, para posteriormente introduzirmos estes comandos no menu (HARQ12.MNU).

              Os comandos apresentados abaixo podem ser repetidos através de um <Enter> no teclado ou utilizando da terceira tecla do mouse.

              Estes comandos após definidos integrarão o HARQ12.MNU que constituirá como parte integrante do AutoCAD.

 

>>>>>>PILAR

 

              O comando de pilar irá desenhar o pilar em planta baixa no layer desejado, tendo como base o canto inicial e as dimensões do pilar (@.6,.2) e, posteriormente irá hachurar o pilar com hachúria de concreto no layer escolhido e retornará ao layer inicial.

              A escolha do nome dos layer devem ser alterados pela nomenclatura adotada por cada um dos leitores ou adotar as sugestões contidas neste livro.

              Os comandos que precisão basicamente de uma rotina e que iniciam pela linha C:DEFUN em AutoLISP são considerados por nós como o comando verdadeiro para o AutoCAD, isto é, por si só executam o comando completo.

 

          5- COMANDO PILAR

 

              Neste comando iremos colocar comentários que informam o que cada linha do Programa em AutoLISP esta fazendo, como orientação.

 

 

;****************************************************************************

;                                              PILAR.LSP                         

;

;             Esta rotina desenha o pilar retangular ou quadrado no layer "EST"(estrutura)

;              em planta baixa,sendo dando suas dimensões e faz ao mesmo tempo a

;              hachuria com representacao de concreto no layer "7"(hachuria)

;              e,retorna ao layer inicial.

;

;

;****************************************************************************

(defun c:pilar(/ OLDER OLDE OLDL V1 V2 V3 V4)

;Define o nome da funcao (PILAR)e das variaveis locais que sao precedidas

;de uma barra ("/").

 (setq OLDER  *error*)

 (setq *error* erro)

;Preserva o ambiente em caso de erro.

 (setq OLDE (getvar "cmdecho"))

;Memoriza na variavel OLDE o cmdecho atual.

 (setvar "cmdecho" 0)

;Nao deixa os comandos ecoarem na tela do monitor.

   (setq v1 (getpoint "Indique vertice inicial: "))

;Guarda na variavel v1 o ponto de partida do Pilar.

   (setq v3 (getcorner v1 "\nIndique as dimensões(@x,y): "))

;Guarda na variavel v3,a partir do canto inicial as dimensões do Pilar

;(comprimento(X)e largura(Y)).

   (setq v2 (list (car v3) (cadr v1)))

;Memoriza na variavel v2 o primeiro elemento da lista de v3(X‑comprimento

;pilar) e o segundo elemento da v1(Y).

   (setq v4 (list (car v1) (cadr v3)))

;Memoriza na variavel v4 o primeiro elemento de v1(X) e o segundo elemento

;de v3 (Y ‑ largura do pilar).

   (setq OLDL (getvar "clayer" ))

;Guarda na variavel OLDL o layer atual.

   (command "layer" "t" "est" "m" "est" "c" "6" "" "")

;Altera o layer para est(estrutura)na cor 6(magenta).

   (command "pline" v1 v2 v3 v4 "c")

;Desenha atraves de polilinha o pilar unindo os pontos contidos

;nas variaveis v1,v2,v3 e v4.

   (command "layer" "t" "7" "m" "7" "c" "" "")

;Altera novamente o layer para 7(Hachuria) e cor 7(branco).

   (command "hatch" "ar‑conc" "0.03" "0" "last" "")

;Utiliza do comando Hatch para aplicar hachuria no pilar do tipo

;ar‑conc(concreto em corte),na escala de 0.03 que melhor se adequar

;ao sistema de unidades de centimentro.

   (command "layer" "s" OLDL "")

;Retorna ao layer inicial contido na variavel OLDL.

 (setvar "cmdecho" OLDE)

;Retorna o cmdecho inicial da variavel OLDE.

 (setq *ERROR* OLDER)

;Em caso de erro retorna o ambiente normal antes de iniciar o desenho do

;pilar.

 (princ)

)

;fim da rotina,prompt nulo.

 

 

>>>>>>ÁREA TEXTO

 

 

              Em desenhos de Arquitetura precisamos inúmeras vezes do calculo de áreas dos cômodos, necessitamos então, de um comando que ao clicar com o mouse nos cantos dos cômodos, utilizando do OSNAP de interseção e no mesmo sentido (horário ou anti-horário), nos seja fornecido em texto na altura requerida e, no local desejado a área do cômodo.

              Esse comando sofre modificações de acordo com a necessidade de cantos para calcular as áreas dos cômodos. (5, 6, 7, 8,  9, 10, etc.).

              Iremos apresentar 3 (três) comandos de área texto como exemplos, ficando a cargo do leitor criar os restantes de acordo com suas necessidades.

 

                           

          5- COMANDO ATXT4

 

 

;*****************************************************************************

;                             ATXT4.LSP                       

;

;              Este programa fornece a area de um comodo,com 4 cantos posicionando o

:               texto no local indicado,com angulo de insercao no sentido p1 p2.

;

;

;*****************************************************************************

(defun c:atxt4 (/ P1 P2 P3 P4 INS ALTD ANG)

 (setq OLDER  *error*)

 (setq *error* erro)

 (setarvar)

 (setq OLDE (getvar "cmdecho"))

 (setvar "cmdecho" 0)

 (setq OLDL (getvar "clayer"))

 (setq OLDT (getvar "textsize"))

 (prompt "\nTEXTO HOR: primeiro ponto esq/superior")

 (prompt "\nTEXTO VER: primeiro ponto esq/inferior")

 (setq P1(getpoint"\nIndique o primeiro canto: "))

 (command "id" P1)

 (setq P2(getpoint"\nIndique o proximo canto: "))

 (command "id" P2)

 (setq P3(getpoint"\nIndique o proximo canto: "))

 (command "id" P3)

 (setq P4(getpoint"\nIndique o ultimo canto: "))

 (command "id" P4)

 (setq INS (getpoint "\nIndique o ponto central do texto: "))

 (if (= ALTatxt nil)

  (setq ALTatxt (getreal "\nIndique altura do texto: "))

  (progn

   (setq ALTD (getreal(strcat"\nIndique altura do texto <"(rtos ALTatxt)">:")))

   (if (= ALTD nil)

    (setq ALTD nil)

    (setq ALTatxt ALTD)

   )

  )

 )

 (setq ANG (angle p1 p2))

 (command "area" P1 P2 P3 P4 "")

 (setq LAR (strcat "A="(rtos (getvar "AREA")2 2)"m2"))

 (command "layer" "t" "txt" "m" "txt" "c" "3" "" "")

 (command "text" "M" INS ALTatxt (rtd ANG) LAR)

 (setvar "textsize" OLDT)

 (command "layer" "s" OLDL "")

 (setvar "cmdecho" OLDE)

 (setq *ERROR* OLDER)

 (princ)

)

 


 

Figura 9 – Acesso Comandos Área Texto.

 

          6- COMANDO  ATXT7

 

 

;*****************************************************************************

;                             ATXT7.LSP                       

;

;              Este programa fornece a area de um comodo, com 7 cantos, posicionando o

;              texto no local indicado, com angulo de insercao no sentido p1 p2.

;

;

;*****************************************************************************

(defun c:atxt7 (/ P1 P2 P3 P4 P5 P6 P7 INS ALTD ANG LAR)

 (setq OLDER  *error*)

 (setq *error* erro)

 (setarvar)

 (setq OLDE (getvar "cmdecho"))

 (setq OLDL (getvar "clayer"))

 (setq OLDT (getvar "textsize"))

 (setvar "cmdecho" 0)

 (prompt "\nTEXTO HOR: primeiro ponto esq/superior")

 (prompt "\nTEXTO VER: primeiro ponto esq/inferior")

 (setq P1(getpoint"\nIndique o primeiro canto: "))

 (command "id" P1)

 (setq P2(getpoint"\nIndique o proximo canto: "))

 (command "id" P2)

 (setq P3(getpoint"\nIndique o proximo canto: "))

 (command "id" P3)

 (setq P4(getpoint"\nIndique o proximo canto: "))

 (command "id" P4)

 (setq P5(getpoint"\nIndique o proximo canto: "))

 (command "id" P5)

 (setq P6(getpoint"\nIndique o proximo canto: "))

 (command "id" P6)

 (setq P7(getpoint"\nIndique o ultimo canto: "))

 (command "id" P7)

 (setq INS (getpoint "\nIndique o ponto central do texto: "))

 (if (= ALTatxt nil)

  (setq ALTatxt (getreal "\nIndique altura do texto: "))

  (progn

   (setq ALTD (getreal (strcat "\nIndique altura do texto <" (rtos ALTatxt) ">: ")))

   (if (= ALTD nil)

    (setq ALTD nil)

    (setq ALTatxt ALTD)

   )

  )

 )

 (setq ANG (angle P1 P2))

 (command "area" P1 P2 P3 P4 P5 P6 P7 "")

 (setq LAR (strcat "A="(rtos (getvar "AREA")2 2)"m2"))

 (command "layer" "t" "txt" "m" "txt" "c" "3" "" "")

 (command "text" "M" INS ALTatxt (rtd ANG) LAR)

 (setvar "cmdecho" OLDE)

 (setvar "textsize" OLDT)

 (command "layer" "s" OLDL "")

 (setq *ERROR* OLDER)

 (princ)

)

 

 

          7- COMANDO  ATXT10

 

 

 

 

 

;*****************************************************************************

;                             ATXT10.LSP                            

;

;             Este programa fornece a area de um comodo, com 10 cantos, posicionando o

;             texto no local indicado, com angulo de insercao no sentido p1 p2.

;

;

;*****************************************************************************

(defun c:atxt10 (/ P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 INS ALTD ANG LAR)

 (setq OLDER  *error*)

 (setq *error* erro)

 (setarvar)

 (setq OLDE (getvar "cmdecho"))

 (setq OLDL (getvar "clayer"))

 (setq OLDT (getvar "textsize"))

 (setvar "cmdecho" 0)

 (prompt "\n Escolha o sentido de direcao da area" pause pause)

 (prompt "\n" pause)

 (setq P1(getpoint "\nIndique o primeiro canto: "))

 (command "id" P1)

 (setq P2(getpoint"\nIndique o proximo canto: "))

 (command "id" P2)

 (setq P3(getpoint"\nIndique o proximo canto: "))

 (command "id" P3)

 (setq P4(getpoint"\nIndique o proximo canto: "))

 (command "id" P4)

 (setq P5(getpoint"\nIndique o proximo canto: "))

 (command "id" P5)

 (setq P6(getpoint"\nIndique o proximo canto: "))

 (command "id" P6)

 (setq P7(getpoint"\nIndique o proximo canto: "))

 (command "id" P7)

 (setq P8(getpoint"\nIndique o proximo canto: "))

 (command "id" P8)

 (setq P9(getpoint"\nIndique o proximo canto: "))

 (command "id" P9)

 (setq P10(getpoint"\nIndique o ultimo canto: "))

 (command "id" P10)

 (setq INS (getpoint "\nIndique o ponto central do texto: "))

 (if (= ALTatxt nil)

  (setq ALTatxt (getreal "\nIndique altura do texto: "))

  (progn

   (setq ALTD (getreal (strcat "\nIndique altura do texto <" (rtos ALTatxt) ">: ")))

   (if (= ALTD nil)

    (setq ALTD nil)

    (setq ALTatxt ALTD)

   )

  )

 )

 (setq ANG (angle P1 P2))

 (command "area" P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 "")

 (setq LAR (strcat "A="(rtos (getvar "AREA")2 2)"m2"))

 (command "layer" "t" "txt" "m" "txt" "c" "3" "" "")

 (command "text" "M" INS ALTatxt (rtd ANG) LAR)

 (setvar "cmdecho" OLDE)

 (setvar "textsize" OLDT)

 (command "layer" "s"OLDL "")

 (setq *ERROR* OLDER)

 (princ)

)

 

 

>>>>>>NUMERAR

 

 

              O processo de inserir números em contagem progressiva nos desenhos de escadas tanto em planta baixa ou em cortes é  um processo cansativo que necessita de um comando que automatize este processo.

 

 

          8- COMANDO  NUMERAR

 

 

;*****************************************************************************

;                               NUMERAR.LSP                

;

;              Este programa cria a rotina de inserir um numero e progressivamente de um em um

;             vai alterando-o (util em numerar degraus de escada).

;

;*****************************************************************************

(defun c:numerar (/ H NI P1)

 (setq OLDER  *error*)

 (setq *error* erro)

 (setq OLDE (getvar "cmdecho"))

 (setvar "cmdecho" 0)

 (setq OLDL (getvar "clayer"))

   (setq H (getreal "\n Altura da letra:"))

   (setq NI (getint "\n Numero inicial <1>:"))

   (if (= NI nil)(setq NI 1))

   (setq P1 T)

   (while (/= nil P1)

     (setq P1 (getpoint "\n Ponto de insercao:"))

     (if (= P1 nil)

        (prompt "\n ")

        (progn

            (command "layer" "t" "txt" "m" "txt" "c" "3" "" "")

            (command "text" P1 H "0" NI)

            (setq NI (+ NI 1))

        )

     )

    )

 (command "layer" "s" OLDL "")

 (setvar "cmdecho" OLDE)

 (setq *ERROR* OLDER)

 (princ)

)

 

>>>>>>APARAR

 

              Várias vezes, quando desenhando surgem linhas que ultrapassam o limite desejado no desenho e necessitamos aplicar o comando TRIM diversas vezes até termos cortado todas as pontas de linhas que ultrapassaram o local.

              Para não ter que repetir sucessivamente o comando TRIM podemos utilizar de um comando único que faça isto,  que terá como base uma  ou duas linhas paralelas de referência.

 

 

          9- COMANDO  APARAR

 

 

;***************************************************************************

;                              APARAR.LSP                         

;

;             Este programa executa o comando trim automaticamente ao especificar uma ou duas

;             linhas de referencia para corte, tendo dois pontos de uma reta imaginaria passando

;             pelas pontas  a serem   cortadas.

;

;

;***************************************************************************

(defun c:aparar(/ ENT PT1 PT2 CNT SEL QTD NOM LST TPO PTi PTF INT)

 (setq OLDER  *error*)

 (setq *error* erro)

 (setq OLDE (getvar "cmdecho"))

 (setvar "cmdecho" 0)

   (setarvar)

   (setvar "cmdecho" 0)

   (setq OLDA (getvar "aperture"))

   (setq OLDP (getvar "pickbox"))

   (setq OLDBL (getvar "blipmode"))

   (setvar "blipmode" 0)

   (setq ENT (entsel "\nSelecione linha de referencia de corte:"))

   (while (= ENT nil)

    (setq ENT (entsel "\n***ERRO*** Selecione linha referencia de corte:"))

    (princ)

   )

   (setq ENT1 (entsel "\nOutra linha de corte‑<ENTER> se nao existir‑:"))

   (prompt"\nDesenhe uma reta imaginaria passando pelas pontas a serem cortadas:")

   (setq PT1 (getpoint "\nPrimeiro ponto:"))

   (setq PT2 (getpoint "\nSegundo ponto:"))

   (setq CNT 0)

   (setq SEL (ssget "c" PT1 PT2))

   (setq QTD (sslength SEL))

   (setq OLDO (getvar "osmode"))

   (Setvar "osmode" 0)

   (setvar "aperture" 1)

   (setvar "pickbox" 1)

   (repeat QTD

    (setq NOM (ssname SEL CNT))     

    (setq CNT (1+ CNT))

    (setq LST (entget NOM))

    (setq TPO (cdr (assoc 0 lst)))

    (if(= TPO "LINE")

     (progn

      (setq PTi (cdr (assoc 10 LST)))

      (setq PTF (cdr (assoc 11 LST)))

      (setq INT (inters PT1 PT2 PTi PTF))

      (if (and (/= INT nil)(/= ENT1 nil))

       (command "trim" ENT ENT1 "" INT "")

       (progn

        (if (/= INT nil)

         (command "trim" ENT "" INT "")

        )

       )

      )

     )

    )

   )

   (setvar "cmdecho" OLDE)

   (setvar "blipmode" OLDBL)

   (setvar "osmode" OLDO)

   (setvar "aperture" OLDA)

   (setvar "pickbox" OLDP)

 (setq *ERROR* OLDER)

 (princ)

)

 

              Abaixo do item SCREEN e sob ATUABIB, no arquivo HARQ12.MNU acrescentamos o seguintes itens que ajudarão na seleção dos objetos que serão aparados.

 

**APARAR

[APARAR]^C^C$S=X  $S=aparar   aparar

 

Window

Last

Previous

Crossing

Remove

Add

Undo

 

>>>>>>CONGELAR LAYERS

 

              Para facilitar o desenho necessitamos congelar alguns layers, o processo pode ser feito direto no comando de layers no menu de barra superior ou através de um comando feito em AutoLISP, onde podemos selecionar uma a um os layers a serem congelados com clicks do mouse sobre o objeto no editor gráfico que tem o layer que se quer congelar.

             

 

          10- COMANDO  CGLYR

 

 

;***************************************************************************

;                                CGLYR.LSP                      

;

;             Este programa congela os layers especificados.

;

;

;***************************************************************************

(defun c:cglyr (/ LYR V A B C D LNM NE PR)

 (setq OLDER  *error*)

 (setq *error* erro)

 (setq OLDE (getvar "cmdecho"))

 (setvar "cmdecho" 0)

   (setq LYR (getvar "clayer"))

   (setq V ",")

   (setq A "Nao se pode congelar ")

   (setq B ". E o layer atual")

   (setq C 0)

   (setq D 0)

   (prompt "\nObjeto na cor dos layers a serem congelados:")

   (setq SET (ssget))

   (setq NE (sslength SET))

   (while C

    (setq LNM (cdr(assoc 8 (entget (ssname SET D)))))

    (setq D (1+ D))

    (setq NE (1‑ NE))

    (if

     (= LYR LNM)

     (setq PR LNM)

    )

    (if

     (= NE 0)

     (setq C nil)

    )

    (command "layer" "f" LNM "")

   )  

   (if (/= PR nil)

    (prompt (strcat A LYR B))

   )

   (setvar "cmdecho" OLDE)

 (setq *ERROR* OLDER)

   (princ)

)

 

              Abaixo do item SCREEN e sob APARAR, no arquivo HARQ12.MNU acrescentamos o seguintes itens que ajudarão na seleção dos objetos cujos os layers serão congelados.

 

**CGLYR

[CGLYR]^C^C$S=X  $S=cglyr   cglyr

 

Window

Last

Previous

Crossing

Remove

Add

Undo

 

 

>>>>>>MUDAR OBJETO

 

 

              Para facilitar o desenho necessitamos congelar alguns layers, o processo pode ser feito direto no comando de layers no menu de barra superior ou através de um comando feito em AutoLISP, onde podemos selecionar uma a um os layers a serem congelados com clicks do mouse sobre o objeto no editor gráfico que tem o layer que se quer congelar.

             

 

          11- COMANDO  MOBJ

 

 

 

 

;***************************************************************************

;                                MOBJ.LSP                   

;

;              Este programa muda uma entidade(cor) para um layer especificado.

;

;

;***************************************************************************

(defun C:mobj (/ LN E N I A B C)

 (setq OLDER  *error*)

 (setq *error* erro)

 (setq OLDE (getvar "cmdecho"))

 (setarvar)

 (setvar "cmdecho" 0)

   (setq LN (entsel"\nEscolher o layer (cor) desejada: <ENTER para digitar layer>:"))

   (if (= LN nil)

    (setq LN (getstring "\nEscolher o objeto que muda: "))

    (setq LN (cdr (assoc 8 (entget (car LN)))))

   )     

   (Prompt "\nSelecionar os objetos que mudam: ")

   (setq E (ssget))

   (setq N (sslength E))

   (setq I 0)

   (repeat N

    (setq A (entget (ssname E I)))

    (setq B (list (cdr (assoc 8 A))))

    (setq C (subst (cons 8 LN)(assoc 8 A) A))

    (entmod C)

    (setq I (1+ I))

   )

 (setvar "cmdecho" OLDE)

 (setq *ERROR* OLDER)

 (princ)

)

 

>>>>>>QUEBRAR OBJETO

 

              É comum no ato de desenhar em querer quebrar uma linha, polilinha ou um arco em partes, que serão ou não acrescidas em uma polilinha.

              Normalmente utilizamos do comando BREAK, que apresenta as vezes o inconveniente de quebrar o objeto no local não desejado ou deixando um espaço que deve ser prolongado (comando EXTEND) até o local desejado.

              Podemos através do AutoLISP criar um novo comando que irá tirar o inconveniente do comando BREAK em ter de prolongar.

              Este comando executa a quebra de uma linha ou arco em duas partes, tendo como referência um ponto escolhido no objeto a ser quebrado

 

 

          12- COMANDO  QOBJ

 

 

*****************************************************************************

;                              QOBJ.LSP                   

;

;             Este programa divide um objeto em duas partes, podendo ser repetido atraves do ;  comando <Enter>

;

;*****************************************************************************

(defun C:QOBJ ()

 (setq OLDER  *error*)

 (setq *error* erro)

 (setq OLDE (getvar "cmdecho"))

 (setarvar)

 (setvar "cmdecho" 0)

   (setvar "cmdecho" OLDE)

   (terpri)

   (command "break" pause "f" pause "@")

 (setq *ERROR* OLDER)

 (princ)

)

 

>>>>>>VIGAS

 

              As vigas são bastante utilizadas nos desenhos de cortes, seguem o mesmo processo dos pilares, com a exceção de não serem hachuradas.

             

 

          13- COMANDO  VIGAS

 

 

;*****************************************************************************

;                              VIGAS.LSP          

;

;             Este programa desenha uma viga especificada nos cortes no layer est

;             (estrutura) na cor magenta.

;

;

;*****************************************************************************

(defun c:vigas(/ V1 V2 V3 V4)

 (setq OLDER  *error*)

 (setq *error* erro)

 (setq OLDE (getvar "cmdecho"))

 (setarvar)

 (setvar "cmdecho" 0)

   (setq OLDA (getvar "aperture"))

   (setq OLDP (getvar "pickbox"))

   (setq v1 (getpoint "\nCanto inicial superior: "))

   (setq v3 (getcorner v1 "\nIndique as dimensões (@x,-y): "))

   (setq v2 (list (car v3) (cadr v1)))

   (setq v4 (list (car v1) (cadr v3)))

   (setvar "aperture" 1)

   (setvar "pickbox" 0)

   (command "pline" v1 v4 v3 v2 "")

   (command "break" (polar v1 (angle v1 v2) (/ (distance v1 v2) 2)) "f" v1 v2)

   (setvar "aperture" OLDA)

   (setvar "pickbox" OLDP)

   (command "redraw")

 (setvar "cmdecho" OLDE)

 (setq *ERROR* OLDER)

 (princ)

)

 

>>>>>>UCS-3

 

              Algumas vezes, face a dificuldade de representação do desenho necessitamos mudar a origem e o sentido dos eixos X, Y, para tanto utilizamos do comando UCS, que precisa de vários clicks de mouse. Para reduzir a execução deste processo podemos utilizar de comando em AutoLISP que reduzirá drásticamente os clicks de mouse.

             

 

          14- COMANDO  UCS-3

 

 

;*****************************************************************************

;                                UCS‑3.LSP                  

;

;             Este programa leva direto para o UCS 3 point.

;

;*****************************************************************************

(defun c:ucs‑3 (/ OLDO OLDE)

    (setq OLDE (getvar "cmdecho"))

    (setq OLDO (getvar "osmode"))

    (setvar "cmdecho" 0)

    (setvar "osmode" 33)

    (command "ucs" "3" pause pause pause)

    (setvar "cmdecho" OLDE)

    (setvar "osmode" OLDO)

)

 

              Definido os comandos necessitamos inseri-los nos menu (HARQ12.MNU) para que os mesmos sejam automatizados.

              Abrir o menu dentro do editor de texto e procurar o item ***POP9 e, eliminar tudo que esta contido neste item já que o mesmo possui referências de Renderização para serem utilizados em Perspectivas (3D).

              Em substituição ao que foi eliminado escrevemos o seguinte:

 

***POP9

[/DDesenhos]

[/PPilar]^C^C^P(if (null C:PILAR)(load "/lsp/pilar")) ^Ppilar

[--]

[‑>/TArea Txt]^C^C^P

   [/CCantos:]

   [~‑‑]

   [4]^P(if (null C:ATXT4)(load "/lsp/ATXT4")) multiple ^Patxt4

   [7]^P(if (null C:ATXT7)(load "/lsp/ATXT7")) multiple ^Patxt7

   [<-10]^P(if (null C:ATXT10)(load "/lsp/ATXT10")) multiple ^Patxt10

[--]

[Numerar]^C^C^P(if (null C:NUMERAR)(load "/lsp/NUMERAR")) ^Pnumerar

[->/CCorte]

    [/XCanto‑X]^C^CZOOM;W;\\TRIM;C;\\;NEAR;\NEAR;\NEAR;\NEAR;\;ZOOM;P;

    [<-/TCanto‑T]^C^CZOOM;W;\\BREAK;NEAR;\@;FILLET;R;0;;+

    C;INT;\INT;@;;C;INT;\INT;@;ZOOM;P;

 

              Ao invés de termos uma rotina para fazer os cortes de encontro de paredes, em forma de "T"(uma parede termina em outra) ou em forma de "X" (duas paredes cruzando entre si) podemos utilizar de macros escritos diretamente dentro do menu. A barra invertida "\"indica uma pausa no macro.

 

[/AAparar]^C^C^P$S=X $S=aparar (if (null C:APARA)(load "/lsp/aparar")) ^Paparar

[/CCong Lyr]^C^C^P$S=X $S=cglyr (if (null C:CGLYR)(load "/lsp/cglyr")) ^Pcglyr

[/jQubr Obj]^C^C^P(if (null C:QOBJ)(load "/lsp/qobj")) multiple qobj ^P

[/VVigas]^C^C^Player;m;est1;c;6;;;(if (null C:VIGAS)(load "/lsp/vigas")) ^Pvigas

[/UUCS‑3]^C^C^P(if (null c:UCS‑3)(load "/lsp/ucs‑3")) ^Pucs‑3

 

              Fizemos um apanhado de comandos de desenhos neste capitulo, os quais serão de grande valia na execução de desenhos de Arquitetura no AutoCAD.

 

 

 

 

 

 

 

 

 

 

 

 

 

CAPITULO  VI

___________________________________________________________________________

 

BIBLIOTECA DE DESENHOS

 

              Iremos abordar neste capitulo comandos a serem criados em AutoLISP que são utilizados como ferramentas de desenho mas, que necessitam de bibliotecas para tal fim.

              Os comandos a serem definidos nesta etapa são bastante complexos no seu funcionamento, necessitando um bom estudo para o entendimento. 

              Seguiremos o mesmo processo anteriormente visto. Começamos criando as bibliotecas (CRIABIB) com suas respectivas nomenclatura que ficam contidas no diretório C:\BIB; a definição de bonecas ou distâncias no ***POP1 do menu (HARQ12.MNU);os programas complementares em AutoLISP para o ACADR12.LSP; as definições de funcionamento para serem acrescidas no HARQ12.MNU  e posteriormente as rotinas em AutoLISP para complementarem a inserção das bibliotecas.

              Estes comandos irão facilitar em demasia o processo de inserir uma porta ou uma janela no editor gráfico.

              Iremos percorrer a seguinte lista de biblioteca de portas em planta baixa:

 

                            a- Inserir uma porta de abrir;

                            b- Inserir uma porta de correr;

                            c- Inserir uma porta de duas folhas de abrir;

                            d- Inserir uma janela de canto;

                            e- Inserir uma janela central.

 

>>>>>>PORTAS

 

              Primeiramente vamos definir uma nomenclatura básica para definir os nomes das bibliotecas.  As portas são inseridas conforme os (04) quatro sentidos de aberturas, que ficará melhor esclarecido através do exemplo abaixo para uma porta de abrir de 60cm.

              As portas que têm como base a parede do lado de cima ou interna e com sentido de abertura da esquerda para direita terá nome PT60E1, sentido de abertura da direita para esquerda PT60D1. As que têm como referência a parede de baixo ou externa e com sentido de abertura da esquerda para direita terá nome de  PT60D e no sentido da direita para esquerda de PT60E.

              A figura abaixo mostra como é o processo da nomenclatura das portas.

Desenhar todas as portas de abrir (ex.: 75cm., 80cm., 90cm., 100cm., corta-fogo de 90cm., etc.); as portas de correr (ex.:120cm., 150cm., 180cm., 200cm, etc.) e as portas de abrir duas folhas (ex.: 100cm., 120cm., 130cm., 140cm., etc.) e fazer as devidas bibliotecas, não há necessidade de desenhar o portal ou marco pois, a rotina de inserir a porta irá construir o portal.

              Com os desenhos de portas pronto fazer os slides individuais de cada porta.

              Editar um texto no qual será colocado em cada linha os nomes das portas, lembrar que para cada tipo de porta (60cm.) temos quatro bibliotecas. Neste texto não esquecer de incluir os outros tipos de portas (correr, central, etc.) cada qual com suas quatro opções de inserção no editor gráfico.

              O canto de inserção é variável  em quatro tipos, conforme o canto de inserção desejado e o sentido de abertura da porta (ver fig. 8).

 


 

Figura 10 – Quadro de slides de portas.

 

              Para inserir as portas ou janelas precisamos das distâncias das mesmas a parede de referência (bonecas). Para definir estes valores necessitamos criar um menu para tal fim.

              As medidas das bonecas ficam abaixo do ***POP1, no arquivo HARQ12.MNU. As definições das bonecas permitem que ao inserirmos as portas e janelas apareça simultaneamente no POP1 do menu de barra (menu superior) as distâncias a serem escolhidas.

              As bonecas são aproveitadas na inserção das bibliotecas de portas de janelas.

 

              No item ***POP1 abaixo dos textos de **esc digitamos:

 

              **dst

              [/DDistancias:]

              [.025].025;$p1=pop1

              [.05].05;$p1=pop1

              [.10].10;$p1=pop1

              [.15].15;$p1=pop1

              [.20].20;$p1=pop1

              [.25].25;$p1=pop1

              [.30].30;$p1=pop1

              [.35].35;$p1=pop1

              [.40].40;$p1=pop1

              [.45].45;$p1=pop1

              [.50].50;$p1=pop1

              [.75].75;$p1=pop1

              [1.00]1;$p1=pop1

              [/MManual]$p1=pop1

 

              Necessitamos acrescer ao ACADR12.LSP contido no arquivo C:\ACADWIN\SUPPORT, como visto no Capitulo I, os  comando de portas e janelas para que os comandos possam ser repetidos através de <Enter>, sem a necessidade de iniciar todo o processo de inserir uma porta ou janela.

              Lembrar que neste item estamos também atendo a biblioteca de desenhos de janelas.

              As rotinas atendem as bibliotecas de portas e janelas em plantas baixas e em vistas.

 

              No início dos textos que compõem o ACADR12.LSP acrescer os seguintes textos:

;comandos para portas e janelas em plantas baixas.

 

(defun c:janela ()

  (menucmd "i=jan1")(menucmd "i=*")

)

(defun c:janelac ()

  (menucmd "i=jan2")(menucmd "i=*")

)

(defun c:porta ()

  (menucmd "i=por1")(menucmd "i=*")

)

(defun c:portac ()

  (menucmd "i=por2")(menucmd "i=*")

)

(defun c:portar ()

  (menucmd "i=por3")(menucmd "i=*")

)

;para portas e janelas em vista.

(defun c:vporta ()

  (menucmd "i=vpor1")(menucmd "i=*")

)

(defun c:vjanela ()

  (menucmd "i=vjan1")(menucmd "i=*")

)

             

              Nesta processo solicitamos que ao serem executados os comandos dos diversos tipos de portas e janelas nos sejam mostrados os slides que contem as bibliotecas das mesmas.

              Acrescentado no ACADR12.LSP estes comandos serão sempre carregados ao se iniciar o AutoCAD.

              A próxima etapa, é inserir no HARQ12.MNU estes comandos.

              Dentro do arquivo HARQ12.MNU, tipo não formatado do editor de textos, procurar o ***POP9, que já definimos como o local onde estão contidos os comandos de desenho, abaixo do último item [/UUCS-3]..., acrescer os seguintes textos:

 

[‑>/PPortas ]

  [/AAbir]porta

  [/CCentral]portac

  [/rCorrer]portar

 

              Ao chamar os comandos de portas será inserido os slides de portas para que seja escolhida qual tipo será usada.

              Ao escolher o tipo de porta, inicia-se a rotina que esta contida no item ***icon do menu (HARQ12.MNU), onde a biblioteca escolhida é guardada numa variável e solicitada a ser inserida no editor gráfico usado após ser definido o tamanho da boneca.

 

 

//Portas de Abrir

**por1

[Selecione uma porta de Abrir]

[por(pt60d1)]^C^C^P(setq NOMP "pt60d1")(setq LRG 0.65)(load "/lsp/por") ^P

[por(pt60d)]^C^C^P(setq NOMP "pt60d")(setq LRG 0.65)(load "/lsp/por") ^P

[por(pt60e1)]^C^C^P(setq NOMP "pt60e1")(setq LRG 0.65)(load "/lsp/por") ^P

[por(pt60e)]^C^C^P(setq NOMP"pt60e")(setq LRG 0.65)(load "/lsp/por") ^P

 

              Os slides de portas de abrir estão no arquivo POR.SLB, nome que foi escolhido para conter toda a biblioteca de portas.

              Dentro do editor de textos digitamos todos os nomes de portas, em cada linha independentemente, e salvamos como arquivo POR.TXT, que juntamente com os slides individuais e o comando SLIDELIB.EXE  devem estar contidos no mesmo arquivo.

              No prompt do DOS, executamos o comando SLIDLIBE POR<POR.TXT e temos o arquivo resultante que é o POR.SLB que deve ser deslocado para o diretório C:\ACADWIN\SUPPORT.

              Ao ser chamada  a biblioteca  individual é guardada na variável NOMP; é guardada a largura da porta mais cinco centímetros no variável LRG (largura) para ser construído posteriormente os portais ou marcos, através da rotina de POR.LSP.

 

//Portas Centrais

**por2

[Selecione uma porta Central]

[por(pc10e1)]^C^C^P(setq NOMP "pc10e1" LRG 1.05)(load "/lsp/porc") ^P

[por(pc10e)]^C^C^P(setq NOMP"pc10d1" LRG 1.05)(load "/lsp/porc") ^P

[por(pc10d1)]^C^C^P(setq NOMP "pc10d1" LRG 1.05)(load "/lsp/porc") ^P

[por(pc10d)]^C^C^P(setq NOMP "pc10e1" LRG 1.05)(load "/lsp/porc") ^P

 

              Para porta de Central escolhemos uma porta de 1m de largura como exemplo.

              Para porta central é carregada (load) com outra rotina diferente da de porta de abrir, pois, o ponto de referência é o ponto médio da parede e não uma boneca. Temos então, a rotina PORC.LSP.

 

//Portas de Correr

**por3

[Selecione uma porta de Correr]

[por(pd15e1)]^C^C^P(setq NOMP"pd15e1" LRG 1.5)(load "/lsp/porr") ^P

[por(pd15e)]^C^C^P(setq NOMP"pd15e" LRG 1.5)(load "/lsp/porr") ^P

[por(pd15d1)]^C^C^P(setq NOMP"pd15d1" LRG 1.5)(load "/lsp/porr") ^P

[por(pd15d)]^C^C^P(setq NOMP"pd15d" LRG 1.5)(load "/lsp/porr") ^P

 

              Como porta de correr temos o exemplo de uma porta com 1,50m de largura.

              Como este tipo de porta não necessita de portais ou marcos, temos novamente um nova rotina para inserir, PORR.LSP.

              A seguir passamos a expor as rotinas de inserção de portas.

 

          14- ROTINA POR

 

;*************************************************************************

;                                         

;                                                        POR.LSP

;  

;

;**************************************************************************

; DESCRICAO

;  

;   Esta rotina e de Arquitetura, insere a porta normal com portal e retira

;   o pedaco de alvenaria no local da porta, colocando‑os nos layers

;   correto, portanto, cria o PORTAL e INSERE O BLOCO PORTA DE ABRIR

;   guardado no arquivo BIBLIOTECA (C:\BIB), escolhesse o tamanho da PORTA, pelo   

;    slide e o nome da mesma que esta contidos nas variareis NOMP e LRG.

;    Nesta rotina iremos fazer comentários sobre cada atitude adota em AutoLISP.

;

;‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑;

;

; Funcao

;

  (menucmd "p1=dst")(menucmd "p1=*")  

;utiliza as distancias (bonecas) predefinidas no menu HARQ12.MNU ‑ POP1.

 (setq OLDER  *error*)

 (setq *error* erro)

; preserva o ambiente em caso de erro.

  (setq OLDE (getvar "cmdecho"))

;memoriza o cmdecho atual.  

  (setq OLDO (getvar "osmode"))

;memoriza o tipo de OSNAP

  (setvar "cmdecho" 0)

;nao deixa os comandos de programacao ecoar na tela.

  (setvar "osmode" 512)

;coloca o OSNAP no modo proximo.

  (setq DST (getreal "\nDistancia ao canto (boneca): "))

;memoriza a distancia do portal ao canto da parede,esta no POP 1(MENU).

  (setq A (getpoint "\nIndique o canto de fixacao da porta:(dobradica) "))

;memoriza o ponto1 na linha de parede,proximo, na qual a porta vai abrir,

;o lado das dobradicas.

  (command "id" A)

;memoriza as coordenadas da variavel A.

  (setq A0 (osnap A "nea"))

;considera um OSNAP proximo e em qualquer lugar da linha.

  (while (= A0 nil)

;caso nao se consiga da primeira vez,repetir.

    (setq A (getpoint "\n**ERRO** Selecione canto de fixacao da porta:"))

    (setq A0 (osnap A "nea"))

  )

  (setq A1 (osnap A0 "end"))

;engata no OSNAP a ponta.

  (setq B0 (getpoint "\nIndique a parede oposta: "))

;memoriza o ponto2 (proximo) da parede oposta que vai fixar a porta.

  (command "id" A1)

;memoriza as coordenadas da variavel A1.

  (setq B1 (osnap B0 "per"))

;memoriza o OSNAP perpendicular do ponto2 em relacao a A1.

  (while (= B1 nil)

;caso nao se consiga da primeira vez,repetir a escolha do ponto.

    (setq B0 (getpoint "\n**ERRO** Indique a parede oposta: "))

    (setq B1 (osnap B0 "per"))

  )

  (setvar "osmode" 0)

;coloca o OSNAP no modo nenhum.

  (setq ANG1 (angle A1 A0))

;memoriza angulo.

  (setq ANG2 (angle A0 A1))

;reforca a memoria do angulo.

  (setq ANG3 (angle A1 B1))

;memoriza angulo entre os pontos que determinam espessura parede.

  (setq INS (polar A1 ANG1 DST))

;memoriza a boneca com o angulo da mesma,ponto de inicio do desenho

;do portal.

  (setq ESP (distance A1 B1))

;memoriza a espessura da parede ‑ ex.:15cm.

  (setq A (polar INS ang1 0.025))

;espesurra do portal sem jabe.

  (setq B (polar A ang3 0.035))

;espessura do portal com jabe.

  (setq C (polar B ang1 0.01))

;este ponto e o jabe do portal.

  (setq D (polar C ang3 (‑ ESP 0.035)))

  (setq E (polar D ang2 0.035))

;memoriza as coordenadas dos pontos que criam o portal.

  (setq OLDA (getvar "aperture"))

;memoriza a variavel de sistema aperture.

  (setq OLDL (getvar "clayer"))

;memoriza o layer atual.

  (setq OLDP (getvar "pickbox"))

;memoriza o pickbox atual.

  (setvar "aperture" 1)

;coloca a aperture no minimo possivel,para dar precisao.

  (setvar "pickbox" 0)

;coloca o pickbox no menor tamanho possivel,para dar precisao.

  (command "layer" "t" "esq" "m" "esq" "c" "10" "esq" "")

;troca o layer para o esq (esquadria) na cor 10.

  (setq PM1 (polar INS ANG1 (/ LRG 2)))

  (setq PM2 (polar E ANG1 (/ LRG 2)))

;determina o ponto medio da porta pela variavel LRG a variavel LRG

;e a largura da porta acrescido de 5cm.ex.:porta70 fica 75cm.

  (setq DIR (substr NO 5 1))

;subtrai a letra que determina a posicao de insercao da porta no nome

;da porta dentro do arquivo biblioteca ex.PT60D ‑ pega a letra "D".

  (command "break" PM1 "f" INS (polar INS ANG1 LRG))

  (command "break" PM2 "f" E (polar INS ANG1 LRG))

;Divide objeto em duas partes e escolhe primeiro e segundo pontos.

  (if (= DIR "d")

;analisa se na variavel dir contem a letra "D" do nome da porta.

    (command "insert" (strcat "C:/BIB/" NOMP) INS "" "" (rtd ANG2))

    (command "insert" (strcat "C:/BIB/" NOMP) INS "" "" (rtd ANG1))

;extrai do arquivo c:\bib (bibliotecas) o bloco de desenho da porta,

;conforme a escolha do canto de fixacao e largura, esta, numa biblioteca

;de slides e com um nome tipo PT60D. rtd ‑ radianos para graus.

  )

  (command "pline" INS A B C D E "")

;desenha o portal no lado de fixacao da porta,lado das dobradicas.

  (command "line" E INS "")

;desenha a linha de alvenaria que faceia o portal internamente.

  (command "chprop" "l" "" "la" "par" "")

;muda a cor da linha de alvenaria para o layer par (parede).

  (command "mirror" "l" C "" PM2 (polar PM1 ANG3 LRG) "n")

;espelha o portal e linha da alvenaria para o outro lado da porta,

;o lado da fechadura,tendo o ponto medio como referencia.

  (command "layer" "s" OLDL "")

;retorna ao layer inicial.

  (command "redraw")

;executa um redraw,redesenha a tela.

  (setvar "aperture" OLDA)

;retorna aperture inicial.

  (setvar "cmdecho" OLDE)

;retorna o cmdecho inicial.

  (setvar "osmode" OLDO)

;retorna o OSNAP original.

  (setvar "pickbox" OLDP)

;retorna o pickbox inicial.

(setq *ERROR* OLDER)

;em caso de erro retorna o ambiente normal.

  (princ)

;fim da rotina com prompt nulo.

 

              Para inserir as portas do tipo central necessitamos de outra  rotina em AutoLISP,conforme já dito anteriormente.

             

          15- ROTINA PORC

 

;*****************************************************************************

;                                PORC.LSP                        

;

;              Este programa insere uma porta do tipo central no desenho,cortando parede

;              e complementando‑a,depois de prontas as variareis NO e LRG,que determinam

;             o nome da porta e a largura da mesma,conforme biblioteca de portas.

;

;*****************************************************************************

  (menucmd "p1=dst")(menucmd "p1=*")

  (setq OLDE (getvar "cmdecho"))

  (setq OLDO (getvar "osmode"))

  (setvar "cmdecho" 0)

  (setvar "osmode" 0)

  (setq DST (getreal "\nDistancia ao canto (boneca): "))

  (setq A0 (getpoint "\nIndique o canto de fixacao da porta: "))

  (command "id" A0)

  (setq A0 (osnap A0 "nea"))

  (setq A1 (osnap A0 "end"))

  (setq B0 (getpoint "\nIndique a parede oposta: "))

  (command "id" A1)

  (setq B1 (osnap B0 "per"))

  (setq ANG1 (angle A1 A0))

  (setq ANG2 (angle A0 A1))

  (setq ANG3 (angle A1 B1))

  (setq INS (polar A1 ANG1 DST))

  (setq ESP (distance A1 B1))

  (setq A (polar INS ang1 0.025))

  (setq B (polar A ang3 0.035))

  (setq C (polar B ang1 0.01))

  (setq D (polar C ang3 (‑ ESP 0.035)))

  (setq E (polar D ang2 0.035))

  (setq OLDA (getvar "aperture"))

  (setq OLDL (getvar "clayer"))

  (setq OLDP (getvar "pickbox"))

  (setvar "aperture" 1)

  (setvar "pickbox" 0)

  (command "layer" "t" "esq" "m" "esq" "c" "10" "esq" "")

  (setq PM1 (polar INS ANG1 (/ LRG 2)))

  (setq PM2 (polar E ANG1 (/ LRG 2)))

  (setq DIR (substr NOMP 5 1))

  (command "break" PM1 "f" INS (polar INS ANG1 LRG))

  (command "break" PM2 "f" E (polar INS ANG1 LRG))

  (if (= DIR "d")

    (command "insert" (strcat "C:/BIB/" NOMP) INS "" "" (rtd ANG2))

    (command "insert" (strcat "C:/BIB/" NOMP) INS "" "" (rtd ANG1))

  )

  (command "pline" INS A B C D E "")

  (command "line" E INS "")

  (command "chprop" "l" "" "la" "par" "")

  (command "mirror" E C "" PM1 (polar PM1 ANG3 LRG) "n")

  (command "layer" "s" OLDL "")

  (command "redraw")

  (setvar "aperture" OLDA)

  (setvar "cmdecho" OLDE)

  (setvar "osmode" OLDO)

  (setvar "pickbox" OLDP)

 

              Para inserir as portas do tipo central necessitamos de outra  rotina em AutoLISP,conforme já dito anteriormente.

             

          16- ROTINA PORR

 

*****************************************************************************

;                                                         PORR.LSP                          

;

;              Este programa insere uma porta de correr,cortando parede e complementando‑a

;              depois de prontas as variareis NO e LRG,que determinam o nome e a largura da

;                porta.

;

;*****************************************************************************

  (menucmd "p1=dst")(menucmd "p1=*")

  (setq OLDE (getvar "cmdecho"))

  (setq OLDO (getvar "osmode"))

  (setvar "cmdecho" 0)

  (setvar "osmode" 512)

  (setq DST (getreal "\nDistancia ao canto (boneca): "))

  (setq A0 (getpoint "\nIndique o canto de fixacao da janela: "))

  (command "id" A0)

  (setq A1 (osnap A0 "end"))

  (setq B0 (getpoint "\nIndique a parede oposta: "))

  (command "id" A1)

  (setq B1 (osnap B0 "per"))

  (setq ANG1 (angle A1 A0))

  (setq ANG2 (angle A0 A1))

  (setq ANG3 (angle A1 B1))

  (setq ESP (distance A1 B1))

  (setq INS (polar A1 ANG1 DST))

  (setq PT1 (polar INS ANG3 ESP))

  (setq PT2 (polar INS ANG1 LRG))

  (setq PT3 (polar PT1 ANG1 LRG))

  (setq OLDA (getvar "aperture"))

  (setq OLDL (getvar "clayer"))

  (setq OLDP (getvar "pickbox"))

  (setvar "aperture" 1)

  (setvar "pickbox" 0)

  (command "layer" "t" "esq" "m" "esq" "c" "10" "esq" "")

  (setq PM1 (polar INS ANG1 (/ LRG 2)))

  (setq PM2 (polar PT1 ANG1 (/ LRG 2)))

  (setq DIR (substr NO 5 1))

  (command "break" PM1 "f" INS PT2)

  (command "break" PM2 "f" PT1 PT3)

  (if (= DIR "d")

    (command "insert" (strcat "C:/BIB/" NOMP) INS "" "" (rtd ANG2))

    (command "insert" (strcat "C:/BIB/" NOMP) INS "" "" (rtd ANG1))

  )

  (command "layer" "t" "par" "m" "par" "c" "4" "par" "") 

  (command "line" INS PT1 "")

  (command "line" PT2 PT3 "")

  (command "layer" "t" "0" "m" "0" "c" "7" "0" "")

  (command "line" INS PT2 "")

  (command "layer" "s" OLDL "")

  (command "redraw")

  (setvar "aperture" OLDA)

  (setvar "cmdecho" OLDE)

  (setvar "osmode" OLDO)

  (setvar "pickbox" OLDP)

 

 

>>>>>>JANELAS

 

              A nomenclatura básica para definir os nomes das bibliotecas, segue a mesma metodologia feita para as portas.

              As janelas que têm como base a parede do lado de cima ou interna e com canto de inserção da esquerda para direita terá nome JAN60E1; no canto da direita para esquerda JAN60D1. As que têm como referência a parede de baixo ou externa e com o canto da esquerda para direita terá nome de  JAN60D e no canto da direita para esquerda de JAN60E.

              As janelas podem ser inseridas conforme o canto escolhido, como temos quatro opções de inserção teremos uma biblioteca de janela específica para canto de inserção

              A figura abaixo mostra como é o processo da nomenclatura e inserção das janelas .

 


 

              Figura 11 – Quadro de slides de janelas de canto.

 

              As duas linhas que definem o PEITORIL não são necessárias serem desenhadas nas bibliotecas de janelas, pois, as mesmas são criadas pelas rotinas de incerção de janelas abaixo.  

 

 

              As modificações no ACADR12.LSP para janelas já foram contempladas na biblioteca de portas.

              No arquivo HARQ12.MNU, acrescer sob o ***POP9, que já definido anteriormente como o local onde estão contidos os comandos de desenho e, abaixo do último item [/PPortas]..., acrescer os seguintes textos:

 

[‑>/JJanelas]

  [/aCanto]janela

  [<‑/CCentral]janelac

[‑‑]

 

              Ao chamar os comandos de janelas, primeiramente serão inseridos os slides, para que seja escolhida qual tipo de janela será usada.

              Escolhendo o tipo de janela, inicia-se a rotina que esta contida no item ***icon do menu (HARQ12.MNU), onde a biblioteca escolhida é guardada numa variável; é definida a boneca e posteriormente é inserida no editor gráfico.

 

//Janelas de Canto

**jan1

[Selecione uma janela de Canto]

[jan(ja06e1)]^P(setq NOM "ja06e1" LRG 0.6)(load "/lsp/janel") ^P

[jan(ja06e)]^P(setq NOM "ja06e" LRG 0.6)(load "/lsp/janel") ^P

[jan(ja06d1)]^P(setq NOM "ja06d1" LRG 0.6)(load "/lsp/janel") ^P

[jan(ja06d)]^P(setq NOM "ja06d" LRG 0.6)(load "/lsp/janel") ^P

 

              O exemplo utilizado como biblioteca, é de uma janela com largura de 60cm,com suas quatro maneiras de serem inseridas.

              Para inserir as janelas de canto necessitamos desta rotina em AutoLISP, que é arquivada no diretório C:\LSP, definido em preparação.

             

          17- ROTINA JANEL

 

;*****************************************************************************

;                                                           JANEL.LSP                    

;

;              Este programa insere uma janela de canto, depois de definidas as variaveis NOM,

;             nome da biblioteca, e LRG que contem a largura da janela em planta baixa.

; 

;

;

;*****************************************************************************

  (menucmd "p1=dst")(menucmd "p1=*")

  (setq OLDER  *error*)

  (setq *error* erro)

  (setq OLDE (getvar "cmdecho"))

  (setq OLDO (getvar "osmode"))

  (setvar "cmdecho" 0)

  (setvar "osmode" 512)

  (setq DST (getreal "\nDistancia ao canto (boneca): "))

  (setq A (getpoint "\nIndique o canto de fixacao da janela: "))

  (command "id" A)

  (setq A0 (osnap A "nea"))

  (while (= A0 nil)

    (setq A (getpoint "\n**ERRO** Indique o canto de fixacao novamente: "))

    (setq A0 (osnap A "nea"))

  )

  (setq A1 (osnap A0 "end"))

  (setq B0 (getpoint "\nIndique a parede oposta: "))

  (command "id" A1)

  (setq B1 (osnap B0 "per"))

  (while (= B1 nil)

    (setq B0 (getpoint "\n**ERRO** Indique a parede oposta novamente: "))

    (setq B1 (osnap B0 "nea"))

  )

  (setvar "osmode" 0)

  (setq ANG1 (angle A1 A0))

  (setq ANG2 (angle A0 A1))

  (setq ANG3 (angle A1 B1))

  (setq ESP (distance A1 B1))

  (setq INS (polar A1 ANG1 DST))

  (setq PT1 (polar INS ANG3 ESP))

  (setq PT2 (polar INS ANG1 LRG))

  (setq PT3 (polar PT1 ANG1 LRG))

  (setq OLDA (getvar "aperture"))

  (setq OLDL (getvar "clayer"))

  (setq OLDP (getvar "pickbox"))

  (setvar "aperture" 1)

  (setvar "pickbox" 0)

  (command "layer" "t" "esq" "m" "esq" "c" "10" "esq" "")

  (setq PM1 (polar INS ANG1 (/ LRG 2)))

  (setq PM2 (polar PT1 ANG1 (/ LRG 2)))

  (setq DIR (substr NOM 5 1))

  (if (= DIR "d")

    (command "insert" (strcat "C:/BIB/" NOM) INS "" "" (rtd ANG2))

    (command "insert" (strcat "C:/BIB/" NOM) INS "" "" (rtd ANG1))

  )

  (command "break" PM1 "f" INS PT2)

  (command "break" PM2 "f" PT1 PT3)

  (command "layer" "t" "par" "m" "par" "c" "4" "par" "") 

  (command "line" INS PT1 "")

  (command "line" PT2 PT3 "")

  (command "layer" "t" "0" "m" "0" "c" "7" "0" "")

  (command "line" INS PT2 "")

  (command "line" PT1 PT3 "")

  (command "layer" "s" OLDL "")

  (command "redraw")

  (setvar "aperture" OLDA)

  (setvar "cmdecho" OLDE)

  (setvar "osmode" OLDO)

  (setvar "pickbox" OLDP)

  (setq *ERROR* OLDER)

  (princ)

 


 

Figura 12 – Localização da inserção de janelas no menu suspenso.

 

              Quando a janela é do tipo central, acrescentamos os seguintes textos, abaixo de ***icon, seguindo a seqüência de janelas visto acima; os exemplos escolhidos das janelas têm suas larguras de 60cm., 75cm. e 1,00m.

 

//Janelas Centrais

**jan2

[Selecione uma janela Central]

[jan(jc06d)]^C^C^P(setq NOM "ja06d" LRG 0.6)(load "/lsp/janc") ^P

[jan(jc07d)]^C^C^P(setq NOM "ja07d" LRG 0.75)(load "/lsp/janc") ^P

[jan(jc10d)]^C^C^P(setq NOM "ja10d" LRG 1.0)(load "/lsp/janc") ^P

 

              As janelas tipo central necessitam desta rotina específica em AutoLISP.

             

          18- ROTINA JANC

 

 

 

 

;*****************************************************************************

;                                            JANC.LSP               

;

;              Este programa insere uma janela central a partir do ponto medio da parede.

;

;

;*****************************************************************************

(setq OLDE (getvar "cmdecho"))

(setvar "cmdecho" 0)

(setq OLDL (getvar "clayer"))

(setq PTM (osnap (getpoint "\nIndique parede interna:") "mid"))

(command "id" PTM)

(setq PT1 (osnap (getpoint "\nIndique parede externa:") "per"))

(setq ANG (angle PTM PT1))

(setq ANG1 (‑ ANG (dtr 90)))

(setq INS (polar PTM ANG1 (/ LRG 2)))

(setq PT2 (polar INS ANG (distance PTM PT1)))

(setq PT3 (polar INS (+ ANG1 (dtr 180)) LRG))

(setq PT4 (polar PT2 (+ ANG1 (dtr 180)) LRG))

(command "layer" "t" "PAR" "m" "par" "c" "4" "par" "")

(command "line" INS PT2 "")

(command "line" PT3 PT4 "")

(command "break" PTM "f" INS PT3)

(command "break" PT1 "f" PT2 PT4)

(command "layer" "t" "0" "m" "0" "c" "7" "0" "")

(command "line" INS PT3 "")

(command "line" PT2 PT4 "")

(command "layer" "t" "esq" "m" "esq" "c" "10" "esq" "")

(command "insert" (strcat "/BIB/" NOM) INS "" "" (rtd ANG1))

(command "layer" "s" OLDL "")

(setvar "cmdecho" OLDE)

(princ)

 

              Podemos também aprimorar a maneira de inserir portas e janelas em vistas, obedecendo o mesmo processo de criar bibliotecas já visto em capítulos anteriores e acima.

              Primeiramente desenhar as bibliotecas de portas e janelas em vista, criar o WBLOCK (CRIABIB)  para cada um dos quatro cantos de inserção de portas e janelas em vista.

              Fazer o arquivo que terá o conjunto de slides de portas e janelas (VPJ.SLB).

              Transferir este arquivo para o diretório C:\ACADWIN\SUPPORT.

              Acrescer no HARQ12.MNU sob o item [/JJanelas]..., o exposto abaixo:

 

[->/VVistas]

              [/PPortas]^C^^Cvporta

              [<‑/JJanelas ]^C^Cvjanela

[‑‑]

              Estes comandos foram contemplados também no arquivo ACADR12.LSP, como visto no início deste capitulo.

              Os exemplos utilizados de biblioteca em vista é de uma porta de 60 X 210cm. e uma janela de 60 X 60cm.

              Para facilitar a nomenclatura das bibliotecas adotamos a inclusão das letras abaixo para definir o canto de inserção das vistas de portas e janelas.

              letra "e" para inserção do lado esquerdo inferior.

              letra "d" para o ponto de inserção do lado inferior direito.

              letras "es" para o ponto de inserção do lado esquerdo superior.

              letras "ds" para o canto superior direito.

 

              //Portas em vista

              **vport1

              [Escolha uma porta em Vista]

              [vpj(vpt60e,Porta 60X210cm.)]^C^C^P(setq NOMVP "/bib/vpt60e") +

              (load "/lsp/vista") ^P

              [vpj(vpt60d,Porta 60X210cm.)]^C^C^P(setq NOMVP "/bib/vpt60d") +

              (load "/lsp/vista") ^P

              [vpj(vpt60es,Porta 60X210cm.)]^C^C^P(setq NOMVP "/bib/vpt60es") +

              (load "/lsp/vista") ^P

              [vpj(vpt60ds,Porta 60X210cm.)]^C^C^P(setq NOMVP "/bib/vpt60ds") +

              (load "/lsp/vista") ^P

 

 

              //Janelas em vista

              **vjan1

              [Selecione uma janela em vista]

              [vpj(vj6060e)]^C^C(setq NOMVP "/bib/vj6060e") +

              (load "/lsp/vista") ^P

              [vpj(vj6060d)]^C^C(setq NOMVP "/bib/vj6060d") +

              (load "/lsp/vista") ^P

              [vpj(vj6060es)]^C^C(setq NOMVP "/bib/vj6060es") +

              (load "/lsp/vista") ^P

              [vpj(vj6060ds)]^C^C(setq NOMVP "/bib/vj6060ds") +

              (load "/lsp/vista") ^P

             

              A rotina vista irá permitir a inserção em vista tanto de portas como de janelas.

              Este processo de inserir portas e janelas em vista também permitem que seja utilizado do recurso do comando <Enter> para repetir a inserção para um outro tipo de porta ou janela.

 

          17- ROTINA VISTA

 

 

 

 

 

 

 

 

;***************************************************************************

;                                                                      VISTA.LSP

;

;             Este comando insere uma porta ou uma janela  no desenho tendo

;             o  layer "ESQ" na cor 10 (vermelho) como base, 

;             utiliza da variável global NOMVP e, retorna ao layer inicial.

;

;

;***************************************************************************

(setq OLDL (getvar "clayer"))

(command "layer" "t" "esq" "m" "esq" "c" "10" "" "")

(setvar "cmdecho" OLDE)

(command "insert" NOMVP  pause pause pause pause)

(setvar "cmdecho" 0)

(command "layer" "s" OLDL "")

(setvar "cmdecho" OLDE)

(princ)

 

              Neste capitulo introduzimos os comandos complexos para inserir portas e janelas, os quais representam o processo de melhor agilidade  na execução de desenhos de Arquitetura no AutoCAD, principalmente nas plantas baixas.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CAPITULO VII

 

___________________________________________________________________________

 

COMENTÁRIOS SOBRE MENU

 

>>>>>>CARREGANDO O MENU

 

              Os arquivos que têm  a extensão .MNU dentro do diretório C:\ACADWIN\SUPPORT, são os arquivos menu (ex.: ACAD.MNU, HARQ12.MNU).

              O arquivo original (padrão) do AutoCAD tem a denominação de ACAD.MNU, o qual utilizamos como base na elaboração do menu de Arquitetura, que denominamos de HARQ12.MNU.            

              Todo arquivo menu ao ser carregado pela primeira vez, no AutoCAD release 12, através do comando MENU dentro do editor gráfico é copilado, ficando portanto inteligível para qualquer um o seu conteúdo; reproduzindo o arquivo com a extensão .MNX (ex.:ACAD.MNX e HARQ12.MNX).

              O AutoCAD release 12 necessita somente dos arquivos de menu com a extensão .MNX para serem utilizados, portanto, o arquivo com a extensão .MNU, que são de fácil compreensão, podem ser apagados, preservando sua privacidade.

              Na atualidade, onde a grande maioria, sem condições financeiras, face ao preço de venda, não pode adquirir o software original utilizando portanto de cópias piratas, uma prática pouco recomendável. Há necessidade de ser preservado o trabalho intelectual, e uma das maneiras de preservar o MENU é utilizar do recurso acima exposto.

              No AutoCAD release 13 ao ser carregado pela primeira vez o arquivo MENU, é criado em linguagem de máquina (copilado) os arquivos com as extensões .MNC, MNR e MNS (ex.: HARQ13.MNC, HARQ13.MNR e HARQ13.MNS), que são os arquivos necessários para o bom funcionamento do AutoCAD R13, não necessitando após ser carregado, pela primeira vez, dos arquivos com as extensões .MNU (ex.:HARQ13.MNU), que podem ser preservados como segredo pessoal ou de escritórios ou para comercialização.

 

>>>>>>COSTUMIZANDO

 

              Cada pessoa individualmente utiliza a sua maneira o programa AutoCAD com uma série de comandos mais constantemente. Anote estes comandos e procure criar um Menu que contenha basicamente estes comandos mais utilizados.

              Para cria-los, observe como é o menu do AutoCAD dentro do seu editor de textos, veja por exemplo os itens ou seções ***POP (menus de tela) que dão uma visão de como elaborar esses comandos. O processo é bastante cansativo e repetitivo mas, não desanime, siga com força de vontade até alcançar seu objetivo que será bastante satisfatório quanto ao ego como no ganho de produtividade.

 

>>>>>>MACROS

 

              Os macros podem ser comandos, que tenham como base a sequências de teclas, como o utilizado no comando de desenhos CORTE-X e CORTE-T.

              Esta alternativa pode criar alguns comandos sem a necessidade de utilizar de programas em AutoLISP.

              Como exemplo apresentamos um macro utilizando do comando ZOOM:

              [Zoom .9X]Zoom;e;zoom;.9x;

              Solicitamos que inicie o comando zoom com "extents" e posteriormente um zoom com redução de 10%.

              Este tipo de macro é bastante útil  e utilizado.

 

>>>>>>ESTRUTURA DO MENU

 

              Os menus possuem a seguinte sequência de itens:

 

***COMENT- Utilizado no início do menu ou de seções para comentários

 

***BUTTONSS1 a BUTTONSS4 - Refere a utilização dos botões do mouse ou da mesa digitalizadora ou outro dispositivo.

 

***AUX1 a AUX4 - Utilizado para configurar dispositivo auxiliar, que possa executar comandos do AutoCAD.

 

***POP0 a ***POP16 - É a parte do menu responsável pelos menus suspensos e/ou de barra superior. No decorrer deste livro, utilizamos várias vezes o recurso de alterar estes itens.

              O POP0 é responsável pelos comandos que aparecem na tecla do meio do mouse.

Tendo algum comando que utilize mais sistematicamente pode ser encaixado neste item; como exemplo apresento uma sugestão:

 

***POP0

[/OOsnap]

[/CCenter]_center

[/EEndpoint]_endp

[/FFillet]_fillet;r;0;;

[/IIntersection]_int

[/MMidpoint]_mid

[/rErase]_erase

[/DNode]_nod

[/PPerpendicular]_per

[/fOffset]_offset

[/TTangent]_tan

[/NNone]_non

[‑>Filtros]

  [.X].X

  [.Y].Y

  [.Z].Z

  [.XY].XY

  [.XZ].XZ

  [<‑.YZ].YZ

[Calculadora]'cal

 

***icon - Local do menu que é utilizado pelos slides de bibliotecas e desencadear o processo de inserção das mesmas, como vimos constantemente neste livro. O nome icon é em letra minúscula.

 

***SCREEN - Responsável pelos comandos dentro dos itens do menu lateral ou vertical no lado direito do monitor dentro do editor gráfico.

              Caso você utilize sempre deste menu, apesar de reduzir o tamanho do editor gráfico, poderá ter neste local a retirada e o acréscimo de alguns comandos mais utilizados.

              Como exemplo, apresento a que usamos comumente:

 

***SCREEN

**S

[HARQ12]^C^C^P$S=X $S=S (setq T_MENU 0)(princ) ^P$P1=POP1 $P2=P2DRAW $P4=P4DISP $P6=P6OPT $P8=POP8

[* * * *]$S=OSNAPB

[BLOCKS]$S=X $S=BL

[DIM:]$S=X $S=DIM ^C^CDIM

[DISPLAY]$S=X $S=DS

[DRAW]$S=X $S=DR

[EDIT]$S=X $S=ED

[UCS‑3]^C^C^P(if (null c:UCS‑3)(load "/lsp/ucs‑3")) ^Pucs‑3

[LAYER:]$S=X $S=LAYER ^C^CLAYER

[MVIEW]$S=X $S=MV

[PLOT]$S=X $S=PLOT

[SETTINGS]$S=X $S=SET

[SOLIDS]^C^C^P(progn(setq m:err *error*)(princ))+

(defun *error* (msg)(princ msg)(setq *error* m:err m:err nil f nil)(princ))+

(if (null c:solbox)(progn (menucmd "S=X")(menucmd "S=SOLLOAD"))+

(progn (menucmd "S=X")(menucmd "S=SOLIDS")))(princ);^P

[SURFACES]$S=X $S=3D

[UCS:]$S=X $S=UCS1 ^C^CUCS

[UTILITY]$S=X $S=UT

 

 

 

 

[LAST]$S= $S=

[EDIT]^C^C$S=X $S=ED

[DRAW]^C^C$S=X $S=DR

 

[UNDO]^C^CU

 

[REDRAW]'REDRAW

 

[PAN]'PAN

 

[OSNAP]^C^C^P(OSN) ^P

[ZOOM]^C^CZOOM;E;ZOOM;.9X

[HARQ12]^C^C_MENU;HARQ12

[OFF.13]^C^COFFSET;.13

[TEXTO]^C^C^P(if(null C:DTXT)(load "/lsp/DTXT")) $S=X $S=dtext multiple dtxt ^P

[SAVE]^C^CSAVE;;

 

***TABLET1 a TABLET4 - referente aos comandos contidos numa mesa digitalizadora.

 

              Esta é a estrutura básica de um menu, que aceita um grande número de modificações, as quais devem ser testadas num processo contínuo de evolução e busca de uma melhor produtividade e curiosidade.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BIBLIOGRAFIA

 

__________________________________________________________________________

 

              Existe uma gama extensa de livros que podem ser utilizados como referência para apreender a linguagem AutoLISP e os comandos do AutoCAD.

              Abaixo apresentamos uma lista expressiva de livros que falam sobre AutoCAD e AutoLISP:

 

              1- Dominando o AutoCAD release 12.

                            Autores:  Vic Wrigth

                                               Kurt Hampe

                                              Ashim Guha

                            Editôra Ciência Moderna

              2- Dominando o AutoCAD versão 12.

                            Autor: George Omura

                            Livros Técnicos e Científicos Editora

              3- AutoCAD Dicas Práticas

                            Autor: Eni Zimbarg

                            Érica

              4- AutoCAD Avançado

                            Autor: Eni Zimbarg

                            Érica

              5- AutoLISP - Guia da Linguagem de Programação do AutoCAD

                            Autor: Waldomiro J. S. Leite

                            Érica

              6- 1000 Dicas e Segredos do AutoCAD

                            Autores: George O. Head

                                             Jan Doster Head

                            Berkely

              7- AutoCAD - O Livro de Receitas para MS e PC DOS

                            Autor: Christopher James DeLucchi

                            Livros Técnicos e Científicos Editora

              8- AutoCAD  Avançado

                            Autor: Robert M. Thomas

                            Editora Campus

              9- Programando em AutoLISP

                            Autor: William Kramer

                            Makron Books