Skip to content

Instantly share code, notes, and snippets.

@Civil3DToolChest
Last active August 29, 2015 13:56
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 Civil3DToolChest/9056758 to your computer and use it in GitHub Desktop.
Save Civil3DToolChest/9056758 to your computer and use it in GitHub Desktop.
Sets the maker symbol name
public bool setSymbolStyle(Autodesk.AutoCAD.DatabaseServices.ObjectId msId, string symbolName)
{
Autodesk.AutoCAD.ApplicationServices.Document acadDoc =
Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;
Autodesk.Civil.ApplicationServices.CivilDocument civilDoc =
Autodesk.Civil.ApplicationServices.CivilApplication.ActiveDocument;
using (Autodesk.AutoCAD.DatabaseServices.Transaction trans = acadDoc.Database.TransactionManager.StartTransaction())
{
Autodesk.AutoCAD.DatabaseServices.ObjectId bTId = acadDoc.Database.BlockTableId;
Autodesk.AutoCAD.DatabaseServices.BlockTable bT = bTId.GetObject(Autodesk.AutoCAD.DatabaseServices.OpenMode.ForRead) as Autodesk.AutoCAD.DatabaseServices.BlockTable;
bool blockNameExist = false;
foreach (Autodesk.AutoCAD.DatabaseServices.ObjectId btrId in bT)
{
Autodesk.AutoCAD.DatabaseServices.BlockTableRecord btr = btrId.GetObject(Autodesk.AutoCAD.DatabaseServices.OpenMode.ForRead) as Autodesk.AutoCAD.DatabaseServices.BlockTableRecord;
if (btr.Name == symbolName)
{
blockNameExist = true;
}
}
if (blockNameExist)
{
Autodesk.Civil.DatabaseServices.Styles.MarkerStyle ms =
msId.GetObject(OpenMode.ForWrite) as Autodesk.Civil.DatabaseServices.Styles.MarkerStyle;
ms.MarkerSymbolName = symbolName;
trans.Commit();
}
else
{
Autodesk.AutoCAD.EditorInput.Editor edr = acadDoc.Editor;
edr.WriteMessage("Block " + symbolName + " was not found in the drawing please insert the block.");
}
return blockNameExist;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment