AssetPropertyGetSingleConnectedAsset Method |
Gets the single connected asset attached to this asset property, if it exists.
Namespace: Autodesk.Revit.DB.VisualAssembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntaxpublic Asset GetSingleConnectedAsset()
Public Function GetSingleConnectedAsset As Asset
public:
Asset^ GetSingleConnectedAsset()
member GetSingleConnectedAsset : unit -> Asset
Return Value
Asset
The connected asset, or
if there is no connected asset.
Exceptions
Remarks
Throws if there is more than one connected asset.
Exampleprivate 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();
}
}
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
No code example is currently available or this language may not be supported.
No code example is currently available or this language may not be supported.
See Also