Gets the single connected asset attached to this asset property, if it exists.
Namespace: Autodesk.Revit.DB.Visual
Assembly: RevitAPI (in RevitAPI.dll) Version: 24.0.0.0 (24.0.0.0)
Since:
2018.1
Syntax
C# |
---|
public Asset GetSingleConnectedAsset() |
Visual Basic |
---|
Public Function GetSingleConnectedAsset As Asset |
Visual C++ |
---|
public:
Asset^ GetSingleConnectedAsset() |
Return Value
The connected asset, or
nullNothingnullptra null reference (Nothing in Visual Basic) if there is no connected asset.
Remarks
Examples
CopyC#
private void SetBumpmapBitmap(Material material, String bumpmapImageFilepath)
{
ElementId appearanceAssetId = material.AppearanceAssetId;
AppearanceAssetElement assetElem = material.Document.GetElement(appearanceAssetId) as AppearanceAssetElement;
using (Transaction t = new Transaction(material.Document, "Change material bumpmap bitmap"))
{
t.Start();
using (AppearanceAssetEditScope editScope = new AppearanceAssetEditScope(assetElem.Document))
{
Asset editableAsset = editScope.Start(assetElem.Id);
AssetProperty bumpMapProperty = editableAsset.FindByName("generic_bump_map");
Asset connectedAsset = bumpMapProperty.GetSingleConnectedAsset();
if (connectedAsset == null)
{
bumpMapProperty.AddConnectedAsset("UnifiedBitmap");
connectedAsset = bumpMapProperty.GetSingleConnectedAsset();
}
if (connectedAsset != null)
{
AssetPropertyString bumpmapBitmapProperty = connectedAsset.FindByName("unifiedbitmap_Bitmap") as AssetPropertyString;
if (bumpmapBitmapProperty.IsValidValue(bumpmapImageFilepath))
bumpmapBitmapProperty.Value = bumpmapImageFilepath;
}
editScope.Commit(true);
}
t.Commit();
}
}
CopyVB.NET
Private Sub SetBumpmapBitmap(material As Material, bumpmapImageFilepath As [String])
Dim appearanceAssetId As ElementId = material.AppearanceAssetId
Dim assetElem As AppearanceAssetElement = TryCast(material.Document.GetElement(appearanceAssetId), AppearanceAssetElement)
Using t As New Transaction(material.Document, "Change material bumpmap bitmap")
t.Start()
Using editScope As New AppearanceAssetEditScope(assetElem.Document)
Dim editableAsset As Asset = editScope.Start(assetElem.Id)
Dim bumpMapProperty As AssetProperty = editableAsset.FindByName("generic_bump_map")
Dim connectedAsset As Asset = bumpMapProperty.GetSingleConnectedAsset()
If connectedAsset Is Nothing Then
bumpMapProperty.AddConnectedAsset("UnifiedBitmap")
connectedAsset = bumpMapProperty.GetSingleConnectedAsset()
End If
If connectedAsset IsNot Nothing Then
Dim bumpmapBitmapProperty As AssetPropertyString = TryCast(connectedAsset.FindByName("unifiedbitmap_Bitmap"), AssetPropertyString)
If bumpmapBitmapProperty.IsValidValue(bumpmapImageFilepath) Then
bumpmapBitmapProperty.Value = bumpmapImageFilepath
End If
End If
editScope.Commit(True)
End Using
t.Commit()
End Using
End Sub
Exceptions
See Also