2022 Class
Changes 0
C

Asset

Description:
Represents a connected property of material.
Inheritance Hierarchy:
System.Object
  Autodesk.Revit.DB.Visual.AssetProperty
    Autodesk.Revit.DB.Visual.AssetProperties
      Autodesk.Revit.DB.Visual.Asset
public class Asset : AssetProperties
public void ReadAsset(Asset asset)
{
   // Get the asset name, type and library name.
   AssetType type = asset.AssetType;
   string name = asset.Name;
   string libraryName = asset.LibraryName;

   // travel the asset properties in the asset.
   for (int idx = 0; idx < asset.Size; idx++)
   {
      AssetProperty prop = asset.Get(idx);
      ReadAssetProperty(prop);
   }
}

public void ReadAssetProperty(AssetProperty prop)
{
   switch (prop.Type)
   {
      // Retrieve the value from simple type property is easy.
      // for example, retrieve bool property value.
      case AssetPropertyType.Boolean:
         AssetPropertyBoolean boolProp = prop as AssetPropertyBoolean;
         bool propValue = boolProp.Value;
         break;

      // When you retrieve the value from the data array property,
      // you may need to get which value the property stands for.
      // for example, the APT_Double44 may be a transform data.
      case AssetPropertyType.Double44:
         AssetPropertyDoubleArray4d transformProp = prop as AssetPropertyDoubleArray4d;
         IList<double> tranformValue = transformProp.GetValueAsDoubles();
         break;

      // The APT_List contains a list of sub asset properties with same type.
      case AssetPropertyType.List:
         AssetPropertyList propList = prop as AssetPropertyList;
         IList<AssetProperty> subProps = propList.GetValue();
         if (subProps.Count == 0)
            break;
         switch (subProps[0].Type)
         {
            case AssetPropertyType.Integer:
               foreach (AssetProperty subProp in subProps)
               {
                  AssetPropertyInteger intProp = subProp as AssetPropertyInteger;
                  int intValue = intProp.Value;
               }
               break;
         }
         break;

      case AssetPropertyType.Asset:
         Asset propAsset = prop as Asset;
         ReadAsset(propAsset);
         break;
      default:
         break;
   }

   // Get the connected properties.
   // please notice that the information of many texture stores here.
   if (prop.NumberOfConnectedProperties == 0)
      return;
   foreach (AssetProperty connectedProp in prop.GetAllConnectedProperties())
   {
      // Note: Usually, the connected property is an Asset.
      ReadAssetProperty(connectedProp);
   }
}
Name Return Type Description Inherited From
M AddConnectedAsset(String) None Adds a new connected asset attached to this asset property, if it allows it. AssetProperty
M AddCopyAsConnectedAsset(Asset) None Makes a copy of the asset and connects it to this property. AssetProperty
M Dispose() None Releases all resources used by the AssetProperty
M GetAllConnectedProperties() IList<AssetProperty> Gets the list of the connected properties. Connected properties are the detachable properties of an AssetProperty. e.g. diffuse property can have texture as its connected property. It can also detach texture on runtime. AssetProperty
M GetConnectedProperty(Int32) AssetProperty Gets one connected property with specified index. AssetProperty
M GetSingleConnectedAsset() nullNothingnullptr Gets the single connected asset attached to this asset property, if it exists. AssetProperty
M GetTypeName(AssetPropertyType) string Get the name of the AssetProperty AssetProperty
M IsEditable() bool Check if property can be edited. AssetProperty
M IsValidSchemaIdentifier(String) bool Check that schema name is valid AssetProperty
M RemoveConnectedAsset() None Removes the connected asset attached to this asset property if any. AssetProperty
M FindByName(String) AssetProperty Gets the property with the given name. AssetProperties
M Get(Int32) AssetProperty Gets the property at the given index. AssetProperties
M IsValidIndex(Int32) bool Returns true if the provided index is valid. AssetProperties
Name Return Type Description Inherited From
P AssetType AssetType The type of RenderingAsset
P LibraryName string Library name
P Title string Asset title
P IsReadOnly bool Identifies if the object is read-only or modifiable. If true, the object may not be modified. If false, the object's contents may be modified. AssetProperty
P IsValidObject bool Specifies whether the .NET object represents a valid Revit entity. AssetProperty
P Name string Get the name of the AssetProperty AssetProperty
P NumberOfConnectedProperties int The number of currently connected properties. AssetProperty
P Type AssetPropertyType Returns the type of the AssetProperty AssetProperty
P Item AssetProperty AssetProperties
P Size int The number of the AssetProperty(s) in the object. AssetProperties