revit-api - Revit API:为材质创建外观资产
问题描述
我正在尝试为新创建的材料设置外观颜色。为此,我需要AppearanceAssetElement
为该材料创建一个。
在这里我遇到了麻烦 - 要创建一个AppearanceAssetElement
,我需要有一个现有的资产。但是,在检查所有现有材料时,它们都没有附加任何外观资产(注意:我的整个项目文档是通过 API 在同一事务中创建的;也许这会导致问题?)。
我怎样才能AppearanceAssetElement
在我的情况下创建?
解决方案
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 );
}
推荐阅读
- authentication - OBIEE LDAP 授权
- r - 预测一场足球比赛的伤停补时?
- xpath - 使用 Scrapy 和 xpath 提取文本
- c++ - GCC 不喜欢与匿名命名空间前向声明交朋友,但 MSVC 喜欢。什么?
- android - 进度条如何使用颤振提供程序侦听值更改并更新另一个小部件?
- node.js - 如何在没有互联网且没有root权限的情况下在redhat上安装nodejs?
- python - 在 Scrapy 中使用 For 循环将 Xpath 值附加到列表
- python - 基于两个日期列创建多个 df 行
- batch-file - 如何使用批处理文件列出 URL 列表的最终重定向?
- unix - 在oracle中动态生成多个sql脚本