Você está aqui: AutoCAD .NET API C# ::: Dicas & Truques ::: Criação de Plug-ins e Add-ons |
Como criar o seu primeiro plug-in para o AutoCAD usando ObjectARX, Visual Studio 2019 e C#Quantidade de visualizações: 179 vezes |
Nesta dica mostrarei passo-a-passo como você pode criar o seu primeiro plug-in para o AutoCAD 2023 usando ObjectARX, Visual Studio 2019 e C#. O primeiro passo é ter em mente que o AutoCAD 2023 requer códigos C# ou VB.NET que têm como alvo o .NET Framework 4.8. Mesmo se a versão do seu .NET Framework for superior a isso, teremos que alterar o alvo para 4.8. Mais adiante eu mostro como isso pode ser feito. Como o tempo passa muito rápido, pode ser que você esteja lendo essa dica com uma instalação do AutoCAD 2024 ou mais recente. Antes de continuar, pesquise a versão do .NET Framework exigida pela sua versão. Então, vamos começar. Na minha máquina eu tenho o AutoCAD 2023, o Visual Studio 2019 (embora eu já tenha o VS 2022, uso a versão 2019 para o desenvolvimento de plug-ins para o AutoCAD e o Revit) e o .NET Framework 5.0. Lembre-se: mais adiante vou mostrar como colocar como target o .NET Framework 4.8. Como instalar o ObjectARX SDK Antes de iniciarmos o desenvolvimento de plug-ins para o AutoCAD, nós precisamos do SDK do ObjectARX. Para fazer o download, acesse a URL https://www.autodesk.com/developer-network/platform-technologies/autocad/objectarx-download e escolha a versão para a sua instalação do AutoCAD. Na minha máquina o diretório "inc" do ObjectARX que contém os assemblies que vamos usar no nosso plug-in está localizado em "C:\Autodesk\ObjectARX\inc". Criando o projeto C# no Visual Studio Inicie o Visual Studio 2019 e vá no menu Arquivo -> Novo -> Projeto. Na janela "Criar um novo projeto", selecione Biblioteca de Classes e marque a linguagem C#. Clique o botão Próximo. Na janela "Configurar seu novo projeto", dê o nome "PrimeiroPluginAutoCAD" para o campo Nome do projeto e, em seguida, escolha o local que você quer salvá-lo. Para este exemplo eu salvei o projeto no diretório "C:\estudos_autocad". Clique o botão Próximo. Na janela "Informações adicionais" nós podemos selecionar a Estrutura de Destino. Se você não tiver o .NET Framework 4.8, escolha a mais superior e recente. Para esta dica eu coloquei .NET 5.0. Mais adiante a gente vai editar o arquivo de configuração do projeto para termos como alvo o .NET Framework 4.8. Clique o botão Criar. Até o momento o nosso plug-in contém o seguinte código: Veja que ainda está longe do nosso objetivo, mas vamos com calma. Como adicionar referências aos assemblies do ObjectARX SDK Antes de continuarmos nós precisamos resolver as dependências para os assemblies do ObjectARX SDK. Para isso, vá no Gerenciador de Soluções, expanda o item PrimeiroPluginAutoCAD, clique com o botão direito no nó Dependências e escolha a opção Adicionar Referência de Projeto. Na janela Gerenciador de Referências, vá na opção Procurar -> Recente. Clique o botão Procurar e vá até o diretório "C:\Autodesk\ObjectARX\inc". Localize o arquivo AcMgd.dll, selecione-o e clique o botão Adicionar. Faça o mesmo com os arquivos AcDbMgd.dll e AcCoreMgd.dll. Para finalizar, clique o botão Ok na janela Gerenciador de Referências, expanda cada uma das referências que adicionamos e marque a opção Local da Cópia como "não". Código completo para o plug-in do AutoCAD usando ObjectARX, Visual Studio 2019 e C# Já temos tudo que precisamos. Está na hora de escrever o código do Plug-in. Modifique o conteúdo do arquivo Program.cs para a seguinte versão: Agora, vá até o diretório "C:\estudos_autocad\PrimeiroPluginAutoCAD" e abra o arquivo PrimeiroPluginAutoCAD.csproj para edição (pode ser no Bloco de Notas, Notepad++, etc). Altere o valor do elemento <TargetFramework> para: Hora de compilar o plug-in. Clique na opção Compilação -> Compilar Solução. Se tudo correu bem você encontrará um arquivo PrimeiroPluginAutoCAD.dll no diretório "C:\estudos_autocad\PrimeiroPluginAutoCAD\", dentro da pasta "bin\Debug\net4.8". Este é o arquivo do nosso plug-in do AutoCAD. Como executar o meu plug-in C# no AutoCAD Agora que já temos o arquivo PrimeiroPluginAutoCAD.dll, abra o AutoCAD e digite NETLOAD na janela de comando e pressione Enter. Na janela Choose .NET Assembly você deverá selecionar o arquivo PrimeiroPluginAutoCAD.dll e clicar o botão Open. Não se assuste com o texto "O autor deste complemento não pôde ser verificado. O que deseja fazer?". Este aviso é muito comum quando estamos instalando plug-ins no AutoCAD. Se você tem certeza que o plug-in foi baixado de uma fonte confiável, basta clicar no botão Sempre Carregar e ir em frente. Agora é só digitar "DESENHARLINHA" na janela de comandos e ver uma linha ser desenhada automaticamente nas coordenadas (0, 0, 0) e (50, 100, 0). Deu tudo certo? Agora é só aprofundar os seus conhecimentos no desenvolvimento de plug-ins para o AutoCAD usando ObjectARX, Visual Studio 2019 e C#. |
![]() |
C ::: Dicas & Truques ::: Recursão (Recursividade) |
Como escrever uma função recursiva para calcular a potência de um número usando a linguagem CQuantidade de visualizações: 47680 vezes |
Chamamos de potenciação a operação de se elevar um número (uma base) a um determinado expoente e obter sua potência. Veja a figura a seguir:![]() Veja que aqui o valor 5 foi elevado ao cubo, ou seja, ao expoente 3 e obtemos como resultado sua potência: 125. O código abaixo mostra como você pode escrever uma função recursiva em C que permite calcular a potência de um número inteiro: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> // função recursiva que calcula a potência de // um inteiro int potencia(int base, int expoente) { if(expoente == 0){ return 1; } else{ return base * potencia(base, expoente - 1); } } int main(int argc, char *argv[]) { int base = 3; int expoente = 4; printf("%d elevado a %d = %d", base, expoente, potencia(base, expoente)); printf("\n\n"); system("PAUSE"); return 0; } Ao executar este código C nós teremos o seguinte resultado: 3 elevado a 4 = 81 |
Java ::: Coleções (Collections) ::: ArrayList |
Como pesquisar valores em uma ArrayList do Java usando a função indexOf() - Coleção Java para iniciantesQuantidade de visualizações: 16499 vezes |
Nesta dica eu mostrarei como podemos usar o método indexOf() para verificar a existência de um valor em uma ArrayList. Se o ítem for encontrado, seu índice (começando em 0) é retornado, do contrário o valor retornado é -1. Veja o código Java completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; import java.util.ArrayList; public class Estudos{ public static void main(String[] args){ // cria uma ArrayList que conterá strings ArrayList<String> nomes = new ArrayList<String>(); // adiciona itens na lista nomes.add("Carlos"); nomes.add("Maria"); nomes.add("Fernanda"); nomes.add("Osmar"); nomes.add("Maria"); // Verifica se o valor "Osmar" existe na // ArrayList int indice = nomes.indexOf("Osmar"); if(indice == -1){ System.out.println("O valor pesquisado não foi encontrado."); } else{ System.out.println("O valor foi encontrado no índice: " + indice); } System.exit(0); } } Ao executar este código nós teremos o seguinte resultado: O valor foi encontrado no índice: 3 |
JavaScript ::: Dicas & Truques ::: Data e Hora |
Como retornar o dia da semana em JavaScript no formato Domingo, Segunda-feira, Terça-feira, etcQuantidade de visualizações: 11532 vezes |
Nesta dica veremos como retornar o dia da semana de uma data no formato Domingo, Segunda-feira, Terça-feira, etc, em JavaScript. Esta técnica é muito útil quando queremos escrever aplicações envolvendo calendários. Veja a página HTML completa para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <!doctype html> <html> <head> <title>Data e hora em JavaScript</title> </head> <body> <script type="text/javascript"> // vamos criar um array com os dias da semana var dias_semana = new Array("Domingo", "Segunda-feira", "Terça-feira", "Quarta-feira", "Quinta-feira", "Sexta-feira", "Sábado"); // agora vamos obter a data de hoje var data = new Date(); // agora vamos obter o número do dia da semana // começando em 0 para o domingo var dia_semana = data.getDay(); // e finalmente mostramos o resultado document.write("Dia da semana: " + dias_semana[dia_semana]); </script> </body> </html> Ao executar este código JavaScript nós teremos o seguinte resultado: Dia da semana: Segunda-feira |
Java ::: Dicas & Truques ::: MIDI Musical Instrument Digital Interface, Mapeamento e sequenciamento MIDI, Entrada e saída MIDI |
Java para músicos - Como escrever um MIDI Player em Java (código bem simples e fácil de entender)Quantidade de visualizações: 13719 vezes |
Nesta dica apresento uma aplicação completa para um MIDI Player em Java. Trata-se de uma aplicação console que você pode estudar e implementar a mesma idéia em Java Swing ou JavaFX. Para executar o código abaixo, você só precisa definir o caminho e nome de um arquivo MIDI (extensão .mid). Veja o código completo e divirta-se: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; import javax.sound.midi.*; import java.io.*; public class Estudos{ public static void main(String args[]) { // nome do arquivo MIDI String arquivo = "amazing_grace.mid"; if(!arquivo.endsWith(".mid")) { System.out.println("Este não parece ser um arquivo MIDI válido."); System.exit(1); } File midiFile = new File(arquivo); if(!midiFile.exists() || midiFile.isDirectory() || !midiFile.canRead()) { System.out.println("Não foi possível acessar o arquivo indicado."); System.exit(1); } try{ Sequencer seq = MidiSystem.getSequencer(); seq.setSequence(MidiSystem.getSequence(midiFile)); seq.open(); seq.start(); while(true){ if(seq.isRunning()){ try{ Thread.sleep(1000); } catch(InterruptedException ignore){ break; } } else{ break; } } seq.stop(); seq.close(); } catch(MidiUnavailableException mue){ System.out.println("Dispositivo de MIDI indisponível"); } catch(InvalidMidiDataException imde){ System.out.println("Dados MIDI Inválidos"); } catch(IOException ioe){ System.out.println("Erro de I/O"); } } } |
Revit C# ::: Dicas & Truques ::: Selection, Seleção |
Como pedir para o usuário selecionar um ou mais elementos no Revit usando a função PickElementsByRectangle() do objeto Selection da Revit C# APIQuantidade de visualizações: 190 vezes |
A Seleção por Retângulo (ou Retângulo de Seleção) do Revit funciona da seguinte forma: a) Desenhe uma caixa de seleção ao colocar o cursor em um dos lados do elemento a ser selecionado e arraste-o na diagonal para formar um limite retangular. b) Para selecionar somente os elementos que estejam completamente dentro do limite da caixa de seleção, arraste o cursor da esquerda para a direita. c) Para selecionar quaisquer elementos que estejam completamente ou parcialmente dentro do limite da caixa de seleção, arraste o cursor da direita para a esquerda. Via código C# usando a API do Revit, nós podemos pedir para o usuário selecionar elementos usando o retângulo de seleção por meio da função PickElementsByRectangle() do objeto Selection e retornar os elementos selecionados em uma IList. O primeiro passo é obter uma referência ao documento atual UIDocument a partir de uma chamada a this.ActiveUIDocument. Em seguida nós obtemos o objeto Selection a partir do UIDocument e chamamos a sua função PickElementsByRectangle(). Finalmente, de posse da lista IList de elementos selecionados nós só precisamos acessar sua propriedade Count para verificar a quantidade de elementos que o usuário selecionou. Veja o código Revit C# completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- using System; using Autodesk.Revit.UI; using Autodesk.Revit.DB; using Autodesk.Revit.UI.Selection; using System.Collections.Generic; using System.Linq; namespace Estudos { [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes. TransactionMode.Manual)] [Autodesk.Revit.DB.Macros.AddInId("ED8EC6C4-9489-48F7-B04E-B45B5D1BEB12")] public partial class ThisApplication { private void Module_Startup(object sender, EventArgs e) { // vamos obter uma referência ao UIDocument ativo UIDocument uidoc = this.ActiveUIDocument; // agora mostramos uma mensagem para o usuário selecionar um // elemento TaskDialog.Show("Aviso", "Selecione um ou mais elementos"); // obtemos uma referência ao objeto Selection do // UIDocument ativo Selection selecao = uidoc.Selection; // e finalmente esperamos que o usuário selecione um ou // mais elementos usando a seleção de retângulo e os // guardamos em uma lista IList<Element> selecionados = selecao.PickElementsByRectangle( "Selecione os elementos"); // agora mostramos a quantidade de elementos selecionados TaskDialog.Show("Aviso", "Você selecionou " + selecionados.Count + " elementos."); } private void Module_Shutdown(object sender, EventArgs e) { // para fazer alguma limpeza de memória ou algo assim } #region Revit Macros generated code private void InternalStartup() { this.Startup += new System.EventHandler(Module_Startup); this.Shutdown += new System.EventHandler(Module_Shutdown); } #endregion } } Ao executar esta macro você verá uma mensagem TaskDialog com o seguinte aviso: Você selecionou 4 elementos. |
Veja mais Dicas e truques de Revit C# |
Dicas e truques de outras linguagens |
Quem Somos |
![]() Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
|
![]() Não basta ter um site. É necessário ter um site que é localizado e converte usuários em clientes. Se sua página não faz isso, Fale comigo e vamos fazer uma analise e conseguir resultados mais satisfatórios..
|
Linguagens Mais Populares |
1º lugar: Java |
Códigos Fonte |
![]() Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
![]() Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |