Last active
December 18, 2015 22:18
-
-
Save brunosaboia/5853100 to your computer and use it in GitHub Desktop.
Desenhando um quadrado no AutoCAD com ObjectARX: Parte I
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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