dwg.ru forum rss xml
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > Работа со словарями AutoCAD через .Net API

Работа со словарями AutoCAD через .Net API

Версия для печати
 
Ответ
Опции темы Поиск в этой теме
Непрочитано 30.12.2009, 15:33 #1
Работа со словарями AutoCAD через .Net API
hwd
 
C, C++, C#
 
С-Пб.
Регистрация: 07.10.2009
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™

hwd вне форума Вставить имя

Никогда ранее не работал со словарями AutoCAD. Буду признателен за ликбез.
Фрагмент моего кода:
Код:
[Выделить все]
...
        void GetDict(TreeViewItem node)
        {
            using (Transaction trans = db.TransactionManager.StartTransaction())
            {
                DBDictionary dbDict = trans.GetObject(db.GroupDictionaryId, OpenMode.ForRead) as DBDictionary;
                TreeViewItem dbDictNode = new TreeViewItem { Header = "[DBDictionary]", Foreground = Brushes.Yellow, Tag = db };
                node.Items.Add(dbDictNode);
                foreach (DBDictionaryEntry dict in dbDict)
                {
                    TreeViewItem dicts = new TreeViewItem { Header = dict.Value.ObjectClass + ";" + dict.Key, Foreground = Brushes.Yellow, Tag = db };
                    dbDictNode.Items.Add(dicts);
                }
            } 
        }
Запустив программу вижу, что в открытом мною файле словарь не содержит ничего.

В словаре содержатся объекты класса DBDictionaryEntry, хранящие в себе ключ/значение.
Ключ является строкой, а значение - объектом класса ObjectID.

Т.е. получается, что словарь - это таблица именованных ссылок на объекты базы данных?

Насколько я понимаю, в базе данных dwg-файла присутствуют только такие таблицы (судя по идентификаторам):
//db.BlockTableId;
//db.ColorDictionaryId;
//db.DataLinkDictionaryId;
//db.DimStyleTableId;
//db.GroupDictionaryId;
//db.LayerTableId;
//db.LayoutDictionaryId;
//db.LinetypeTableId;
//db.MaterialDictionaryId;
//db.MLeaderStyleDictionaryId;
//db.NamedObjectsDictionaryId;
//db.PlotSettingsDictionaryId;
//db.PlotStyleNameDictionaryId;
//db.RegAppTableId;
//db.TableStyleDictionaryId;
//db.TextStyleTableId;
//db.UcsTableId;
//db.ViewportTableId;
//db.ViewTableId;
//db.VisualStyleDictionaryId;
Или присутствует ещё что-то?

Предположим, что я хочу создать некоторое свойство и закрепить его за всеми типами графических примитивов: свойство "Примечание". Было бы конечно здорово, если бы это свойство появилось и в окошке Properties при выборе такого объекта (может быть даже на отдельной вкладке, если таких свойств много и я хочу их выделить в отдельную категорию). Как это делается?

Другой пример: предположим, что я хочу создать группу свойств и при необходимости назначать её определённым примитивам. Касательно окна Properties пожелания те же.

С уважением hwd
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 30.12.2009 в 20:26.
Просмотров: 2119
 
Непрочитано 31.12.2009, 01:06
#2
Pastor

это только кличка
 
Регистрация: 22.10.2006
Москва
Сообщений: 252


Извиняюсь, что не по теме. Нашел ошибку в теме выгрузки NET-сборок на вашем сайте. Подробности см. в личнном сообщении.
__________________
...в шее моей жилы железные, и лоб мой - медный...
Pastor вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 02.02.2018, 13:55
1 | #3
trir


 
Регистрация: 18.12.2010
Сообщений: 2,582


Цитата:
Предположим, что я хочу создать некоторое свойство и закрепить его за всеми типами графических примитивов: свойство "Примечание". Было бы конечно здорово, если бы это свойство появилось и в окошке Properties при выборе такого объекта (может быть даже на отдельной вкладке, если таких свойств много и я хочу их выделить в отдельную категорию). Как это делается?
OPM.Net Extension
trir вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 02.02.2018, 15:55
#4
Setvar

Всего понемногу
 
Регистрация: 10.02.2007
Москва
Сообщений: 397


Цитата:
Сообщение от hwd Посмотреть сообщение
Как это делается?
Offtop: А если ответит социальный овощ, в топку его?
__________________
Установи FILEDIA в 1 и не парься.
Setvar вне форума вставить имя Обратить внимание модератора на это сообщение  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > Работа со словарями AutoCAD через .Net API

Инженерные консультации
Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с AutoCad из C++ Santilka85 Программирование 15 14.06.2007 19:55
Работа со старыми чертежами с помощью AutoCAD и Photoshop Shoorup AutoCAD 9 10.05.2007 23:41
Работа с сеткой в AutoCAD. Andrew83 AutoCAD 4 26.12.2006 19:36
Совместная работа CorelDRAW 12 и AutoCAD 2002 Ezdorov AutoCAD 9 31.08.2006 09:36

|| Главная || Каталог САПР || Тендеры || Публикации || Объявления || Биржа труда || Download || Галерея ||
|| Библиотека || Кунсткамера || Каталог предприятий || Контакты || Файлообменник || Блоги ||