Tekla Structures: двух компонентная модель.

Постоянно использую в работе компонент 2dArray. Не только потому, что я его написал, но потому что он получился реально удобным. Да еще и сюрпризы преподносит переодически. Очередной такой случай всё, что представлено на скринах из модели — результат применения двух компонентов. Абстрактный конь в вакууме конечно, но наглядно показывает возможности, особенно если архитектор психанул.

Читать далее «Tekla Structures: двух компонентная модель.»

Tekla Structures there are Locked Object

Tekla Structures: There are locked objects, operation could not be performed

Блокировка объектов в текле — штука крайне полезная. Можно заморозить дизайн в текущем состоянии и быть уверенным в том, что коллеги в этой части конструкции ничего не поменяют. Это позволяет предотвратить ситуации связанные со случайными изменениями когда, например, в выборку перемещаемых объектов попадают детали из уже закоченных конструкций. От этого едет нумерация объектов, летят чертежи, происходят прочие неприятные вещи.

Однако иногда блокировка сама становится проблемой. Обычно в тех случаях когда приходится переделывать чью-то работу. Тогда назойливое сообщение не дает внести необходимые изменения. К тому же свойства среды нигде явным образом не сообщают о блокировке. Вот об этих случаях и поговорим

Читать далее «Tekla Structures there are Locked Object»

Tekla Macro Custom Inquire подписка на события.

Tekla Custom Inquire Macro TeklaAPITekla Structures содержит исчерпывающий объем информации о каждом элементе модели — графическом, или текстовом. Чтобы получить данные используют следующие инструменты:

  • Inquire — не слишком интерактивен, выдаёт исчерпывающую информацию — но только об одном объекте.
  • Custom Inquire выводит информацию мгновенно, но тоже только один элемент. И нельзя добраться до пользовательских свойств (UDA) элементов.
  • Reports —  отличный, только сначала надо в Template Editore написать подходящий репорт. В сложных случаях нетривиальная задача.

Ниже представлен макрос который представляет частный случай подписки на событие SelectionChange из TeklaAPI. Будем извлекать информацию о выделенных элементах, согласно заданному списку свойств.

Список задается в виде отдельных переменных. Впрочем, если приходилось разрабатывать репорты в Текле, то понять принцип будет легко. Макрос качаем тут:

CADSUPPORT_CustomInquireTool.cs

подробнее о том как это работает Читать далее «Tekla Macro Custom Inquire подписка на события.»

Комментарии это здорово.

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

Из данных точек построим две касательных к окружности. Сложим вектора получившиеся из центра окружности к касательным. Получим вектор биссектрисы угла образованного этими векторами. Найдем точку окружности лежащую на этом векторе, отложим из неё нормаль к биссектриссе. и найдем пересечение нормали с векторами касательной из первой и из второй точки.

Вообщем если кому охота будет поломать голову — добро пожаловать.

В комментариях можно высказывать предположения откуда это и для чего может быть применимо.

prompts.ail автоматическая локализация в среде Tekla Structures

Этот файл можно найти в папке теклы

TeklaStructures\19.0\messages\prompts.ail

Тут хранятся стандартные сообщения Теклы, которые можно использовать в ваших программах на текла апи. Каждый запрос к пользователю может быть сопровожден текстовым аргументом который начинается с «prompt_» список собтсвенно этих стандартных текстовых заготовок можно найти в этом файле. Например аргумент   «prompt_Pick_first_position», в русскоязычной среде выведет запрос «Выберите первую позицию». В немецкой среде это соответственно будет немецкое значение,  и так далее.

Т.е. если вы пишите плагин или расширение, имеет смысл обратить пристальное внимание на эту возможность. Ибо она позволит выпустить продукт который будет автоматически изменяться в соответствии с привычками пользователя.

Такой же трюк можно проделать и с шаблонами

Open Tekla API — events. Обработка событий с помощью Tekla API

Tekla Structures Open API Model EventsВ языке C# существуют так называемые события, инструмент весьма удобный, позволяющий приложениям интерактивно реагировать на те или иные изменения в приложении. Естественно объекты Tekla Structures тоже ими обладают. Добавление обработчика тех или иных событий к вашему скрипту или приложению — позволит съэкономить пару кликов и, возможно, пару кнопок на форме, а главное нервы пользователя. Читать далее «Open Tekla API — events. Обработка событий с помощью Tekla API»

Tekla API, вызываем скрипт из программы.

Создаем и вызываем макро скрипт из приложения в Текле Tekla Structures Open APIЕсли внимательно изучать Tekla API, то довольно скоро можно заметить, что описанный там функционал не исчерпывает реальных возможностей Tekla Structures. Если у вас есть доступ к Tekla Extranet то, на соответствующих форумах, можно узнать, что дело именно так и обстоит.

Однако возможность использовать все функции есть. Заключается она в работе со скриптами.

Документации по скрипто-писанию как таковой обнаружить не удалось. Впрочем тут, тут и здесь я касался этого вопроса. Собственно создание, запись и анализ скриптов в текле — задача на первый взгляд непростая, но на самом деле тривиальная. Остается не раскрытым вопрос, а как встроить скриптовый функционал в ваше приложение? Читать далее «Tekla API, вызываем скрипт из программы.»

Подрезка элементов в Tekla Structures

Tekla Structures подрезка элементов

Обновился скрипт для работы с моделью. Исправлена ошибка с точностью поворота, и добавлена новая функция — подрезка элементов.

В отличии от стандартной подрезки нет необходимости задавать рабочую плоскость прежде чем подрезать — достаточно указать три точки, которые зададут нужную плоскость и угол подрезки. После чего можно продолжить подрезать под тем же углом и с теми же параметрами элементы в модели.