Você está aqui: AutoCAD .NET API C# ::: Dicas & Truques ::: Polyline - Polilinha |
Como criar polylines no AutoCAD usando a AutoCAD C# .NET API, a classe Polyline e a função AddVertexAt()Quantidade de visualizações: 537 vezes |
|
Em algumas situações nós gostaríamos de criar polylines no AutoCAD a partir de um arquivo texto ou um arquivo do Excel. Para isso nós podemos usar o construtor Polyline e a função AddVertexAt() da AutoCAD C# .NET API. A polyline é criada a partir de um objeto da classe Polyline e os seus vértices são criados usando-se chamadas à função AddVertexAt(). Veja o código AutoCAD C# .NET API completo para o exemplo: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using System.Collections.Generic;
using System;
using Autodesk.AutoCAD.Geometry;
[assembly: CommandClass(typeof(PluginEstudos.Class1))]
namespace PluginEstudos {
public class Class1 {
[CommandMethod("estudos")]
public void Estudos() {
// vamos obter o documento atual
Document doc = Application.DocumentManager.MdiActiveDocument;
// vamos obter a base de dados
Database db = doc.Database;
// vamos criar um tipo função para validar os objetos que
// queremos listar
Func<Type, RXClass> getClass = RXObject.GetClass;
// um set dos tipos aceitáveis
var tipos_aceitaveis = new HashSet<RXClass>{
getClass(typeof(Line))
};
// iniciamos uma transação
using (Transaction trans = db.TransactionManager.StartTransaction()) {
// vamos abrir a tabela de blocos para leitura
BlockTable tabela_blocos = trans.GetObject(db.BlockTableId,
OpenMode.ForRead) as BlockTable;
// agora abrimos o registro da tabela de blocos do model space
// para escrita
BlockTableRecord reg_tabela_blocos = trans.GetObject(
tabela_blocos[BlockTableRecord.ModelSpace],
OpenMode.ForWrite) as BlockTableRecord;
// vamos criar uma polyline com dois segmentos, ou seja,
// três pontos
Polyline polilinha = new Polyline();
// vamos adicionar os vértices
polilinha.AddVertexAt(0, new Point2d(2, 4), 0, 0, 0);
polilinha.AddVertexAt(1, new Point2d(4, 2), 0, 0, 0);
polilinha.AddVertexAt(2, new Point2d(6, 4), 0, 0, 0);
// adicionamos o novo objeto no registro da tabela de
// blocos e na transação
reg_tabela_blocos.AppendEntity(polilinha);
trans.AddNewlyCreatedDBObject(polilinha, true);
// e mostramos o resultado
doc.Editor.WriteMessage("\nA polilinha foi criada com o ID: " +
polilinha.Id + "\n");
// fechamos a transação
trans.Commit();
}
}
}
}
Ao executar este código AutoCAD C# .NET nós teremos o seguinte resultado: A polilinha foi criada com o ID: (1407715560928) |
|
|
Veja mais Dicas e truques de AutoCAD .NET API C# |
Dicas e truques de outras linguagens |
|
Java - Exercícios Resolvidos de Java - Como converter decimal em binário em Java usando o laço while |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |







