Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

Você está aqui: AutoCAD .NET API C# ::: Dicas & Truques ::: Table e TableStyle - Tabelas e Estilos de Tabelas

Como criar uma tabela de ângulos com senos, cossenos e tangentes no AutoCAD usando C# e a classe Table da AutoCAD .NET API

Quantidade de visualizações: 400 vezes
Nesta dica eu mostrarei como podemos tirar proveito da API .NET do AutoCAD e da linguagem C# para construir uma tabela de ângulos com radianos, senos, cossenos e tangentes e depois exibi-la na área de desenho do AutoCAD. Para isso nós usaremos a classe Table.

Veja o código AutoCAD .NET C# completo para o exemplo:

using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Geometry;
using Autodesk.AutoCAD.Runtime;
using System;

namespace Estudos {
  public class Class1 : IExtensionApplication {
    [CommandMethod("Tabela")]
    public void Tabela() {
      // vamos acessar o documento atual do AutoCAD
      Document doc = Application.DocumentManager.MdiActiveDocument;
      // e agora vamos obter a base de dados deste documento
      Database db = doc.Database;

      // criamos uma nova transação
      Transaction tr = doc.TransactionManager.StartTransaction();
      // e usamos a transação
      using (tr) {
        // abrimos o registro de blocos de tabelas para escrita
        BlockTableRecord btr = (BlockTableRecord)tr.GetObject(
          db.CurrentSpaceId, OpenMode.ForWrite);

        // vamos criar a nova tabela
        Table tabela = new Table();
        // vamos definir o estilo padrão para a tabela
        tabela.TableStyle = db.Tablestyle;

        // vamos definir algumas constantes
        const int quant_linhas = 92;
        const int quant_colunas = 5;
        const double altura_linha = 3;
        const double largura_coluna = 10;
        const double margem_horizontal = 0.5;
        const double margem_vertical = 0.5;
        const double altura_texto = 1;

        // vamos definir a altura da linha e a largura da coluna
        // que já vem por padrão na tabela em branco
        tabela.Rows[0].Height = altura_linha;
        tabela.Columns[0].Width = largura_coluna;

        // vamos adicionar as demais linhas e colunas
        tabela.InsertRows(1, altura_linha, quant_linhas - 1);
        tabela.InsertColumns(1, largura_coluna, quant_colunas - 1);

        // para ocultar o título e subtítulos, basta definir o
        // valor "" para as linhas abaixo
        tabela.Cells[0, -1].Style = "Title";
        tabela.Cells[1, -1].Style = "Header";

        // vamos definir o título da tabela
        Cell tc = tabela.Cells[0, 0];
        tc.Contents.Add();
        tc.Contents[0].TextHeight = altura_texto;
        tc.Contents[0].TextString = "Tabela de Seno, Cosseno e Tangente";

        // e agora definimos os sub-títulos
        string[] subtitulos = {"Graus", "Radianos", "Seno", "Cosseno", "Tangente"};
        for (int i = 0; i < quant_colunas; i++) {
          Cell c = tabela.Cells[1, i];
          c.Contents.Add();
          c.Contents[0].TextHeight = altura_texto;
          c.Contents[0].TextString = subtitulos[i];
          c.Borders.Left.Margin = margem_horizontal;
          c.Borders.Right.Margin = margem_horizontal;
          c.Borders.Top.Margin = margem_vertical;
          c.Borders.Bottom.Margin = margem_vertical;
        }

        // e passamos às demais células da tabela
        int graus = 1;
        for (int i = 2; i < quant_linhas; i++) {
          for (int j = 0; j < quant_colunas; j++) {
            // calcula os radianos
            double radianos = (Math.PI / 180) * graus;

            Cell c = tabela.Cells[i, j];
            c.Contents.Add();
            c.Contents[0].TextHeight = altura_texto;

            // devemos mostrar os graus
            if (j == 0) {
              c.Contents[0].TextString = graus.ToString() + "º";
            }
            // devemos mostrar os radianos
            else if (j == 1) {
              c.Contents[0].TextString = radianos.ToString("0.0000");


Link para compartilhar na Internet ou com seus amigos:

Veja mais Dicas e truques de AutoCAD .NET API C#

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 23 usuários muito felizes estudando em nosso site.