Asset
Description:
Represents a connected property of material.
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
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 |
|---|---|---|---|
| AddConnectedAsset(String) | None | Adds a new connected asset attached to this asset property, if it allows it. | AssetProperty |
| AddCopyAsConnectedAsset(Asset) | None | Makes a copy of the asset and connects it to this property. | AssetProperty |
| Dispose() | None | Releases all resources used by the | AssetProperty |
| 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 |
| GetConnectedProperty(Int32) | AssetProperty | Gets one connected property with specified index. | AssetProperty |
| GetSingleConnectedAsset() | nullNothingnullptr | Gets the single connected asset attached to this asset property, if it exists. | AssetProperty |
| GetTypeName(AssetPropertyType) | string | Get the name of the AssetProperty | AssetProperty |
| IsEditable() | bool | Check if property can be edited. | AssetProperty |
| IsValidSchemaIdentifier(String) | bool | Check that schema name is valid | AssetProperty |
| RemoveConnectedAsset() | None | Removes the connected asset attached to this asset property if any. | AssetProperty |
| FindByName(String) | AssetProperty | Gets the property with the given name. | AssetProperties |
| Get(Int32) | AssetProperty | Gets the property at the given index. | AssetProperties |
| IsValidIndex(Int32) | bool | Returns true if the provided index is valid. | AssetProperties |
| Name | Return Type | Description | Inherited From |
|---|---|---|---|
| AssetType | AssetType | The type of RenderingAsset | |
| LibraryName | string | Library name | |
| Title | string | Asset title | |
| 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 |
| IsValidObject | bool | Specifies whether the .NET object represents a valid Revit entity. | AssetProperty |
| Name | string | Get the name of the AssetProperty | AssetProperty |
| NumberOfConnectedProperties | int | The number of currently connected properties. | AssetProperty |
| Type | AssetPropertyType | Returns the type of the AssetProperty | AssetProperty |
| Item | AssetProperty | AssetProperties | |
| Size | int | The number of the AssetProperty(s) in the object. | AssetProperties |