1) У меня есть WallType, и мне нужно изменить составную структуру WallType.
private void updateCompoundStructure(WallType wT)
{
IList<Autodesk.Revit.DB.CompoundStructureLayer> csl = new List<Autodesk.Revit.DB.CompoundStructureLayer>();
csl.Add(new Autodesk.Revit.DB.CompoundStructureLayer()
{
DeckEmbeddingType = deck,
DeckProfileId = profileId,
Function = structureFunction,
LayerCapFlag = item.LayerCapFlag,
MaterialId = materialId,
Width = item.Thickness
});
CompoundStructure cs = CompoundStructure.CreateSimpleCompoundStructure(csl);
if (cs.IsValid(dbDoc, out IDictionary<int, CompoundStructureError> errMap, out IDictionary<int, int> twoLayerErrorMap))
{
wallType.SetCompoundStructure(cs);
}
}
Составная структура типа стены корректно обновлена
Но CompoundStructureLayer.LayerId - это чтениеединственное поле, которое мы не можем обновить для всех слоев Layer CompoundStructureLayer, которые я получаю, это как 0
2), когда я читаю форму составной структуры WallType, она дает LayerID в виде 0-го индекса как 0,
в 11-й индекс как 1
при 2-м индексе как 2 ... и т. д.
Есть ли способ обновить идентификатор слоя составной структуры?Есть ли способ обойти это?