Группа НИП
462 subscribers
1 video
7 files
37 links
BIM-Проекты и BIM-Консалтинг

Сайт https://nip-group.ru
Школа https://nip-school.ru
Беседка https://t.me/nipgroupsupport
Download Telegram
Tekla API С#: класс Picker в модели - выбираем объекты и точки в 3D

Когда плагину нужно дать пользователю выбрать точку, грань, линию или объект прямо в модели Tekla Structures - в игру вступает Tekla.Structures.Model.UI.Picker.

💡 Пример простого выбора точки

using Tekla.Structures.Model.UI;
using Tekla.Structures.Geometry3d;

public class Example
{
public void Example1()
{
var picker = new Picker();
try
{
Point point = picker.PickPoint("Выберите точку в модели");
MessageBox.Show($"Выбрана точка: {point}");
}
catch (Exception e)
{
MessageBox.Show($"Пользователь отменил выбор: {e.Message}");
}
}
}

🧩 Что ещё может Picker

PickFace() - выбрать грань модели.
PickLine() - выбрать линию (например, ось).
PickObject() - выбрать один объект (балку, пластину, компонент и т.п.).
PickObjects() - выбрать сразу несколько объектов.
PickPoints() - выбрать последовательность точек (например, контур).
Все методы имеют перегрузки с подсказками (String prompt) для вывода сообщений пользователю.

💬 Подсказки (Prompts)

Tekla автоматически ищет переводы в prompts.ail.
Если перевода нет - покажет ваш текст как есть.
Так можно создавать уже локализованные плагины без дополнительного кода.

⚙️ Типичный сценарий

Например, ваш макрос строит линию между двумя точками.
Вы просто вызываете:

var picker = new Picker();
var p1 = picker.PickPoint("Выберите первую точку");
var p2 = picker.PickPoint("Выберите вторую точку");

И пользователь буквально рисует мышью в модели.
Без сложных диалогов и ручного ввода координат.

🧠 Зачем это нужно

Упрощает взаимодействие с пользователем.
Делает плагины "живыми" и наглядными.
Позволяет строить, измерять и модифицировать объекты.

#nipgroup #Tekla #TeklaSupport #TeklaHelp #TeklaAPI
👍81
​​Монолитизация пустотных плит перекрытия

🏗 Новый ролик на канале!

В видео:
🔹 Заполнение пустот и швов
🔹 Создание бетонных поясов
🔹 Формирование единого монолитного элемента
🔹 Подсчёт объёмов

📹 Смотреть ролик
👉 YouTube👉 https://youtu.be/Bw56qXY57Y4
👉 RuTube👉 https://rutube.ru/video/39e4260dbb99999ed7cb6152e28ea323/
👉 Дзен👉 https://dzen.ru/video/watch/68ef9c2ffd4a1a0bf98fe3dd

#nipgroup #Tekla #TeklaTutorial
🔥4
2025-10-16_11-40-34 (2).png
51.9 KB
Настройка экспорта атрибутивной информации в IFC

🔹 Этап 1. Задаем структуру IFC на уровне проекта
Файл → Свойства проекта → Пользовательские атрибуты →Вкладка: Экспорт IFC→Параметры: Название площадки IFC / Название здания IFC / Название яруса IFC

🔹 Этап 2. Задаем структуру IFC на уровне деталей (если отличаются от данных проекта)
Свойства детали → Пользовательские атрибуты →Вкладка: Экспорт в IFC→Параметры: Название здания IFC / Название яруса IFC

💡 Здесь же можно указать тип объекта IFC (например, IfcBeam, IfcColumn и т.д.), чтобы впоследствии добавить нужные атрибуты.

🔹 Этап 3. Добавляем таблицы атрибутов для экспорта
Файл → Экспорт → IFC → Дополнительный набор свойств → Изменить
Указываем:
- имя конфигурации
- наименование набора свойств
- типы выгружаемых объектов IFC, которым соответствует указанный набор
- формируем перечень необходимых атрибутов
После этого — сохраняем конфигурацию, выбираем соответственно ее и выгружаем модель.

!!! Интерфейс задания конфигурации в версиях до 2023 и после - отличается !!!

Этап 4. Контролируем результат экспорта

#nipgroup #Tekla #TeklaSupport #TeklaHelp #TeklaSetting #TeklaBIM
🔥8👍1
Коллективная работа в TEKLA на бытовом уровне (на фрилансе)

👷‍♂️ Организовать коллективную работу в Tekla Structures — не так сложно, как кажется.

🔧 Что нужно:
💻 Постоянно работающий компьютер - назовем его «Сервер» (достаточно ОС Windows 10/11)
🌐 Стабильный интернет и белый (статический) IP-адрес от провайдера
🛜 Роутер с поддержкой VPN-доступа
📦 Дистрибутив Tekla Structures Multiuser Server

⚙️ Пошаговая настройка:

1️⃣ Настраиваем IP адрес вашей подсети на роутере
В большинстве роутеров есть меню: Сеть (LAN) → IP-адрес.
!!! Рекомендуется использовать отличную от стандартной `192.168.1.1` подсеть, например `192.168.20.1`.

2️⃣ Назначаем статический IP “Серверу”
На Windows 10:
Пуск → Параметры → Сеть и Интернет → Настройки адаптера →Находим подключенный (целевой) адаптер → ПКМ → Свойства → IP версии 4
!!! Пример настройки:
IP адрес: 192.168.20.10
Маска подсети: 255.255.255.0
Основной шлюз: 192.168.20.1
Предпочтительный DNS: 8.8.8.8

3️⃣ Настраиваем VPN
Создаём VPN-доступ через роутер. Создаем пользователей (со-фрилансеров). На выходе получаем файл конфигурации для подключений.
!!! У каждого оборудования своя настройка, но, как правило, она вполне не сложная, можно посоветоваться с ИИ или просто помучить поисковик

4️⃣ Устанавливаем актуальную версию TEKLA Multiuser Server (https://download.trimble.com)
Путь установки: C:\Program Files (x86)\Tekla Structures Multiuser Server
Multiuser Server использует порт TCP/IP 1238.
Лог установки: C:\ProgramData\TeklaStructuresServer\xs_server.log

5️⃣ Проверяем наличие службы TEKLA Multiuser Server
Пуск → Службы (можно через поиск) → Tekla Structures Multiuser Server (если она в списке есть, то все ОК)
!!! В этом же разделе можно перезапускать Tekla Structures Multiuser Server при необходимости (это важно при зависаниях и ошибках сохранения, лучше настроить ежедночной автоматический перезапуск).

6️⃣ Создаём пользователей "Сервера"
Пуск → Параметры → Учётные записи → Семья и другие пользователи → Добавить пользователя БЕЗ аккаунта Microsoft.
!!! Для удобства используем те же логины и пароли, что и для VPN.

7️⃣ Открываем доступ к папке с моделями
ПКМ по папке → Предоставить доступ → Отдельные люди → Выбираем пользователей → Права: Чтение и запись → Поделиться

8️⃣ Разворачиваем модель Tekla
Указываем в качестве многопользовательского сервера наш IP сервера - 192.168.20.10.
!!! Эта информация храниться в скрытом текстовом файле .This_is_multiuser_model в корне папки модели (тут ее всегда можно изменить)

9️⃣ Подключаем клиента (со-фрилансера)
Передаём коллеге VPN-конфигурацию, логин и пароль.
Его задачи:
- Установить приложение для VPN подключения к вашей сети (например: OpenVPN) → Открыть в нем конфигурацию → Выполнить подключение
- Открыть проводник → Ввести в качестве путь к папке \\192.168.20.10 → Указать логин и пароль → Найти папку с моделью
!!! Указанную папку с моделями можно подключить как сетевой диск

Готово!
Можно работать коллективно в одной модели.
💡 Не забывайте про латиницу в путях и сетевую безопасность...


#nipgroup #Tekla #TeklaSupport #TeklaHelp #TeklaSetting
7🔥6
Media is too big
VIEW IN TELEGRAM
👷Вот так посвящают маленьких детей в будущих Инженеров… Все обо всем… Как вам такая находка?!
👍16🔥7😍3👌1
​​Армирование швов между пустотными плитами

🏗 Новый ролик на канале!

В видео:
🔹 Армирование продольных стыков
🔹 Формирование пояса монолитизации
🔹 Проверка результата и расчет арматуры

📹 Смотреть ролик
👉 YouTube👉 https://youtu.be/pyWAYEq7ZLc
👉 RuTube👉 https://rutube.ru/video/1f391f7bebaa0e957afa8415c13baa73/
👉 Дзен👉 https://dzen.ru/video/watch/68f8a053e83dbf7b3880cbe3

#nipgroup #Tekla #TeklaTutorial
👍2
🧩 Tekla API С# — класс Operation: магия, спрятанная в одном месте

Если бы у Tekla Structures был волшебник, который умеет гнуть, копировать, комбинировать и экспортировать - это был бы класс Operation.
Это статический класс (public static class Operation) - значит, вы не создаёте его экземпляр, а просто вызываете нужные методы напрямую.

🔧 Что он умеет:

🪄 Геометрия и модель

Combine(Beam, Beam) - объединяет балки.

Split(Beam, Point) - наоборот, делит.

CreateBentPlateByParts - создаёт гнутую пластину между двумя деталями.

ExplodeBentPlate - превращает обратно в обычные пластины.

📦 Работа с данными и экспорт

CreateIFC4ExportFromAll() / CreateIFC4ExportFromSelected() - экспорт модели или выбранных объектов в IFC4.

CreateReportFromAll() / CreateReportFromSelected() генерация отчётов по шаблону.

CreateNCFilesFromSelected() - выпуск NC-файлов для металлоконструкций.

CreateMISFileFromAll() - MIS-файлы, если вы в старой школе.

🔩 Арматура и бетон

Group() / Ungrouping() - группировка и разгруппировка арматуры.

AddToPourUnit() и RemoveFromPourUnit() - управление бетонными заливками.

🧱 Манипуляции с объектами

CopyObject() и MoveObject() - перемещение и копирование объектов (в том числе по системам координат).

ObjectMatchesToFilter() - проверка, подходит ли объект под фильтр.

Highlight() и ShowOnlySelected() - управление в UI (пользовательском интерфейсе).

🌐 Экспорт в Web

SaveAsWebModel() / SaveSelectedAsWebModel() - выгрузка модели или её части в формат, доступный для просмотра через браузер.

⚙️ Пример использования:

var part = new Beam(new Point(0,0,0), new Point(6000,0,0));
part.Insert();

var copy = Operation.CopyObject(part, new Vector(0, 0, 2000));

- и вот у вас уже две одинаковые балки, аккуратно смещённые на два метра вверх.

💡 Зачем знать про Operation:
Он - как универсальный инструмент API Tekla:
📌 автоматизация рутинных действий
📌 быстрые проверки (фильтры, выделение, нумерация)
📌 геометрические операции без ручной возни

💬 Совет:
Если вы пишете плагины под Tekla — перед тем как “изобретать велосипед”, посмотрите, не делает ли это уже Operation.
Скорее всего, делает. И даже чище, чем хотелось бы 😎

#nipgroup #Tekla #TeklaSupport #TeklaHelp #TeklaAPI
👍7