首页 > 解决方案 > Revit API:为材质创建外观资产

问题描述

我正在尝试为新创建的材料设置外观颜色。为此,我需要AppearanceAssetElement为该材料创建一个。

在这里我遇到了麻烦 - 要创建一个AppearanceAssetElement,我需要有一个现有的资产。但是,在检查所有现有材料时,它们都没有附加任何外观资产(注意:我的整个项目文档是通过 API 在同一事务中创建的;也许这会导致问题?)。

我怎样才能AppearanceAssetElement在我的情况下创建?

标签: revit-api

解决方案


Revit API论坛上有一个类似的问题已解决:

Revit API 论坛问题

还有一些关于构建编码器的有用链接:

材质纹理路径

修改材料视觉外观

来自建筑编码器的关于改变颜色的摘录:

   using( AppearanceAssetEditScope editScope
    = new AppearanceAssetEditScope( document ) )
  {
    Asset editableAsset = editScope.Start( assetElem.Id );
    AssetPropertyDoubleArray4d genericDiffuseProperty
      = editableAsset["generic_diffuse"]
        as AssetPropertyDoubleArray4d;
    genericDiffuseProperty.SetValueAsColor( color );
    editScope.Commit( true );
  }

推荐阅读