using System;
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Geometry;
using Autodesk.AutoCAD.EditorInput;
// This line is not mandatory, but improves loading performances
[assembly: CommandClass(typeof(GetCustProps.MyCommands))]
namespace GetCustProps
{
public static class MyCommands
{
[CommandMethod("GetCustProp")]
public static void GetCustProp()
{
Document doc = Application.DocumentManager.MdiActiveDocument;
if (doc == null)
return;
Editor ed = doc.Editor;
PromptResult rs = ed.GetString("\nУкажите ключ: ");
if (rs.Status != PromptStatus.OK)
return;
string val = doc.Database.GetCustomProperty(rs.StringResult);
ed.WriteMessage("\nval = {0}", val);
}
public static string GetCustomProperty(this Database db, string key)
{
DatabaseSummaryInfoBuilder sumInfo = new DatabaseSummaryInfoBuilder(db.SummaryInfo);
var custProps = sumInfo.CustomPropertyTable;
if (custProps.Contains(key))
return (string)custProps[key];
else
return null;
}
}
}