Asset
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
Namespace: Autodesk.Revit.DB.Visual
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntax
public class Asset : AssetProperties
The Asset type exposes the following members.
Properties
Name
Description
Public Property
AssetType
The type of RenderingAsset
Public Property
IsReadOnly
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.
(Inherited from AssetProperty)
Public Property
IsValidObject
Specifies whether the .NET object represents a valid Revit entity.
(Inherited from AssetProperty)
Public Property
Item
(Inherited from AssetProperties)
Public Property
LibraryName
Library name
Public Property
Name
Get the name of the AssetProperty
(Inherited from AssetProperty)
Public Property
NumberOfConnectedProperties
The number of currently connected properties.
(Inherited from AssetProperty)
Public Property
Size
The number of the AssetProperty(s) in the object.
(Inherited from AssetProperties)
Public Property
Title
Asset title
Public Property
Type
Returns the type of the AssetProperty
(Inherited from AssetProperty)
Methods
Name
Description
Public Method
AddConnectedAsset
Adds a new connected asset attached to this asset property, if it allows it.
(Inherited from AssetProperty)
Public Method
Code Example
AddCopyAsConnectedAsset
Makes a copy of the asset and connects it to this property.
(Inherited from AssetProperty)
Public Method
Dispose
(Inherited from AssetProperty)
Public Method
Equals
Determines whether the specified object is equal to the current object.
(Inherited from Object)
Public Method
FindByName
Gets the property with the given name.
(Inherited from AssetProperties)
Public Method
Get
Gets the property at the given index.
(Inherited from AssetProperties)
Public Method
GetAllConnectedProperties
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.
(Inherited from AssetProperty)
Public Method
GetConnectedProperty
Gets one connected property with specified index.
(Inherited from AssetProperty)
Public Method
GetHashCode
Serves as the default hash function.
(Inherited from Object)
Public Method
Code Example
GetSingleConnectedAsset
Gets the single connected asset attached to this asset property, if it exists.
(Inherited from AssetProperty)
Public Method
GetType
Gets the Type of the current instance.
(Inherited from Object)
Public Method
IsEditable
Check if property can be edited.
(Inherited from AssetProperty)
Public Method
IsValidIndex
Returns true if the provided index is valid.
(Inherited from AssetProperties)
Public Method
IsValidSchemaIdentifier
Check that schema name is valid
(Inherited from AssetProperty)
Public Method
RemoveConnectedAsset
Removes the connected asset attached to this asset property if any.
(Inherited from AssetProperty)
Public Method
ToString
Returns a string that represents the current object.
(Inherited from Object)
Example
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); }}