Hello.
We can create the custom properties in the sheet set through the COM API. The
PropertyFlags flag controls interpretation of the custom properties. Both my questions are located in the comments of code:
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 level
Ss
.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 level
Ss
.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);
...
Third question: what the combinations of this flag are allowed?
Thank you.