ADN Club > AutoCAD .NET API

Флаги пользовательских свойств подшивок

(1/2) > >>

Андрей Бушман:
Доброго времени суток.

API подшивок позволяет создавать пользовательские свойства элементам подшивки, присваивая им определённые флаги (PropertyFlags). Эти флаги регламентируют, к чему относятся свойства: к подшивке в целом или же к её листу (sheet). Однако имеются и два дополнительных варианта этого флага: PropertyFlags.EMPTY и PropertyFlags.IS_CHILD. Документация по обозначенному флагу отсутствует (смотрел файл acad_sso.chm).

Подскажите, для каких целей существуют флаги PropertyFlags.EMPTY и PropertyFlags.IS_CHILD? В каких случаях используются эти флаги и вообще, какие комбинации флага PropertyFlags допускаются (помимо одиночного значения)?

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

--- Код - C# [Выбрать] ---using Ss = ACSMCOMPONENTS17Lib; // Sheet Set...// Create the custom properties for the sheet set:Ss.AcSmCustomPropertyBag bag = sheet_set.GetCustomPropertyBag();// The custom property of the sheet set's levelSs.AcSmCustomPropertyValue sheetset_prop = new Ss.AcSmCustomPropertyValue();sheetset_prop.InitNew(bag);sheetset_prop.SetValue("Ivan");sheetset_prop.SetFlags(Ss.PropertyFlags.CUSTOM_SHEETSET_PROP);bag.SetProperty("Boss", sheetset_prop);// The custom property of the sheet's levelSs.AcSmCustomPropertyValue sheet_prop = new Ss.AcSmCustomPropertyValue();sheet_prop.InitNew(bag);sheet_prop.SetValue("Peter");sheet_prop.SetFlags(Ss.PropertyFlags.CUSTOM_SHEET_PROP);bag.SetProperty("Supervisor", sheet_prop);// The empty custom property (unknown level)Ss.AcSmCustomPropertyValue empty_prop = new Ss.AcSmCustomPropertyValue();empty_prop.InitNew(bag);empty_prop.SetValue("This is the empty property's value...");empty_prop.SetFlags(Ss.PropertyFlags.EMPTY); // What the PropertyFlags.EMPTY means? bag.SetProperty("empty_property", empty_prop);// The "is child" custom property (unknown level)Ss.AcSmCustomPropertyValue child_prop = new Ss.AcSmCustomPropertyValue();child_prop.InitNew(bag);child_prop.SetFlags(Ss.PropertyFlags.IS_CHILD); // // What the PropertyFlags.IS_CHILD means?child_prop.SetValue(true); // I think it is the Boolean value, or the Int32 [1|0] value.bag.SetProperty("is_child_property", child_prop);...
Спасибо.

Александр Ривилис:
У меня есть предположения для чего эти флаги, но так как нет уверенности в правильности предположений решил отправить этот вопрос в ADN DevHelp.

Андрей Бушман:

--- Цитата: Александр Ривилис от 26-11-2013, 10:46:48 ---решил отправить этот вопрос в ADN DevHelp.
--- Конец цитаты ---
Спасибо, жду результат. :)

Александр Ривилис:
Получил частичный ответ:

--- Цитировать ---...Документация SheetSet API весьма ограничена...
Из того, что мне известно, PropertyFlags.Empty может быть использован для создания пользовательского свойства, которое не будут отображаться в AutoCAD UI в разделе пользовательских свойств.
Что касается PropertyFlags.IS_CHILD, то я не нашел ни одного примера его использования.
Я свяжусь с нашей командой инженеров по поводу обоих этих флагов и когда от них будет информация сообщу.

--- Конец цитаты ---

Андрей Бушман:
Спасибо.

--- Цитата: Александр Ривилис от 01-12-2013, 03:49:19 ---Я свяжусь с нашей командой инженеров по поводу обоих этих флагов и когда от них будет информация сообщу.
--- Конец цитаты ---
С интересом жду ответа.

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Перейти к полной версии