Tekla 2016 — Управляем внешним видом через TeklaAPI

TeklaAPI 2016 ModelObjectVisualization ClassВ OpenAPI Tekla 2016 добавили новые фичи, про них и поговорим немного. Остановимся на  ModelObjectVisualization  из раздела Tekla.Structures.Model.UI. Этот класс предоставляет функционал по изменения параметров отрисовки элементов трехмерной модели в Текле.

Т.е. позволяет управлять цветом и прозрачностью элементов в видовом окне теклы.

Ниже небольшой листинг — управляем цветом и прозрачностью выделенных объектов сделаем их серыми и полупрозрачными.

Получается крайне удобно, и главное быстро. Можно забыть о такой штуке как Represenation. Особенно когда тебе нужно поуправлять цветом и прозрачностью здесь и сейчас, а не ждать пока новые настройки применятся ко всей модели.

Дополнительный бонус — теперь у нас есть вся цветовая панель RGB  а не 16 стандартных прессетов. Можно разработать свой индивидуальный цветовой стиль. Если вдруг очень захочется. 😀

        private void button_GrayTransparent(object sender, EventArgs e)
        {
            TSM.UI.ModelObjectSelector selected = new TSM.UI.ModelObjectSelector();
            TSM.ModelObjectEnumerator manyO = (selected.GetSelectedObjects() as TSM.ModelObjectEnumerator);
            var Parts = new List<TSM.ModelObject>();
            while (manyO.MoveNext())
            {
                if ((manyO.Current as TSM.ModelObject) != null)
                {
                    Parts.Add(manyO.Current as TSM.ModelObject);
                }
            }
            TSM.UI.ModelObjectVisualization.ClearAllTemporaryStates(); //Сбрасываем предыдущие
            var color = new TSM.UI.Color(0.5,0.5,0.5,0.3);//создаем цвет
            TSM.UI.ModelObjectVisualization.SetTemporaryState(Parts, color);//применяем к выделенным объектам
        }

Сборки правда изменить так не получится. А вот плитки, балки, болты — только в путь.

P.S. — Кстати, на картинке показан пример того как не надо делать узлы металлических конструкций. Кто может объяснить почему?