quinta-feira, 26 de julho de 2018

Boas Práticas no AutoCAD - Parte 1

Sem dúvida nenhuma é cada vez maior o número de pessoas que se aventuram a criar documentos no AutoCAD. Não é difícil encontrar tutoriais e projetos minimalistas na internet que exploram características básicas do AutoCAD.

A alguns meses atrás contratei os serviços de um suposto arquiteto para o projeto de uma casa. Naturalmente entreguei para ele um e-mail com o documento *.dwg das linhas gerais do que eu queria e alguns comentários sobre o que eu desejava modificar.

Simplesmente ignorou todos os comentários que eu fiz, modificou o desenho colando partes de outros desenhos, nem mesmo as regras mais básicas de desenho foram respeitadas. Naturalmente a prefeitura da cidade não aceitou o desenho que teve que ser corrigido, não uma, mas duas vezes.

O desenho foi completamente explodido, quando precisei editar o projeto estava o caos completo.

Pensado nisso, antes mesmo de qualquer customização para o AutoCAD é primeiro necessário se ter em mente que existem diversas ferramentas já existentes que visam facilitar a trabalho do dia-a-dia. Para utiliza-las é preciso antes de mais nada organizar o trabalho que irá realizar.

Desapegando dos padrões antigos

O primeiro passo nessa direção é sem dúvida nenhuma se desapegar dos formatos antigos. Algumas empresas insistem em salvar os seus documentos em formato "AutoCAD R14/LT98/LT97 Drawing". Esse formato é completamente obsoleto e não contempla a maior parte das automações atuais. O ideia é sempre salvar na versão mais atual do documento AutoCAD no entanto o formato AutoCAD 2007 já atende a maior parte das automações que podemos utilizar no dia-a-dia especialmente no que diz respeito a automação em blocos.

Além de salvar em formato mais atualizados também é importante ter em mente que em documentos antigos será necessário algum tipo de trabalho braçal para atualiza-los.

Textos em multilinhas - MTEXT

Um exemplo disso é a utilização dos textos multilinha que nada mais é que a inclusão de caixas de texto que permitem a criação de mais de uma linha contínua. Os documentos DWG na versão "AutoCAD R14/LT98/LT97 Drawing" não permitem textos MTEXT e as versões anteriores ao "AutoCAD 2000 Drawing" não permitem a criação de itens numerados.

Encontro muitos documentos com os textos desassociados em linhas soltas, notas separas em objetos TEXT para cada linha do texto da nota do documentos, aumentar uma frase ou uma palavra é demasiadamente. 


A solução MTEXT é a ferramenta certa para escrever esses textos. Primeiro pelo simples fato de unir todo o texto em um único objeto que pode ser copiado para o Word, editado e reescrito e depois novamente colocado no documento AutoCAD. Outro ponto é que para itens numerados os textos MTEXT permitem o controle automático dos itens.


Ainda para textos avançados é possível ainda controlar mais de uma coluna, distribuir uniformemente as palavras ao longo do texto e inclusão de símbolos.


Sem dúvida o mais importante na hora de realizar um desenho de AutoCAD é planeja-lo para que após a finalização ele possa ser rapidamente modificado, alterado e atualizado para outros projetos ou solicitações que venham a aparecer.

Para ilustrar essa sequencia de textos sobre boas práticas na criação de documentos AtuoCAD utilizarei como exemplo um trabalho que venho realizando de placas de sinalização. A idéia principal desse trabalho é automatizar o processo de elaboração da instrução que envolve os documentos em CAD.
Atualmente faço uma série de desenhos de detalhamento de placas de sinalização. Esses desenhos são anexados em um documento Word, desenho a desenho. Cada documento DWG é um anexo distinto que pode ser dividido em 2 a 3 páginas. Naturalmente o trabalho é grande toda vez verificar todos os desenhos dimensionalmente e voltar a anexa-los no documento word.

Planejamento

O primeiro passo é planejar como o documento será elaborado, atualmente são 8 documentos DWG que geram em torno de 30 páginas de um anexo de um documento Word. 

A primeira quebra de paradigma é a separação entre Word e DWG. Word é um programa para edição de textos e os documentos em DWG tem uma finalidade de serem desenhos vetoriais com escala. Todas as vezes que você cria uma referência de um documento DWG em um Word perde-se a percepção de escala, escala de linhas e penas, cores das penas, e escala do próprio desenho. O ideal nesses casos é transformar o anexo em realmente um anexo, criando um documento a parte que tenha sua própria organização de paginas elaboração e geração.

Como apenas uma pessoa edita por vez é conveniente que todos esses documentos DWG sejam associados em um único documento DWG, dessa forma, poderemos gerar todas as folhas de uma unica vez quando os desenhos forem finalizados através da ferramenta de Export > PDF.

O próximo passo nesse sentido é criar o espaço do papel de cada folha. Fiz a opção por utilizar o padrão ABNT para folhas de A4, afinal todas as folhas serão parte integrante de um relatório. O template criei como um bloco, optei por não criar atributos e deixar o bloco mais simples, isso me permitirá, que ao replicar as folhas seja possível escolher quais parâmetros serão comuns e quais serão destinos.


Dentro do bloco de template criei um ponto de referência (point) que não é impresso mas é uma referência para inserção do texto de título sobre o bloco.

Feita a configuração do bloco de template é necessário configurar a área de impressão, depois de configurado o bloco do template você deve ter algo completamente desfocado da página.


É muito importante que toda a página esteja configura antes de copiar o Layout (espaço do papel) para as próximas folhas, caso contrário, terá que ir folha a folha reconfigurando o tamanho da janela de plotagem ou as informações de penas etc.

Configurando a impressora e selecionando o papel são os dois primeiros passos para configura a impressão. Se você optar pelo ISO Expand A4 é possível notar que a escala (utilizando a opção Fit to Paper) ficará de 1.079. Isso acontece porque todos os papéis na sua configuração default do AutoCAD tem uma pequena margem associada até mesmo o ISO Expand A4 porque a princípio você fará a impressão em uma plotter e essa plotter terá um limite da borda do papel que não poderá ser impressa. 

Como nosso objetivo é criar um PDF que quando plotado tenha uma escala verdadeira numa folha de A4 nos queremos que a margem que aparece no templete seja exatamente a borda do papel.


Para configurar um papel sem borda vamos em Properties da Impressora DWG to PDF.pc3. Em Custom Paper Sizes vamos adicionar (Add) um novo tamanho de papel. Podemos fazer tomando como base o ISO Expand A4. Na opção Printable Area vamos colocar as margens do papel todas como zero.


Criando esse papel sem margem quando selecionar a opção Fit to Paper note que a relação de escala é de 1:1.


Selecionando a opção Apply to Layout essa configuração ficará salva para a próxima impressão da folha.

É recomendável você gerar o PDF para confirmar que a folha está adequadamente configurada.

sábado, 5 de agosto de 2017

AutoCAD - Exportando documentos com muitas páginas para PDF, rápido!

Quando comecei a trabalhar com produção de documentos em engenharia esbarrava em vários restos de documentos e processos obsoletos. Não sei porque, sempre que me colocava a fazer algum documento novo a coisa que mais dava trabalho era buscar uma forma rápida de realizar os processos braçais.

O maior problema era que os "modelos", projetos velhos que se consideravam como modelo, trava-se de desenhos construídos inicialmente em AutoCAD R14, muitas vezes de linhas puras e que não tinham tantos recursos de impressão; talvez o PDF na época nem existia. Por todas as limitações  se trabalhava com um documento *.dwg para cada folha.

Para os padrões de hoje isso é o caos! como você gerir um documento com várias folhas?

  • Se você utiliza uma configuração de impressão e você se deu conta que ela está errada no final, é necessário abrir todos os arquivos para corrigir;
  • Penas e configurações de página diferentes causam que o documento não fique uniforme;
  • É necessário imprimir o documento por vezes, um por vez, ou ainda buscar uma forma de unir os PDF's para criar um único documento;
  • Ocupa mais espaço;
Ainda existem outros motivos ainda que somados ainda tornam esse processo ainda mais desvantajoso. 

A minha ideia foi criar os documentos todos no model space e criar um paper space específico para cada folha. Dessa forma é possível simplesmente exportar todo o espaço do papel, todas as folhas, de uma vez e criar um PDF organizado.

Fiz um vídeo tutorial de como fiz esse processo e como é o resultado final.



Criando PDF a partir do AutoCAD

Criar documentos em PDF (Portable Document Files) a partir de desenhos no AutoCAD de maneira simples rápida e funcional.

As versões anteriores do AutoCAD antes da versão 2009, só é possível imprimir documentos em PDF através de uma impressora de PDF Virtual instalada. Para criar um PDF, você teria que enviar seu arquivo de impressão para essa impressora de PDF Virtual, o que criaria um documento PDF em vez de um gráfico em papel.

Isso já é um recurso bem conhecido, no passado utilizei muito o doPDF mas quando comecei a imprimir documentos de AutoCAD com essa impressora, os desenhos começaram a ficar muito pesados.

Testei outras impressoras e hoje de um modo geral utilizo a impressora que vem junto com o Foxit PDF. Mas para documentos em *.dwg dificilmente encontrava uma boa impressora virtual que permitisse arquivos em tamanhos menores e desenhos vetoriais precisos.

O segredo está na tratativa da conversão do desenho vetorial do AutoCAD em um PDF vetorial leve.


A Autodesk criou e aprimorou um recurso diretamente no AutoCAD para criação de PDF's. Foi a primeira impressora de PDF nativa, tratava-se de existir junto com o AutoCAD uma impressora de PDF em que você poderia enviar diretamente do DWG do AutoCAD para PDF.pc3 seu arquivo de impressão e criar os seus PDF's.


Mas a Autodesk preparou uma solução ainda mais simples para facilitar o usuário final.

Gerando PDF em dois passos

A solução foi integrar isso diretamente como uma ferramenta, assim como a Microsoft fez no Word e no Excel, quase como um "Salvar Como *.PDF". Exportar arquivos PDF de um desenho do AutoCAD é um processo simples de duas etapas:
  • Clique no botão Exportar
  • Digite um nome de arquivo e Salvar.

O comando Exportar para PDF pode ser facilmente encontrado no painel 'Exportar para DWF / PDF' da guia 'Saída'.

Se você não estiver usando a Faixa de opções, você pode exportar da linha de comando digitando '_.EXPORTPDF'.

Isso abrirá o diálogo 'Salvar como PDF', onde você escolheu onde salvar seu PDF e o que você deseja chamar.

As configurações de transformação do desenho em PDF segue os padrões de impressão. Se estiver exportando um paper space, deve configurar como uma impressão normal. Não é necessário declarar qual a impressora mas é necessário criar a view de impressão e a configuração de penas. Estando configurado pode usar o comando de exportar para PDF.

Customizando a exportação

O menu suspenso Exportar permite que você escolha se deseja exportar o Layout atual ou todos os Layouts em um único arquivo.

Se você estiver no model space, você também terá a opção de escolher o gráfico "Display", "Extents" ou "Window".


O menu suspenso Configuração da página permite que você use as configurações de plotagem atuais ou as substitua (alterar as propriedades de impressão).

Se você escolheu 'Substituir', o diálogo Configuração da página PDF Override aparece, que contém um subconjunto simplificado das opções de Plotting usuais.

O ícone do layout e da lupa traz a janela de visualização de gráficos - para que você possa verificar a aparência do seu PDF, antes de traçá-lo.

A impressora com grelha de iluminação e caixa de seleção exibe o diálogo de opções de exportação de PDF.



Este diálogo permite que se controle as informações de layer estão incluídas no PDF e como as linhas se mesclam, isso é o processamento direto entre os Layers do PDF em relação aos Layres do AutoCAD. Também pode substituir a precisão do vetor no arquivo PDF o que gera uma melhor percepção de qualidade.


O local do caminho do arquivo padrão permite que você tenha que percorrer a estrutura da pasta sempre que você exportar um PDF o que se traduz numa maior agilidade se por padronização a pasta de saída é diferente da pasta do arquivo *.DWG em que se está editando.

O menu suspenso Type oferece a escolha de PDF de folha única ou multi-folha. A opção de folha única criará um PDF por layout. A opção Multi-sheet criará um PDF que contenha todos os seus layouts como disse no artigo anterior.

O painel "‘Current Settings" oferece alguns comentários sobre como está processo. 

Finalmente, há algumas opções que não estão disponíveis nas configurações do documento - é possível adicionar um carimbo de plotagem ao arquivo PDF, e pode-se escolher se deseja ver o PDF resultante no leitor Adobe quando o trabalho estiver concluído.

Conclusão, combate ao desperdício de tempo no retrabalho

Como citei no post anterior, plotar PDF's desta forma, além de ter um grande controle sobre o resultado final, exportar para PDF se torna mais rápido e simples de configurar e usar.

sexta-feira, 4 de agosto de 2017

Ações em AutoCAD - Rapidez na produção de desenhos, de onde vem?

Tenho certeza de que você percebeu que a maior parte da perda de tempo na execução dos desenhos são com copiar e colocar objetos nos desenhos, rotacionar, escalonar e fazer os ajustes necessários para "casar" um remendo de desenho com outro remendo total que é o seu projeto final... afinal ninguém te deu tempo para fazer um projeto profissional.


A primeira parte de ajudar nesse processo são os blocos. Os blocos são legais e muito uteis, grande parte do trabalho que fazemos é modificar objetos em nosso desenho que já foram criados por nós ou por outras pessoas. Algumas das modificações mais comuns usam comandos como Copiar, Mover, Apagar, Espelho ou Girar.

Hoje, eu gostaria de explorar como otimizar o processo de aplicar qualquer comando de modificação a um objeto ou grupo de objetos no AutoCAD.

Para fazer uma modificação acontecer, o AutoCAD precisa levar em consideração:

  • O Objeto se repete muito?
  • Quantos cliques vou economizar com isso?
  • Qual é a melhor forma de o fazer-lo?
  • Quantas vezes eu vou repetir esse objeto?
  • Se for para gerar uma lista de material, um objeto desenhado espelhado é outro item?
  • Que tipo de ação é interessante que o objeto tenha?

A escolha é sua, mas se hoje você perde muito tempo tendo que literalmente "encaixar" uma porção de linhas, deveria começar a pensar em utilizar algumas propriedades dinâmicas.

Para a maioria das ferramentas de modificação, você pode optar entre dois procedimentos para executar a ação de modificação em seu conjunto de seleção de objetos. Digamos que você deseja apagar três círculos. Você pode:

  1. Selecione os círculos e clique no botão Apagar (Objetos, depois Ação) ou
  2. Clique no botão Apagar, selecione os três círculos e termine o comando, clicando em [Enter] (Ação e, em seguida, Objetos).

A seqüência dessas etapas é uma decisão que o designer CAD deve fazer, talvez centenas de vezes em um único dia. Um cadista é rápido se ele consegue escolher a sequência mais rápida. Então, qual sequência é a melhor escolha: Objetos, então, Ação? ou Ação, então Objetos?

A vantagem da seqüência "Objetos, então ação" é que você pode selecionar qualquer número de objetos e, em seguida, execute o comando Modificar desejado (usando uma tecla de atalho ou o botão de fita) e você terminou. Este é o procedimento mais simples, exigindo apenas duas etapas.

"Objetos, então ação" é sempre a minha preferia, especialmente porque faço menos cliques com o mouse e canso menos os meus dedos.

Se você for com o procedimento "Ação, Então Objetos", há um passo extra que você deve seguir clicando na tecla [Enter] ou [barra espaciadora] no final. Você começa clicando na ferramenta Apagar (ou outra ferramenta de modificação) e, em seguida, você seleciona um ou mais objetos. Na linha de comando, o AutoCAD instrui você a "Selecionar Objetos". Repita essa mesma sugestão, independentemente de quantos objetos você selecionar. O AutoCAD não pode ler nossas mentes, então não tem como saber se você pretende selecionar objetos adicionais, ou simplesmente ir com seu conjunto de seleção atual. Você deve pressionar Enter] ou a tecla [barra espaciadora] para dizer ao AutoCAD que você acabou de selecionar objetos e agora você está pronto para completar a ação no conjunto de seleção.


Entre as duas escolhas, a sequência "Objetos, então ação" ganha por simplicidade. Na maioria dos casos, eu prefiro esse procedimento.

Existem alguns comandos de modificação nos quais o AutoCAD não oferece uma escolha - você deve escolher a ferramenta "Ação" primeiro, antes de selecionar qualquer objeto como Fillet, Lengthen, Divide...

Ferramenta Fence (um segredo)

Se você quiser usar uma dessas ferramentas de seleção de objetos pouco conhecidas, você deve escolher a seqüência "Ação e depois objetos":

  • Fence (hotkey is F)
  • Polígono de janela (hotkey é WP)
  • Crossing Polygon (hotkey  é CP)
  • Conjunto de seleção anterior (hotkey is P)

A ferramenta Fence permite criar ou modificar um conjunto de seleção usando uma cadeia de segmentos de linha que selecionam qualquer objeto que eles toquem. As ferramentas de polígono de janelas e polígono de cruzamento permitem que você faça um polígono clicando em pelo menos três pontos para selecionar objetos envolvendo-os (WP) ou tocando-os (CP). Set de seleção anterior (P) re-seleciona o conjunto de seleção mais recente.

Existe também uma maneira pouco conhecida de remover objetos de um conjunto de seleção, mas somente se você estiver usando a seqüência "Ação e, em seguida, Objetos". Isso é para digitar R [Enter] e, em seguida, clique nos objetos que deseja remover. Depois de remover objetos indesejados usando R [Enter], você pode voltar e adicionar mais objetos ao conjunto digitando A [Enter] e selecionando-os. Basta lembrar que R é abreviação de "Remover" e A é para "Adicionar". Mais uma vez, esse método R e A funciona apenas se você começar a ação primeiro e, em seguida, selecione Objetos.

Não há uma regra rígida e rápida para a Ordem Objeto-Ação que diz que uma seqüência é melhor do que outra. No entanto, eu acho que, para obter realmente bom no AutoCAD, você precisa estar consciente de cada pequena escolha ou movimento que afeta seu resultado. É o mesmo que um treinamento de atleta para as Olimpíadas. Os melhores sabem o que fazer pequenas coisas em cada situação para obter os melhores resultados.

Espero que isso ajude a pensar sobre como otimizar o tempo no AutoCAD e mais, que reduza o numero de pessoas com tendinite por esforço repetitivo. Nunca desprezem a saúde!

terça-feira, 1 de agosto de 2017

Customização do AutoCAD - Salvando e Compartilhando a sua configuração pessoal - Parte 2

Salvando e distribuindo os arquivos

Acho que a coisa mais difícil de trabalhar com CAD em qualquer empresa é exatamente utilizar o mesmo padrão. Trabalhei numa empresa que a maior parte dos documento vinha de uma versão antiga de AutoCAD, um R12 R13 e por exemplo, todos os textos estavam separados linha a linha e com fontes diferentes, imagem só isso! Ou que as pessoas trabalhavam no paper space diretamente desenhando 2D lá paper space! Uma verdadeira loucura, cada um fazia o seu padrão de documento, pena, folha etc..

A ideia de compartilhar a configuração é boa, na verdade é ótima! mas imaginem só, se você cria uma configuração de penas e depois de já estar trabalhando com ela descobre que precisa incluir mais uma espessura de linha por cor que ficou faltando e agora você Cadista de verdade que sempre lutou para padronização vai ter que mudar o padrão.

Saiba que isso acontece, bom para solucionar isso eu peguei meus arquivos de penas e fiz dois arquivos *.bat para enviar que executava manualmente e outro que instalava no menu iniciar de todos os outros Cadistas para atualizar a pena conforme a pena que eu jogava na rede. Vamos lá, passo-a-passo:

Como disse na parte 1, os arquivos de personalização são armazenados localmente em sua estação de trabalho, mas isso não funciona bem ao tentar compartilhar arquivos com outras pessoas se eles estão localizados em um escritório ou até mesmo eu outros escritórios no mundo.

Bom antes de mais nada, faça uma cópia e colocar qualquer arquivo personalizado que você planeje editar em uma pasta fora das pastas criadas durante a instalação do produto AutoCAD. Isso pode te salvar em dois momento, (i) se você fizer alguma cagada e destruir os arquivos e (ii) se der pau no seu PC.

Então, qual seria o melhor lugar para armazenar arquivos personalizados para compartilhá-los com outros? Se você planeja compartilhar estes arquivos personalizados o melhor lugar para armazenar arquivos personalizados está em uma unidade de rede, todos os escritórios tem uma rede compartilhada, ou você mesmo pode mapear no seu PC uma pasta de compartilhamento para os outros PC's acessarem. No entanto, ao trabalhar com outros que não estão no mesmo escritório, pode ser um pouco mais difícil usar uma unidade de rede que todos possam acessar a menos que você tenha fornecido acesso usando uma rede privada virtual (VPN). Quando todos não estão na mesma localização ou até mesmo um funcionário da sua empresa, você pode querer considerar usar um site de compartilhamento de arquivos, como Google Drive ou Dropbox, onde é possível sincronizar automaticamente arquivos entre uma unidade local e o site de compartilhamento de arquivos.

No meu caso uso uma unidade de rede, não foi tão complicado.

Que tipos de arquivos compartilhar?

Não há restrições a quais tipos de arquivos personalizados podem ser compartilhados com outros; Qualquer arquivo que pode ser personalizado ou carregado no ambiente AutoCAD pode ser compartilhado, isso é muito legal porque permite uma flexibilidade de conseguir praticamente reproduzir uma configuração de Desktop entre praticamente qualquer computador além de ser possível restaurar tudo só com os arquivos copiados. 

Aqui uma lista do que é mais interessante de se compartilhar:
  • Arquivos de parâmetros de programa (PGP) - Contém alias de comando padrão e definidos pelo usuário
  • Arquivos de personalização (CUIx) - Contém elementos padrão e definidos pelo usuário que compõem muitas das interfaces de usuário comuns na janela do aplicativo AutoCAD (se você quiser compartilhar a customização de interface, eu utilizo entre versões do AutoCAD quando quero realizar testes automatizados entre versões)
  • Linetype (LIN) e Hatch Pattern (PAT) - Contém padrões padrão de usuário e padrões de hachura definidos pelo usuário que são usados ​​para controlar a exibição de linha e escotilhas, muito bom quando você faz detalhes tipicos porque não fica com as hachuras diferentes entre computadores e minimiza aquelas mensagens quando você abre um desenho em um PC que não tem o pacote de hachura que você utilizou;
  • Arquivos de Modelos de Desenho (DWT) - Usados ​​como base para novos desenhos; Contém os estilos e a geometria que você deseja usar em novos arquivos de desenho
  • Arquivos de desenho (DWG) - Contém estilos reutilizáveis ​​e blocos que podem ser importados ou inseridos em um design ou modelo de trabalho, muito importante! Se você usa blocos padronizados você parametricamente por compartilhar sua pasta de blocos.
  • Arquivos de estilo de trama (CTB / STB) - Contém as configurações usadas para desenhar o trabalho de linha em um desenho para saída, dispensa comentários.
  • Arquivos de Configuração do Plotter (PC3) - Contém as configurações usadas para produzir um layout para uma cópia impressa ou arquivo eletrônico. Utilizo muito configurações personalizadas para impressão em PDF isso me ajuda a manter o padrão de impressão entre os Cadistas. 
  • Arquivos AutoLISP Source (LSP) - Usados ​​para armazenar e carregar programas personalizados desenvolvidos com a linguagem de programação AutoLISP
Particularmente, para quem não está acostumado com isso o melhor é começar compartilhando os arquivos CTB/STB e o PC3 que são as configurações de impressão, isso já reduz em 30% a eficiência total e melhora a padronização da equipe de CAD.

segunda-feira, 31 de julho de 2017

Customização do AutoCAD - Salvando e Compartilhando a sua configuração pessoal - Parte 1

A coisa mais desagradável que tem é receber um computador novo e AutoCAD chegar todo desconfigurado para você começar a trabalhar. E é lógico que todo setor de TI entende como é fácil customizar todo AutoCAD novamente para o seu jeito de trabalhar...


A ideia desse post é mostrar de modo simples uma maneira de deixar salvas e transferir suas configurações personalizadas de um computador para outro, assim como algumas configurações comuns como penas, formatos de impressão etc.

Onde ficam os arquivos de preferências (customizações)?

Por padrão, arquivos personalizados para uso com o ambiente AutoCAD são armazenados em locais definidos do windows para a personalização de configurações por usuário da máquina, assim, um computador com mais de um usuário terá mais de uma configuração do AutoCAD. Ao armazenar arquivos personalizados localmente, por usuário, o "padrão" torna difícil garantir que todos dentro de um grupo usem os mesmos arquivos personalizados.

Existem dois locais principais em que o programa AutoCAD armazena arquivos personalizados que podem ser editados pelo usuário; São as pastas roaming e local. Essas duas pastas estão localizadas na pasta AppData do perfil do usuário. trata-se de uma pasta oculta de personalização do usuário

Pasta de roaming - Os arquivos nesta pasta armazenam o perfil do usuário com base na forma como a conta do usuário configura a interface. 
Roaming fica em C:\Users\<nome do usuário>\AppData\Roaming\.

Pasta Local - Os arquivos nesta pasta podem são mais específicos da máquina. 
A localização  é C:\Users\<nome do usuário>\AppData\Local\.


Detalhe importante é que a  pasta AppData está escondida por padrão no Windows e não pode ser diretamente navegada por padrão, mas pode ser visível para que possa ser navegado para usar o Windows Explorer ou File Explorer. 
Para mostrar a pasta AppData, no Windows Explorer, vá em em Ferramentas> Opções de pasta. Na caixa de diálogo Opções de pasta, guia Exibir, clique em Mostrar arquivos ocultos, pastas e unidades. Em seguida, clique em OK para salvar a alteração de configuração.

As pastas Roaming e Local contêm uma pasta chamada Autodesk juntamente com pastas associadas a outros aplicativos instalados na estação de trabalho. A pasta Autodesk contém várias pastas relacionadas ao produto AutoCAD e outros produtos Autodesk caso você tenha instalado geralmente vem o material libray.

Os arquivos personalizados mais editados para o programa AutoCAD 2018 estão localizados nestes três locais:

% AppData% \ Autodesk \ AutoCAD 2018 \ R22.0 \ enu \ Support
% AppData% \ Autodesk \ AutoCAD 2018 \ R22.0 \ enu \ Plotters
% LocalAppData% \ Autodesk \ AutoCAD 2018 \ R22.0 \ enu \ Template

Se você tiver outro ano de AutoCAD é só fazer a regressão: AutoCAD 2018 é o R22.0 o AutoCAD 2017 é o R21.0 e por ai vai até o R14 que é onde começou essa história de Rx.

Nestas pastas é  possível encontrar a maioria dos arquivos personalizados, desde que você saiba o nome do arquivo que você está tentando localizar. Por exemplo, a função FINDFILE AutoLISP pode ser usada para verificar as pastas no AutoCAD.
Outro exemplo, a entrada (findfile "acad.pgp") retorna o valor da seqüência de caracteres "C:\\Usuários\\ <nome do usuário>\\appdata\\roaming\\autodesk\\autocad 2018\\r22.0\\enu\ \Support\\acad.pgp ", o que indica que o arquivo acad.pgp está na pasta Roaming do perfil do usuário. Substitua acad.pgp no exemplo anterior com o arquivo que você deseja localizar, como acad.dwt ou acad.cuix.

domingo, 30 de julho de 2017

Sheet Set manager (SSM) - A evolução do gerenciamento de documentos em folhas

Como já vinha dizendo nos post's anteriores a maior dificuldade é o gerenciamento da informação no AutoCAD. Fazemos muitos documentos e não sabemos como gerenciar. O autoCAD tem um recurso um pouco desconhecido pelo usuários tradicionais para o gerenciamento de folhas e revisões.

A maior dificuldade em projetos pequenos e de médio porte é exatamente casar todas as referências. Na engenharia de projeto eu aprendi uma máxima que é "evite fazer referências ou duplicar uma mesma informação em desenhos diferentes".

Essa máxima surgiu exatamente porque sempre existiu uma dificuldade grande em realizar referências cruzadas entre documentos. Por exemplo, se você faz um diagrama detalhado de uma tubulação, como referencia-lo em outros documentos sem ter que se preocupar que quando vier uma revisão daqui a 2 anos terá que revisar todos os documentos que ele está representado? essa dificuldade a Autodesk preparou uma inovação que é a Sheet Set manager (SSM) que nada mais é do que uma referenciação cruzara de informações de informações entre um Model em um DWG com outros Paper Space em outros DWG's, assim você pode numa simples alteração no documento principal alterar todos os documentos relacionados.

Entendendo o funcionamento do Sheet Sets

Basicamente você trabalha com o desenho feito usando os métodos tradicionais. Você pode desenhar geometria no model space, criar guias de layout adicionais para cada vista ou cada folha, etc. A única limitação técnica é que cada folha na lista de folhas SSM só pode apontar para um layout em um arquivo de desenho. Se você tiver mais de um layout em seu desenho, você pode importar esses layouts adicionais na sua lista de folhas.

No entanto, o novo esquema de conjunto de folhas do AutoCAD é ideia ter um desenho de folha (arquivo DWG com um padrão de sheet) para cada folha em seu conjunto. O benefício disso é permitir que vários usuários trabalhem em diferentes folhas ao mesmo tempo. Se você tiver duas folhas que apontem diferentes layouts dentro do mesmo desenho, o arquivo de desenho será bloqueado assim que uma pessoa abrir uma dessas folhas, e assim a AutoCAD sempre funcionou (isso de múltiplos usuários ainda não testei muito bem mas pelo que diz a documentação).

Mesmo que o processo pretendido para a implementação de conjuntos de folhas se desvie do seu fluxo de trabalho atual, não seja impedido de usá-los. Você pode realizar mais da metade do processo sem alterar seu fluxo de trabalho.

O processo pretendido para usar conjuntos de folhas não é rigorosamente aplicado. No entanto, você deve considerar como você pode fazer a transição para este processo, de modo que você possa aproveitar ao máximo a funcionalidade do conjunto de folhas.

Passo-a-passo de como usar

Crie a geometria do modelo em seu próprio arquivo de desenho (DWG). Continue a criar a geometria do modelo no model space. Nesse mesmo arquivo DWG, pode executar todo o modelo, este é o seu "arquivo de model". De agora em diante, Deixe o seu DWG de configurar folhas lidar com o layout:

  1. Crie uma nova folha no SSM. Isso criará um novo arquivo de desenho (DWG) com uma guia de layout ativo. O nome da folha na lista de folhas é simplesmente um atalho para esse layout no arquivo DWG.
  2. Abra a folha, que realmente está abrindo o arquivo de desenho com esse layout de folha ativo.
  3. Adicione vistas de desenho de recursos ao layout da folha. Crie as viewports de layout e anexa os desenhos do modelo como xrefs (precisa usar o xrefs para realizar a conexão). Crie a sua configuração de folha para o desenho, você pode reunir as informações de design de outras fontes (referências externas anexadas no espaço do modelo) e montá-las em um layout de folha (blockbloque, viewports, notas, etc. no espaço de papel). Os únicos objetos que devem existir no espaço do modelo são os anexos aos arquivos externos.
    Veja que você pode mesmo utilizar num mesmo desenho de layout mais de um desenho de model space, por exemplo: se você fez um unifilar de uma tubulação e você quer representa-lo em vários desenhos você pode fazer através do SSM.
  4. Finalmente adicione informações de folha ao layout da folha. Você pode adicionar notas de folha ou outra folha (paper space) que é específica para a folha. Embora você possa (tecnicamente) desenhar no espaço do modelo, criar mais layouts, etc., a intenção é que este arquivo DWG particular seja uma única folha com referências externas aos desenhos do modelo.

Fazendo a transição de atualizações

Além de separar seu Modelo e Layout em dois desenhos diferentes você cria um dinamismo melhor na hora de você referenciar documentos como mencionado na introdução. Você provavelmente verá as mudanças mais significativas no seu fluxo de trabalho atual quando implementar conjuntos de folhas.

terça-feira, 3 de março de 2015

Habilitando comandos globais em versões locais de AutoCAD

Já faz algum tempo que o AutoCAD permitiu que os comandos fossem traduzidos para as línguas nativas ao invés de se utilizar o tradicional Inglês, nesse sentido, ainda é possível usar o comando nativo com um simples underline na frente, por exemplo, o tradicional comando "move" quando instalado na versão luso-brasileira agora pode ser um "mover" mas podemos usar ainda o "_move" para referir ao mesmo comando.



Nisso o único problema está que isso é pouco prático especialmente para quem está trabalhando com o AutoCAD a muitos milênios e entende melhor o comando como "line" do que "linha"...

Bom para todos os gostos ou não, aqui está um código que trouxe, e já estou usando no meu AutoCAD, que é exatamente um programa que ajuda o AutoCAD a reconhecer comandos nativos mesmo em instalações personalizadas sem a necessidade de uso do underline na frente do comando.

O que ele faz basicamente é depois do comando ser dito tomado como invalido recuperar o comando e incluir o underline na frente e lança-lo novamente, caso dê invalido novamente o processo para.


O código em C#:


using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.Runtime;
 
namespace CommandHelper
{
  public class Commands
  {
    // Mutex to stop unknown command handler re-entrancy
 
    private bool _launched = false;
 
    [CommandMethod("CMDS")]
    public void CommandTranslation()
    {
      var doc = Application.DocumentManager.MdiActiveDocument;
      if (doc == null)
        return;
 
      // AutoComplete and AutoCorrect cause problems with
      // this, so let's turn them off (we may want to warn
      // the user or reset the values, afterwards)
 
      doc.Editor.Command(
        "_.-INPUTSEARCHOPTIONS",
        "_autoComplete", "_No",
        "_autocoRrect", "_No",
        ""
      );
 
      // Add our command prefixing event handler
 
      doc.UnknownCommand += OnUnknownCommand;
    }
 
    [CommandMethod("CMDSX")]
    public void StopCommandTranslation()
    {
      var doc = Application.DocumentManager.MdiActiveDocument;
      if (doc == null)
        return;
 
      // Remove our command prefixing event handler
 
      doc.UnknownCommand -= OnUnknownCommand;
    }
 
    async void OnUnknownCommand(
      object sender, UnknownCommandEventArgs e
    )
    {
      var doc = sender as Document;
 
      // Check to make sure we're not re-entering the handler
 
      if (doc != null && !_launched)
      {
        try
        {
          // Set the mutex flag and call our command
 
          _launched = true;
          await doc.Editor.CommandAsync("_" + e.GlobalCommandName);
        }
        catch { } // Let's not be too fussy about what we catch
        finally
        {
          // Reset our flag, now we're done
 
          _launched = false;
        }
      }
    }
  }
}


Esse código está no blog do Kean Walmisley

quinta-feira, 8 de janeiro de 2015

Lendo arquivos de Excel do AutoCAD

Acho que uma das principais coisas que todos nós fazemos é tratar uma informação que está dentro do Excel. Assim como o AutoCAD o Excel se tornou uma ferramenta de engenharia mais poderosa que o próprio Matlab por um único motivo: é o que tem!


É impressionante como as pessoas fazem macros mirabolantes pelo Excel, gastam horas fazendo aquilo e tratam como se fosse a minima dos olhos pelo esforço e dedicação como conseguiram fazer um aplicativo vinculado a uma planilha. Mais ainda, o que me deixa ainda mais pasmo é como isso é funcional e pode ser transportado de um computador para o outro, afinal, todos tem Excel assim como Windows e IE.

Bom, o fato é que a coisa fica preta quando vamos pegar uma informação do Excel e jogar no AutoCAD, posso dizer sabiamente que teve um imbecil que fez uma macro em VBA que gera um DXF que pode ser importado para o AutoCAD mas como não encontrei evidências disso na Net não pude traze-loas para este blog de curiosidade.

Estes dias me pediram para dar uma solução que lesse uma série de arquivos de Excel e cada um gerasse um arquivo de AutoCAD com as informações lidas no Excel e salvasse tudo numa pasta para ser impresso e verificado. Inicialmente eu pensei que seri algo simples, mas coisa não é bem assim. O Excel assim como os produtos do pacote Office são blindados com acesso de aplicativos maliciosos assim, ao mesmo tempo que você tem que utilizar a biblioteca deles você também tem que fidelizar o seu aplicativo a versão de dll instaladas do Excel, por exemplo, eu tenho o 2013, que o pacote é o Microsoft Office 14.0 Object Library.

O programa exemplo que vou mostrar aqui puxa apenas o valores do Excel e joga no AutoCAD traçando retas a partir de um ponto de referência, em linhas se chama seção diagonal.

O que foi feito, assim como eu tenho feito em outros programas, e chamar um formulário a partir de um comando no AutoCAD e os botões do formulário "invocarem" de modo assíncrono as funções pela linha de comando do AutoCAD, naturalmente, todas as células do formulários estão declaradas como Public num formulário global da função.


Abaixo segue o código, que dispensa comentários, utilizado o Microsoft Office 14.0 Object Library.

 try  
       {  
         OpenFileDialog openFileDialog1 = new OpenFileDialog();  
         openFileDialog1.InitialDirectory = "c:\\";  
         openFileDialog1.Filter = "xls files (*.xls)|*.xls|All files (*.*)|*.*";  
         openFileDialog1.FilterIndex = 1;  
         openFileDialog1.RestoreDirectory = true;  
         if (openFileDialog1.ShowDialog() != DialogResult.OK)  
           return;  
         String myFile = openFileDialog1.FileName.ToString();  
         List<String> WorksheetsNames = new List<string>();  
         foreach (Microsoft.Office.Interop.Excel.Worksheet wSheet in ActiveWorkbook.Worksheets)  
           WorksheetsNames.Add(wSheet.Name.ToString());  
         Worksheet ActiveWorkSheet = ActiveWorkbook.Worksheets["Autop."];  
         ActiveWorkSheet.Select();  
         //-------------------------------------------------------------------------  
         //Lendo as distâncias  
         Range rng = (Range)ActiveWorkSheet.get_Range(Frm_CADPetor.TextBox_DistanceRange.Text.ToString());  
         List<double> Measurement_Distance = new List<double>(); ;  
         for (int rCnt = 1; rCnt <= rng.Rows.Count; rCnt++)  
           for (int cCnt = 1; cCnt <= rng.Columns.Count; cCnt++)  
             Measurement_Distance.Add((double)(rng.Cells[rCnt, cCnt] as Range).Value2);  
         //-------------------------------------------------------------------------  
         //Lendo A  
         rng = (Range)ActiveWorkSheet.get_Range(Frm_CADPetor.TextBox_SectionA_Range.Text.ToString());  
         List<double> SectionA_Values = new List<double>(); ;  
         for (int rCnt = 1; rCnt <= rng.Rows.Count; rCnt++)  
           for (int cCnt = 1; cCnt <= rng.Columns.Count; cCnt++)  
             SectionA_Values.Add((double)(rng.Cells[rCnt, cCnt] as Range).Value2);  
         //-------------------------------------------------------------------------  
         //Lendo B  
         rng = (Range)ActiveWorkSheet.get_Range(Frm_CADPetor.TextBox_SectionB_Range.Text.ToString());  
         List<double> SectionB_Values = new List<double>(); ;  
         for (int rCnt = 1; rCnt <= rng.Rows.Count; rCnt++)  
           for (int cCnt = 1; cCnt <= rng.Columns.Count; cCnt++)  
             SectionB_Values.Add((double)(rng.Cells[rCnt, cCnt] as Range).Value2);  
         //-------------------------------------------------------------------------  
         //Lendo C  
         rng = (Range)ActiveWorkSheet.get_Range(Frm_CADPetor.TextBox_SectionC_Range.Text.ToString());  
         List<double> SectionC_Values = new List<double>(); ;  
         for (int rCnt = 1; rCnt <= rng.Rows.Count; rCnt++)  
           for (int cCnt = 1; cCnt <= rng.Columns.Count; cCnt++)  
             SectionC_Values.Add((double)(rng.Cells[rCnt, cCnt] as Range).Value2);  
         //-------------------------------------------------------------------------  
         //Lendo D  
         rng = (Range)ActiveWorkSheet.get_Range(Frm_CADPetor.TextBox_SectionD_Range.Text.ToString());  
         List<double> SectionD_Values = new List<double>(); ;  
         for (int rCnt = 1; rCnt <= rng.Rows.Count; rCnt++)  
           for (int cCnt = 1; cCnt <= rng.Columns.Count; cCnt++)  
             SectionD_Values.Add((double)(rng.Cells[rCnt, cCnt] as Range).Value2);  
         //-------------------------------------------------------------------------  
         //Progressiva  
         rng = (Range)ActiveWorkSheet.get_Range(Frm_CADPetor.TextBox_ProgDist.Text.ToString());  
         double Progressive_Distance = (double)(rng.Cells[1, 1] as Range).Value2;  
         //-------------------------------------------------------------------------  
         //Còdigo da Torre  
         rng = (Range)ActiveWorkSheet.get_Range(Frm_CADPetor.TextBox_StructureNumber.Text.ToString());  
         string StructureNumber = (string)(rng.Cells[1, 1] as Range).Value2;  
         Document doc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;  
         Database db = doc.Database;  
         Editor ed = doc.Editor;  
         // Create a point collection to store our vertices  
         Point3dCollection pts = new Point3dCollection();  
         // Set up the selection options  
         // (used for all vertices)  
         PromptPointOptions opt = new PromptPointOptions("\nSelecione um ponto de inserção: ");  
         opt.AllowNone = true;  
         // Get the start point for the polyline  
         PromptPointResult res = ed.GetPoint(opt);  
         Color[] pldvs_color = new Color[] { Color.FromRgb(255, 0, 255), Color.FromRgb(0, 255, 255), Color.FromRgb(0, 255, 0), Color.FromRgb(255, 0, 0) };  
         double[] x = Measurement_Distance.ToArray();  
         for (int j = 1; j <= 4; j++)  
         {  
           double[] y = SectionA_Values.ToArray();  
           if (j == 1)  
           {  
             y = SectionA_Values.ToArray();  
           }  
           else if (j == 2)  
           {  
             y = SectionB_Values.ToArray();  
           }  
           else if (j == 3)  
           {  
             y = SectionC_Values.ToArray();  
           }  
           else if (j == 4)  
           {  
             y = SectionD_Values.ToArray();  
           }  
           double xdir = 1;  
           if (j >= 3)  
           {  
             xdir = -1;  
           }  
           MText mtext = new MText();  
           Polyline pline = new Polyline();  
           pline.AddVertexAt(pline.NumberOfVertices, new Point2d(res.Value.X, res.Value.Y), 0, 0, 0);  
           for (int i = 0; i < y.Length - 1; i++)  
           {  
             pline.AddVertexAt(pline.NumberOfVertices, new Point2d(xdir * x[i] + res.Value.X, y[i] + res.Value.Y - 100), 0, 0, 0);  
           }  
           pline.Color = pldvs_color[j - 1];  
           mtext.Color = pldvs_color[j - 1];  
           mtext.Height = 2.25;  
           pline.LineWeight = LineWeight.LineWeight030;  
           if (j == 1)  
           {  
             mtext.Contents = "A";  
             mtext.Location = new Point3d(res.Value.X + 15, res.Value.Y + 10, 0);  
           }  
           else if (j == 2)  
           {  
             mtext.Contents = "B";  
             mtext.Location = new Point3d(res.Value.X + 15, res.Value.Y + 7.5, 0);  
           }  
           else if (j == 3)  
           {  
             mtext.Contents = "C";  
             mtext.Location = new Point3d(res.Value.X + 15, res.Value.Y + 5, 0);  
           }  
           else if (j == 4)  
           {  
             mtext.Contents = "D";  
             mtext.Location = new Point3d(res.Value.X + 15, res.Value.Y + 2.5, 0);  
           }  
           Transaction tr = db.TransactionManager.StartTransaction();  
           using (tr)  
           {  
             BlockTable bt = (BlockTable)tr.GetObject(db.BlockTableId, OpenMode.ForRead);  
             BlockTableRecord btr = (BlockTableRecord)tr.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite);  
             ObjectId plineId = btr.AppendEntity(pline);  
             tr.AddNewlyCreatedDBObject(pline, true);  
             ObjectId mt = btr.AppendEntity(mtext);  
             tr.AddNewlyCreatedDBObject(mtext, true);  
             tr.Commit();  
             //ed.WriteMessage("\nPolyline entity is: " + plineId.ToString() );  
             ed.Regen();  
           }  
         }  
       }  
       catch  
       {  
       }  


O código é bem simples ele chama a instância do Excel atribui o arquivo de leitura, a partir disso ele mesmo pega a aba selecionada inicialmente e a partir dela ele começa a pegar o Range de células. Diferente do Excel VBA o Excel .NET você pega um Range de células e você TEM QUE saber o que se trata dentro das células, caso contrário ocorre um erro que durante a debugação fecha a aplicação é o VS 2013, tinha feito testes antes e ele também teimava em fechar o VS 2013.

Ainda vou melhorar isso, mas resolvi posta o código para não perde-lo. Existem métodos melhores inclusive que não necessitam de se criar a instância do Excel.

sexta-feira, 14 de novembro de 2014

Autodesk - Migração para plataformas na nuvem

Continuando a utilizar a plataforma do 123D Catch tentei utilizar a plataforma online, bem limitada eu compararia a utilizar o MS Word online, é uma ferramenta para ver mostrar e compartilhar, usar não.. inclusive, eles apresentam a barra de ferramentas e pedem para você fazer o download do aplicativo para desktop.



A plataforma está bem adequada ao novo modelo de plataforma da Autodesk: programas terminais leves e gratuitos, contas online e funcionalidade na nuvem pelos servidores deles.

Essa migração de modelo tem várias facetas, vou tentar explicar alguns pontos relevantes dessa nova estrutura de software e gestão adota pela Autodesk e será modelo para os próximos anos nas demais empresas de software computacional.

A ideia do modelo está na fidelização e experiência do usuário. Exitem vários problemas que estas empresas vem enfrentando especialmente no Brasil e países latino americanos que é a pirataria muito tem se investido nisso e alternativas para estudantes tem sido feitas para resolver o problema como a ver~soa estudante que pode ser baixada gratuitamente no site da Autodesk, por exemplo, no entanto a mensagem "AutoCAD Student" em todos as suas impressões e arquivos originados ali é uma coisa bem chata...

Outro problema que veio com a modernização dos aplicativos da Autodesk é uma maior diversidade da plataforma e mais ferramentas, hoje, o AutoCAD 2015 puro gasta algo em torno de 4,5Gb de espaço e naturalmente isso tudo o deixa muito mais lento que tradicionalíssimo AutoCAD 2008 prova disso são as alternativas desesperadas de reduzir o tempo de abertura e funcionamento do AutoCAD. Cada vez se exige máquinas melhores desde o 2011 a Autodesk exige um processador mínimo Intel Xeon.

Somado a isso o surgimento de um publico mais diversificado pela facilidade de uso das ferramentas que querem usar a ferramenta esporadicamente e não querem pagar 5 mil reais por uma versão para vida toda vem surgindo com profissionais liberais e pequenos empresários.

Pensando nisso tudo foi traçado um novo modelo baseado na nuvem, nesse modelo o usuário utiliza apenas uma interface, que se comunica com a nuvem da Autodesk onde realmente estão as funções mais complexas dos programas, no caso do 123D Catch, todo o processamento é feito por um computador na nuvem deles, você apenas espera o tempo do computador e do Upload-Donwload do resultado isso é bem mais rápido do que um processamento completo de fotos 3D em um computador Intel Core i7 to de linha hoje. No seu computador apenas uma interface que manipula e configura o processador remoto. Isso melhora a experiência do usuário com o programa.

A alguns artigos passados estava tratando do problema de montar a nuvem de pontos no PLS-CADD a partir de uma polyline 3d. Isso custou um processamento muito demorado e tive que me preocupar com o arranjo em paralelismo do programa para tornar a solução mais rápida, para processar um arquivo de 50Mb demorava horas, até mesmo copiar e colar demorava então a experiência do usuário é na verdade usar toda a capacidade agora da sua internet com o processado do servidor do Autodesk o que é muito mais poderoso.

Multiedição e sem duplicatas, como o projeto fica na sua conta na nuvem você pode compartilhar e a edição e acesso pode ser simultânea, inclusive, a exemplo do que foi feito pelo google docs o registro completo das atividades e modificações de cada usuário é feita e pode ser retornada. Quem usa o Inventor sabe o nível de integração que isso já está sendo feito.

Outra coisa importante disso é que pelo fato da ferramenta estar na nuvem você fideliza o cliente e o usuário, assim, ele paga muito menos e mais regularmente e além disso você previne a pirataria, ou a conta e clonada ou a pirataria vai ter que ir no servidor da Autodesk, concluindo, sem chance.

Então, resumindo, a exemplo do 123D Cath, você tem planos de usuário, pode testar todas as funcionalidades gratuitamente e pode contratar mensalmente um plano mais completo com mais recursos e funcionalidades.

quarta-feira, 12 de novembro de 2014

AutoCAD 2015 - O que há de novo?

A Autodesk todos os anos lança uma versão nova do AutoCAD, quem conhece a trajetória do AutoCAD sabe os avanços que foram feitos no programa nas suas versões.



Particularmente considero três grande mudanças no AutoCAD:

1ª - Evolução do Mouse - AutoCAD R14

No AutoCAD R13 para o R14 teve a entrada do fator maouse, agora era possível clicar arrastar e selecionar os objetos o que deixou o pessoal que era bom de digitação no chinelo e, claro, permitiu que a interface ficasse muito mais amigável a usuários de Windows que já usam o mouse a séculos.

2ª - Robustez para o Mercado - AutoCAD 2007

No AutoCAD 2007 veio o conceito de bloco dinâmico e uma melhor manipulação de objetos 3D isso foi vital para estabilizar o programa como referência e esmagar a concorrência os recursos já estavam adaptados para todo o mercado. Esse deu origem a considerada por mim melhor versão do AutoCAD, o 2008 com toda a sua interface robusta poucos bugs e muito veloz mesmo para o hardware que existia na época que nem DualCore existia.

Era possível trabalhar com documentos pesados com rapidez e velocidade mesmo com os computadores da época. A própria versão de dwg tinha uma compactação excelente, mesmo que ainda hoje muitas empresas considerem versão de compatibilidade como a 2004 a 2008 traz uma compactação maior e robustez de cópia e transferência de dados.

3ª - AutoCAD 2009

o  AutoCAD 2009, o "patinho feio", como ele foi o primeiro a entrar nessa revolução da interface visual que trouxe os botões estilo de toque e a interface super nova e com isso muito problemas também foram encontrados por conta dessa modificação, não lembro de grandes novidades em termos de usualidade além da interface, mas assim como no Windows 8, a rejeição foi enorme a nova interface. Em 1 década o AutoCAD nasceu, cresceu e ficou cagado.
Por trás dessa modificação veio a compatibilização com MAC para o público mais cool como arquitetos, desenhistas e designers e a introdução de novas ferramentas na nuvem utilizando os recursos de cloud que a Autodesk veio a introduzir logo depois com o AutoCAD WS e entre outros.

Com isso fechamos essa história do AutoCAD, desde o 2010 o AutoCAD vem ganhando novos recursos de integração com outros aplicativos da Autodesk como o magnífico Inventor Fusion que apesar de nunca ter usado sei que é uma poderosa ferramenta de integração.

Mas o que há de novo no AutoCAD 2015

Bom, o artigo do blog foi exatamente para isso, o que há de novo. Tiveram alguns avanços muito legais, eu gostei bastante da interface nova com a barra de menus mais escura que reduz o brilho no rosto do operador, os botões também ficaram bem menores.

Assim como no AutoCAD 2014 a commad window vem expansível e mais dinâmica parta colar em qualquer parte ou simplesmente sumir com ela. 

Outra coisa bem legal que já vem desde o AutoCAD 2014 são os desenhos como abas isso ajuda a ver quais os documentos estão ativos e facilita o copiar e colar de um para o outro.

Nomo Mtext melhoramentos muitos significativos no Mtext com relaçãoa numeração espaços distâncias isso ajuda muito na criação de notas com títulos com fonte diferente do conteúdo da nota, nas versões anteriores isso já era aceito agora muito intuitivamente você pode editar e fazer essas notas em tamanhos dinâmicos.

Tiverem alguns melhoramentos na performance do command preview, antigamente isso demorava muito especialmente quando em ações de trim, copiar e mover que não permitiam que você visualizasse o resultado ai você co.lava e não era aquilo que você realmente queria agora isso ficou melhor não sei bem como tenho que fazer uns testes mas ainda não vi particularmente nenhuma diferença significativa.

quinta-feira, 6 de novembro de 2014

Autodesk 123D Catch - Capturando objetos 3D e levando para o AutoCAD

Quem nunca pensou em materializar o mundo real para um desenho de CAD. Lembro que uma vez queria desenhar exatamente o que estava construído e demorei longos dias para fazer isso com todos os recursos de desenho imaginados, especificativa isométrica, projeções etc... Ainda era o R14 então não tinha ainda um recurso 3D, se tinha eu desconhecia competentemente.


Nesse mesmo dia veio uma ideia, seria possível materializar um objeto para dentro de um desenho de CAD? Hoje a resposta é sim, e uma ferramenta ao alcance de todos nós, o Autodesk 123D Catch, uma ferramenta poderosa que pode ser utilizada para levar quase qualquer coisa para o computador, ainda mais, com um app para Android!

O 123D Catch é um aplicativo multi plataforma (PC, Android, Web, Iphone) que permite que você faça o escaneamento em 3D de vários objetos

Neste guia ilustrado, passo-a-passo mostra-se como fazer para importar um objeto em 3D com o seu celular ou com uma câmera. Resumidamente você contorna o objeto dando uma vlota de 360° tirando fotos na mesma altura e com o mesmo foco no objeto que se desenha importar.

Se você quiser pode usar o aplicativo no computador também, não precisa de um computador sinistro, todo o processamento e a lógica fica por conta dos servidores da Autodesk na nuvem, todas as fotos que você tirou são enviadas e processadas na nuvem.

Primeiro Teste

Bom, naturalmente sem maiores delongas podemos já ir aos testes, qualquer link's destes você vai ver uma série de exemplos magníficos de como a coisa funciona mas não a nada como ver você mesmo. Assim iniciei minha aventura pelo mundo da aquisição 3D. Elegi dois objetos que estavam na minha mesa, um deles é uma pinha que trouxe do Jardim Botânico e uma pedra que trouxe de Recife com várias rugosidades para ver se é possível pegar com muita clareza os objetos.




O primeiro vídeo ensina bem como fazer um bom trabalho com isso. Para pinha usei o celular Moto G para tirar as fotos e no caso da pedra do mar o Aplicativo no Galaxy Tab 2.



Basicamente o video ensina o que você deve e não deve fazer para obter uma melhor qualidade no objeto, então vamos lá:

  1. Não use o flash, isso deixa com que cada foto tenha uma luz diferente e confunde o código de processamento;
  2. Procure sempre materiais que absorvem bem a luz, especialmente no chão, o c´doigo de processamento tem dificuldade com luz transversal vinda do sol que ilumina indiretamente o aplicativo.
  3. Tire fotos em diferentes orientações tentando sempre fazer um circulo tentando sempre deixar 50% da fotos na foto anterior ou mais, quanto mais sobreposição melhor fica o resultado.
  4. As fotos tem que cobrir todo o objeto.
  5. Cerca de 10° entre as fotos é bom para um objeto "normal", o máximo são 70 fotos.
  6. Não use objetos com texturas e coisas repetitivas como janelas iguais etc... o código de processamento identifica os objetos como o mesmo isso causa um erro no objeto.

Resultados

Pedra

http://www.123dapp.com/Catch/pedra/3040521

Foto do Objeto


http://www.123dapp.com/catch/Pinha-de-Natal/3041832


Foto da Pinha 


Note que existe muita coisa ainda para melhorar, não segui rigorosamente todas as regras que eles pediram mas mesmo assim consegui fazer um modelo em 3D da pinha e da pedra. A pinha não exatamente simétrica então podemos continuar com ela, já a pedra do mar e bem branca o que reduz um pouco o contraste entre as partes e cai na mesma coisa do virdo, ser muito reflexivo e transparente. Então eu fiz um segundo teste com a pinha, coloquei um pano preto e tirei boa parte da luz artificial e fiz a aquisição novamente. Desta vez fiz também mais fotos, foram 37 fotos em ângulos mais variados e com mais resolução utilizei a câmera fotográfica de 14MPixels.

Aguardando, demora um pouco tanto pela quantidade de fotos pelo processamento, cada foto estava com 4Mb, aproximadamente 120Mb de dados.


O Resultado não poderia ser outro, muito melhor que o primeiro, a pinha ganhou as reentrâncias esperadas que não apareciam no modelo anterior. Veja aqui na galeria.

Agora o que todos queremos ver mesmo é como fica isso no AutoCAD, ver em 3D orbitar a peça é ótimo mas para podermos medir e manipular nada como colocar no AutoCAD. Tem uma opção "Export Capure As" que salva em dwg mas não sei porque não funciona bem ainda não sei porque ainda vou seguir tentando...

Conclusão, a ferramenta 123D Cacth é fantástica, a Autodesk tem feito tantas coisas que não está mais sendo possível para uma pessoa só acompanhar todas as inovações que eles estão apresentando em todas essas frentes de trabalho, agradeço ao meu amigo Vitor Fonseca por ter me mostrado essa excelente plataforma.

Configurando um Projeto ObjectARX Usando o Microsoft Visual Studio

O primeiro passo na criação de um aplicativo ObjectARX é naturalmente criar o projeto no VS 2013, o que não poderia ser trivial... Este são os passos para as configurações do projeto e arquivos mínimos necessários para construir uma aplicação básica ObjectARX.

Naturalmente pelo Wizard da Autodesk, teoricamente, já está configurado mas... para o VS 2013 não... Então vamos lá:

Segue os passos:

1. Configurando para DLL em C++



2. Especificando o ObjectARX e os diretórios padrão.

A maneira mais fácil de fazer isso é adicionar o ObjectARX incluir e diretórios de biblioteca para seus MSVC++ nas variáveis de ambiente.

Microsoft Visual Studio Menu Tools > Options > Projects and Solutions > VC++ Directories (Caminho Antigo até VS 2010)

Solução com o botão direito > Propriedades


Você também pode especificar os locais nas propriedades do projeto, mas você vai precisar incluir caminhos completos para os arquivos para cada projeto que você criar. A principio você deve incluir as pasta inc, inc-32, lib-32.

3. Para todas as configurações (Debug e Release), definir a runtime library linkada para Multithreaded DLL 

Configuration Properties folder > C/C++ folder > Code Generation >Runtime Library


4.  Para todas as configurações (Debug e Release), definir Detect 64-bit Portability Issues option para No. Conforme mostrado aqui, terá que fazer um procedimento maquiavélico:

Configuration Properties folder C/C++ folder  > Code Generation > Command Line

Adicione o comando "/Wp64"


5. Mudando a extensão do arquivo de saída para *.arx

Property Pages under Configuration Properties > General > Target Extension

Coloque *.arx ao invés de *.dll

6. Adicionando as Bibliotecas ObjectARX:

Property Pages under Configuration Properties > Linker > Input > Additional Dependencies

7. Agora vamos ao template simples - este exemplo mostra o código mínimo necessário para fazer um programa ObjectARX:

 #include "rxregsvc.h"  
 #include "acutads.h"  
 // Simple acrxEntryPoint code. Normally intialization and cleanup  
 // (such as registering and removing commands) should be done here.  
 //  
 extern "C" AcRx::AppRetCode  
 acrxEntryPoint(AcRx::AppMsgCode msg, void* appId)  
 {  
   switch(msg) {  
   case AcRx::kInitAppMsg:  
     // Allow application to be unloaded  
     // Without this statement, AutoCAD will  
     // not allow the application to be unloaded  
     // except on AutoCAD exit.  
     //  
     acrxUnlockApplication(appId);  
     // Register application as MDI aware.   
     // Without this statement, AutoCAD will  
     // switch to SDI mode when loading the  
     // application.  
     //  
     acrxRegisterAppMDIAware(appId);  
     acutPrintf("\nExample Application Loaded");  
   break;  
   case AcRx::kUnloadAppMsg:  
     acutPrintf("\nExample Application Unloaded");  
   break;  
   }  
   return AcRx::kRetOK;  
 }  

Vai colocar isso em No SourceFile principal.

8. Criar um arquivo de definição com o mesmo nome do arquivo principal e colocar os dados a seguir:

 LIBRARY "objectarx_program_name.arx"  
 EXPORTS  
   acrxEntryPoint PRIVATE  
   acrxGetApiVersion PRIVATE  

A seção EXPORT deve estar presente e deve conter pelo menos a função acrxEntryPoint (a menos que você tenha usado um outro mecanismo para exportar essa função, como o do Windows _declspec (dllexport) de convenções).

Usando privada no arquivo DEF impede que esses símbolos apareçam na biblioteca de importação para essa aplicação ObjectARX. O símbolo ainda aparece na tabela de exportação do aplicativo, permitindo AutoCAD encontrar e chamar o símbolo. Isto é importante porque cada aplicação ObjectARX ou objeto deve ter sua própria implementação de funções. O aplicativo obtém a implementação de acrxGetApiVersion em virtude de ligar para o rxapi.lib biblioteca estática. Se app2 aplicação ObjectARX usa símbolos de app1 aplicação ObjectARX ligando a app1.lib, seria um erro para app2 para obter a sua definição de acrxGetApiVersion da biblioteca de importação app1. Usando privada no arquivo DEF irá impedir isso. Certificando-se de conectar-se a rxapi.lib antes de ligar para qualquer biblioteca de importação para outro aplicativo ObjectARX também irá impedir isso.


9. Se tudo der certo você vai ver os string's com um erro, coloque a função deinida ACRX_T() para resolver o problema. Veja aqui porque.

Se tudo estiver Ok é só compilar e você terá sua aplicação prontinha.... 

Para carregar o aplicativo você terá que abrir o AutoCAD e com um desenho ativo usar o comando APPLOAD para carregar e descarregar, saiba que isso tudo foi só para aparecer na tela uma simples mensagem que a DLL foi carregada e descarregada do AutoCAD.

Bom é assim mesmo todo o inicio é trabalhoso, mas dias melhores virão...