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: 180 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#. |
Link para compartilhar na Internet ou com seus amigos: |
Python ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como testar se um ponto está dentro de um círculo em Python - Desenvolvimento de Games com PythonQuantidade de visualizações: 824 vezes |
Quando estamos trabalhando com computação gráfica, geometria e trigonometria ou desenvolvimento de jogos em Python, é comum precisarmos verificar se um determinado ponto (uma coordenada x, y) está contido dentro de um círculo. Para melhor entendimento, veja a imagem a seguir: Veja que temos um círculo com raio igual a 115 e com centro nas coordenadas (x = 205; y = 166). Temos também dois pontos. O ponto vermelho está nas coordenadas (x = 140; y = 90) e o ponto azul está nas coordenadas (x = 330; y = 500. Como podemos ver na imagem, o ponto vermelho está dentro do círculo, enquanto o ponto azul está fora. E nosso intenção nesta dica é escrever o código Python que permite fazer essa verificação. Tenha em mente que está técnica é muito útil para o teste de colisões no desenvolvimento de games. Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # vamos importar o módulo Math import math # vamos declarar a classe Circulo class Circulo: # construtor da classe def __init__(self, xc, yc, raio): self.xc = xc self.yc = yc self.raio = raio # agora vamos declarar a classe Ponto class Ponto: def __init__(self, x, y): self.x = x # coordenada x self.y = y # coordenada y # método principal def main(): # vamos criar um objeto Circulo c = Circulo(205, 166, 115) # vamos criar um objeto Ponto p = Ponto(140, 90) # vamos verificar se o ponto está dentro do # círculo dx = p.x - c.xc; dy = p.y - c.yc; if((math.pow(dx, 2) + math.pow(dy, 2)) < math.pow(c.raio, 2)): print("O ponto está dentro do círculo") else: print("O ponto NÃO está dentro do círculo") if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: O ponto está dentro do círculo. Experimente com círculos de raios e coordenadas centrais diferentes e também com pontos em várias coordenadas e veja como os resultados são interessantes. |
Java ::: Projetos Java Completos - Códigos Fonte Completos Java ::: Jogos (Games) |
Como criar o jogo Pedra, Papel, Tesoura em Java - Jogo completo em Java com código comentadoQuantidade de visualizações: 5563 vezes |
Faça o download do código-fonte Pedra, Papel, Tesoura em Java Nesta dica mostrarei como criar o famoso joguinho Pedra, Papel, Tesoura na linguagem Java. Trata-se de um código bem simples e que vou comentar linha a linha, para que você extraia todo o conteúdo necessário para deixar a sua lógica de programação ainda mais afiada. Nesta versão eu mostrarei como jogar Pedra, Papel, Tesoura contra o computador. Depois de entender todo o código você não terá dificuldade para implementar uma versão que lhe permitirá jogar contra seus amigos. Antes de vermos o código, eis uma imagem do jogo em execução: Quais técnicas de programação vou aprender com o código desse jogo? O joguinho Pedra, Papel, Tesoura é ótimo para estudantes de programação que está iniciando em Java e que gostariam de aprimorar sua lógica de programação, afinal, se você desenvolver uma boa lógica de programação, você conseguirá desenvolver soluções em qualquer linguagem. Além de entender como funciona o desenvolvimento de jogos em Java, você reforçará o seu conhecimento de laços, estrutura condicional if...else, entrada e saída e fluxo e desvio do algorítmo. Veja, por exemplo, um trecho de código no qual testamos se o jogador escolheu Pedra, Papel ou Tesoura, e também a escolha feita pelo computador: // o jogador escolheu Pedra? else if(jogador == 1){ // o computador escolheu Papel? if(computador == 2){ System.out.println("Você perdeu. Papel embrulha Pedra"); vitoriasComputador++; // aumenta as vitórias do computador } else{ // o computador escolheu Tesoura System.out.println("Você ganhou. Pedra amassa Tesoura"); vitoriasJogador++; // aumenta as vitórias do jogador } } // o jogador escolheu Papel? else if(jogador == 2){ // o computador escolheu Tesoura? if(computador == 3){ System.out.println("Você perdeu. Tesoura corta Papel"); vitoriasComputador++; // aumenta as vitórias do computador } else{ // o ocmputador escolheu Pedra System.out.println("Você ganhou. Papel embrulha Pedra"); vitoriasJogador++; // aumenta as vitórias do jogador } } Os links para você baixar todas as versões deste projeto estão abaixo: 1) PEDPAPTESJC - Jogo Pedra, Papel, Tesoura em Java Console - NetBeans IDE - Faça o download do código-fonte Pedra, Papel, Tesoura em Java. Não se esqueça: Uma boa forma de estudar o código é fazendo pequenas alterações e rodando para ver os resultados. Outra opção é começar um projeto Java do zero e ir adicionando trechos do código fonte para melhor entendimento de suas partes. |
Java ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular a equação reduzida da reta em Java dados dois pontos pertencentes à retaQuantidade de visualizações: 1074 vezes |
Nesta dica de Java veremos como calcular a equação reduzida da reta quando temos dois pontos pertencentes à esta reta. Não, nessa dica não vamos calcular a equação geral da reta, apenas a equação reduzida. Em outras dicas do site você encontra como como isso pode ser feito. Para relembrar: a equação reduzida da reta é y = mx + n, em que x e y são, respectivamente, a variável independente e a variável dependente; m é o coeficiente angular, e n é o coeficiente linear. Além disso, m e n são números reais. Com a equação reduzida da reta, é possível calcular quais são os pontos que pertencem a essa reta e quais não pertencem. Vamos começar então analisando a seguinte figura, na qual temos dois pontos que pertencem à uma reta: Note que a reta da figura passa pelos pontos A(5, 5) e B(9, 2). Então, uma vez que já temos os dois pontos, já podemos calcular a equação reduzida da reta. Veja o código Java completo para esta tarefa: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; import java.util.Scanner; public class Estudos{ public static void main(String[] args){ // vamos usar a classe Scanner para ler os dados Scanner entrada = new Scanner(System.in); // vamos ler as coordenadas do primeiro ponto System.out.print("Coordenada x do primeiro ponto: "); double x1 = Double.parseDouble(entrada.nextLine()); System.out.print("Coordenada y do primeiro ponto: "); double y1 = Double.parseDouble(entrada.nextLine()); // vamos ler as coordenadas do segundo ponto System.out.print("Coordenada x do segundo ponto: "); double x2 = Double.parseDouble(entrada.nextLine()); System.out.print("Coordenada y do segundo ponto: "); double y2 = Double.parseDouble(entrada.nextLine()); String sinal = "+"; // vamos calcular o coeficiente angular da reta double m = (y2 - y1) / (x2 - x1); // vamos calcular o coeficiente linear double n = y1 - (m * x1); // coeficiente linear menor que zero? O sinal será negativo if (n < 0){ sinal = "-"; n = n * -1; } // mostra a equação reduzida da reta System.out.println("Equação reduzida: y = " + m + "x" + " " + sinal + " " + n); System.exit(0); } } Ao executar este código Java nós teremos o seguinte resultado: Coordenada x do primeiro ponto: 5 Coordenada y do primeiro ponto: 5 Coordenada x do segundo ponto: 9 Coordenada y do segundo ponto: 2 Equação reduzida: y = -0,75x + 8,75 Para testarmos se nossa equação reduzida da reta está realmente correta, considere o valor 3 para o eixo x da imagem acima. Ao efetuarmos o cálculo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- >> y = (-0.75 * 3) + 8.75 y = 6.5000 temos o valor 6.5 para o eixo y, o que faz com que o novo ponto caia exatamente em cima da reta considerada na imagem. |
JavaScript ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Adicionando três elementos ao final de um vetor em JavaScript usando o método push() do objeto Array - Como adicionar elementos ao final de um vetor usando JavaScript - RevisadoQuantidade de visualizações: 6967 vezes |
Neste dica mostrarei como usar o método push() do objeto Array da linguagem JavaScript para adicionar três elementos ao final de um vetor. Veja o código completo, incluindo a página HTML que permite executar o exemplo:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <html> <head> <meta charset="utf-8"> <title>Estudos JavaScript</title> </head> <body> <script type="text/javascript"> // vamos declarar e instanciar um vetor com 5 elementos var valores = new Array(1, 2, 3, 4, 5); document.write("Valores no vetor: " + valores + "<br>"); // agora vamos adicionar mais três elementos valores.push(6, 7, 8); document.write("Valores no vetor: " + valores); </script> </body> </html> Ao abrir esta página HTML nós teremos o seguinte resultado: Valores no vetor: 1,2,3,4,5 Valores no vetor: 1,2,3,4,5,6,7,8 |
Java ::: Pacote java.awt.image ::: BufferedImage |
Como desenhar um BufferedImage em um JComponent do JavaQuantidade de visualizações: 10771 vezes |
Neste exemplo nós usamos o método drawImage() da classe Graphics para desenhar o conteúdo de um BufferedImage (que contém uma imagem JPG) em uma JFrame do Java Swing:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- import java.awt.*; import java.io.*; import java.awt.image.*; import java.awt.event.*; import javax.swing.*; import javax.imageio.*; public class Estudos extends JFrame{ private BufferedImage imagem; public Estudos(){ super("Estudos Java"); Container c = getContentPane(); c.setLayout(new FlowLayout()); JButton btn = new JButton("Carregar Imagem"); btn.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ imagem = null; try{ imagem = ImageIO.read( new File("imagens/fundo.jpg")); } catch(IOException exc){ JOptionPane.showMessageDialog(null, "Erro ao carregar a imagem: " + exc.getMessage()); } if(imagem != null){ desenhar(); } } } ); c.add(btn); setSize(400, 300); setVisible(true); } public void desenhar(){ // desenha a imagem no JFrame Graphics g = getGraphics(); g.drawImage(imagem, 0, 0, this); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
Quem Somos |
Programador Freelancer - Full Stack Developer, Professional Java Developer, PHP, C/C++, Python Programmer, wxWidgets Professional C++ Programmer, Freelance Programmer. Formado em Ciência da Computação pela UNIP (Universidade Paulista Campus Goiânia) e cursando Engenharia Civil pela PUC-Goiás. Possuo conhecimentos avançados de Java, Python, JavaScript, C, C++, PHP, C#, VB.NET, Delphi, Android, Perl, e várias tecnologias que envolvem o desenvolvimento web, desktop, front-end e back-end. Atuo há mais de 20 anos como programador freelancer, atendendo clientes no Brasil, Portugal, Argentina e vários outros paises.
Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
|
Programador Freelancer - Formado em Sistemas de Informação pela Faculdade Delta, Pós graduado em Engenharia de Software (PUC MINAS), Pós graduado Marketing Digital (IGTI) com ênfase em Growth Hacking. Mais de 15 anos de experiência em programação Web. Marketing Digital focado em desempenho, desenvolvimento de estratégia competitiva, analise de concorrência, SEO, webvitals, e Adwords, Métricas de retorno. Especialista Google Certificado desde 2011 Possui domínio nas linguagens PHP, C#, JavaScript, MySQL e frameworks Laravel, jQuery, flutter. Atualmente aluno de mestrado em Ciência da Computação (UFG)
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 |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento 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 |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades 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 |