Установка новой составной структуры для WallType не обновляет LayerID для CompoundStructureLayers - PullRequest
0 голосов
/ 25 сентября 2018

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 ... и т. д.

Есть ли способ обновить идентификатор слоя составной структуры?Есть ли способ обойти это?

...