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: 406 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 |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






