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 APIQuantidade 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"); |
![]() |
Veja mais Dicas e truques de AutoCAD .NET API C# |
Dicas e truques de outras linguagens |
Delphi - Como calcular o cateto adjascente dadas as medidas da hipotenusa e do cateto oposto em Delphi |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |