30/05/2013
Список определений подложек DWF в чертеже
Каждое определение DWF-подложки хранится в словаре именованных объектов (NOD) в словаре с именем "ACAD_DWFDEFINITIONS". Следующий код показывает как можно пройтись по словарю "ACAD_DWFDEFINITIONS" и распечатать все определения всех DWF-подложек.
Код - C#: [Выделить]
- [CommandMethod("DWFUnderlayList")]
- static public void DWFUnderlayList()
- {
- Document doc = Application.DocumentManager.MdiActiveDocument;
- Database db = doc.Database;
- Editor ed = doc.Editor;
- using (Transaction tr =
- db.TransactionManager.StartTransaction())
- {
- DBDictionary nod = (DBDictionary)tr.GetObject(
- db.NamedObjectsDictionaryId, OpenMode.ForRead);
- string defDictKey = UnderlayDefinition.GetDictionaryKey(
- typeof(DwfDefinition));
- if (nod.Contains(defDictKey))
- {
- DBDictionary dwfDict =
- (DBDictionary)tr.GetObject(
- nod.GetAt(defDictKey), OpenMode.ForRead);
- foreach (DBDictionaryEntry entry in dwfDict)
- {
- DwfDefinition dwfDef = (DwfDefinition)tr.GetObject(
- entry.Value, OpenMode.ForRead);
- ed.WriteMessage(dwfDef.ActiveFileName + "\n");
- }
- }
- else
- {
- ed.WriteMessage("Нет DWF-подложек в файле чертежа\n");
- }
- tr.Commit();
- }
- }
Источник: http://adndevblog.typepad.com/autocad/2013/02/list-dwf-underlay-definitions-in-the-drawing.html
Обсуждение: http://adn-cis.org/forum/index.php?topic=84.0
Опубликовано 30.05.2013
Отредактировано 08.06.2013 в 02:24:45
Отредактировано 08.06.2013 в 02:24:45