Você está aqui: AutoCAD .NET API C# ::: Dicas & Truques ::: Ponto, Pontos, Comando POINT |
Como criar um ponto 3D no AutoCAD usando a AutoCAD C# .NET e o construtor da classe Point3dQuantidade de visualizações: 203 vezes |
Nesta dica mostrarei como podemos usar o construtor da classe Point3d da AutoCAD C# .NET para criar um novo ponto 3D na área de desenho do AutoCAD. Note que este construtor pede os valores para as coordenadas x, y e z. Note que, depois de criado um novo objeto Point3d, nós o passamos para o construtor da classe DBPoint. Isso acontece porque o método AppendEntity() da classe BlockTableRecord aceita um DBPoint, e não um Point3d. Veja um código C# completo no qual criamos um ponto 3D nas coordenadas x=50, y=20, z=30: using Autodesk.AutoCAD.Runtime; using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.DatabaseServices; 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; // 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 um ponto 3d com as coordenadas x, y e z Point3d ponto3d = new Point3d(50, 20, 30); // e adicionamos o novo ponto no model space DBPoint ponto_db = new DBPoint(ponto3d); reg_tabela_blocos.AppendEntity(ponto_db); // adicionamos na transação trans.AddNewlyCreatedDBObject(ponto_db, true); // vamos definir o estilo do ponto e o tamanho dos pontos // para torná-los visíveis no model space db.Pdmode = 3; db.Pdsize = 5; // fechamos a transação trans.Commit(); } } } } Ao executar este código AutoCAD C# .NET nós veremos um novo ponto 3D nas coordenadas x=50, y=20, z=30. É claro que, como o ponto possui uma elevação de 30 centímetros (ou metros, dependendo da sua configuração do AutoCAD), você terá que alterar sua view para SE Isometric, por exemplo, para ver a exibição do ponto em modo 3D. |
![]() |
Veja mais Dicas e truques de AutoCAD .NET API C# |
Dicas e truques de outras linguagens |
Java - Programação Orientada a Objetos em Java - Como usar o modificador static em suas aplicações Java |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |