Skip to content

Instantly share code, notes, and snippets.

@brunosaboia
Last active December 18, 2015 22:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save brunosaboia/5853100 to your computer and use it in GitHub Desktop.
Save brunosaboia/5853100 to your computer and use it in GitHub Desktop.
Desenhando um quadrado no AutoCAD com ObjectARX: Parte I
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Geometry;
using Autodesk.AutoCAD.Runtime;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DesenharQuadrado
{
public class AuxiliarAutoCAD
{
[CommandMethod("DesenharQuadrado")]
public void DesenharQuadrado()
{
var pontoA = new Point3d(0, 100, 0);
var pontoB = new Point3d(100, 100, 0);
var pontoC = new Point3d(0, 0, 0);
var pontoD = new Point3d(100, 0, 0);
var retaAB = new Line(pontoA, pontoB);
var retaAC = new Line(pontoA, pontoC);
var retaBD = new Line(pontoB, pontoD);
var retaCD = new Line(pontoC, pontoD);
var document = Application.DocumentManager.MdiActiveDocument;
using (var transaction = document.TransactionManager.StartTransaction())
{
var blockTable = transaction.GetObject(document.Database.BlockTableId, OpenMode.ForRead) as BlockTable;
var blockTableRecord = transaction.GetObject(blockTable[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord;
blockTableRecord.AppendEntity(retaAB);
transaction.AddNewlyCreatedDBObject(retaAB, true);
blockTableRecord.AppendEntity(retaAC);
transaction.AddNewlyCreatedDBObject(retaAC, true);
blockTableRecord.AppendEntity(retaBD);
transaction.AddNewlyCreatedDBObject(retaBD, true);
blockTableRecord.AppendEntity(retaCD);
transaction.AddNewlyCreatedDBObject(retaCD, true);
transaction.Commit();
transaction.Commit();
}
document.Editor.WriteMessage("Comando efetuado com sucesso.");
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment