def create_ext_command_attrs(): regen_const_info = \ framework.clr.GetClrType(api.Attributes.RegenerationAttribute) \ .GetConstructor( framework.Array[framework.Type]( (api.Attributes.RegenerationOption,) ) ) regen_attr_builder = \ framework.CustomAttributeBuilder( regen_const_info, framework.Array[object]( (api.Attributes.RegenerationOption.Manual,) ) ) # add TransactionAttribute to framework.Type trans_constructor_info = \ framework.clr.GetClrType(api.Attributes.TransactionAttribute) \ .GetConstructor( framework.Array[framework.Type]( (api.Attributes.TransactionMode,) ) ) trans_attrib_builder = \ framework.CustomAttributeBuilder( trans_constructor_info, framework.Array[object]( (api.Attributes.TransactionMode.Manual,) ) ) return [regen_attr_builder, trans_attrib_builder]
def create_ext_command_attrs(): """Create dotnet attributes for Revit extenrnal commads. This method is used in creating custom dotnet types for pyRevit commands and compiling them into a DLL assembly. Current implementation sets ``RegenerationOption.Manual`` and ``TransactionMode.Manual`` Returns: list: list of :obj:`CustomAttributeBuilder` for :obj:`RegenerationOption` and :obj:`TransactionMode` attributes. """ regen_const_info = \ framework.clr.GetClrType(api.Attributes.RegenerationAttribute) \ .GetConstructor( framework.Array[framework.Type]( (api.Attributes.RegenerationOption,) ) ) regen_attr_builder = \ framework.CustomAttributeBuilder( regen_const_info, framework.Array[object]( (api.Attributes.RegenerationOption.Manual,) ) ) # add TransactionAttribute to framework.Type trans_constructor_info = \ framework.clr.GetClrType(api.Attributes.TransactionAttribute) \ .GetConstructor( framework.Array[framework.Type]( (api.Attributes.TransactionMode,) ) ) trans_attrib_builder = \ framework.CustomAttributeBuilder( trans_constructor_info, framework.Array[object]( (api.Attributes.TransactionMode.Manual,) ) ) return [regen_attr_builder, trans_attrib_builder]