Hi.
I have a palette with a user control that included a combobox which show list alignments.
I would like that if I add or delete alignments (or rename alignment), the list regenerate.
Thank you.
Solved! Go to Solution.
Solved by Daniel.Du. Go to Solution.
Hi joantopo,
There is no such API in Civil 3D, but you can use AutoCAD API to do that.
#region Mointor Entity events
[CommandMethod("MonitorEntityEvents")]
public void MonitorEntityEvents_Method()
{
SubscribeEntityEventsToDoc(Application.DocumentManager.MdiActiveDocument.Database);
}
public static void SubscribeEntityEventsToDoc(Database db)
{
db.ObjectAppended += new ObjectEventHandler(db_ObjectAppended);
db.ObjectErased += new ObjectErasedEventHandler(db_ObjectErased);
}
static void db_ObjectErased(object sender, ObjectErasedEventArgs e)
{
Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
ed.WriteMessage("\n object Erased: " + e.DBObject.GetType().ToString());
}
static void db_ObjectAppended(object sender, ObjectEventArgs e)
{
Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
ed.WriteMessage("\n object appended: " + e.DBObject.GetType().ToString());
}
#endregion
Hope this helps.
@Daniel.Du wrote:
There is no such API in Civil 3D...
Why not?
@Daniel.Du wrote:... but you can use AutoCAD API to do that.
#region Mointor Entity events
[CommandMethod("MonitorEntityEvents")]
public void MonitorEntityEvents_Method()
{
SubscribeEntityEventsToDoc(Application.DocumentManager.MdiActiveDocument.Database);
}
public static void SubscribeEntityEventsToDoc(Database db)
{
db.ObjectAppended += new ObjectEventHandler(db_ObjectAppended);
db.ObjectErased += new ObjectErasedEventHandler(db_ObjectErased);
}
static void db_ObjectErased(object sender, ObjectErasedEventArgs e)
{
Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
ed.WriteMessage("\n object Erased: " + e.DBObject.GetType().ToString());
}
static void db_ObjectAppended(object sender, ObjectEventArgs e)
{
Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
ed.WriteMessage("\n object appended: " + e.DBObject.GetType().ToString());
}
#endregion</body>
... Or you could just use MGDDBG.
From ADN DevBlog: DWG Debugger MGDDBG for AutoCAD 2012/2013
"How we think determines what we do, and what we do determines what we get."
AutoCAD API works in Civil 3D as well, so please feel free to use AutoCAD API in Civil 3D as much as you want. 🙂