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

Сайт https://nip-group.ru
Школа https://nip-school.ru
Беседка https://t.me/nipgroupsupport
Download Telegram
​​Армирование швов между пустотными плитами

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

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

📹 Смотреть ролик
👉 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🔥2
Tekla API С#: фильтры

В Tekla Structures фильтры - это не только клики в окне выбора, но и мощный инструмент автоматизации.
С помощью API можно генерировать фильтры на лету, управлять ими через код и использовать в макросах, плагинах или внешних скриптах.

💡 Что такое BinaryFilterExpression

Это основа любого фильтра в Tekla API.
BinaryFilterExpression описывает простое выражение вроде:

PartName == "BEAM1"

Пример создания:
PartFilterExpressions.Name PartName = new PartFilterExpressions.Name();
StringConstantFilterExpression Beam1 = new StringConstantFilterExpression("BEAM1");

BinaryFilterExpression expr = new BinaryFilterExpression(
PartName,
StringOperatorType.IS_EQUAL,
Beam1
);

📘 Важно: таких выражений может быть сколько угодно, и их можно объединять через логические операторы (OR, AND и т.д.).

🧠 Класс Filter — собираем выражения в фильтр

Класс Filter позволяет объединить несколько BinaryFilterExpression и сохранить всё как файл фильтра Tekla (.SObjGrp или .ObjGrp).

Пример: создаём фильтр, выбирающий элементы, у которых имя "BEAM1", "BEAM2", "BEAM3",
или комментарий начинается с "test".

using System;
using System.IO;
using Tekla.Structures.Filtering;
using Tekla.Structures.Filtering.Categories;

public class FilterExample
{
public void CreateSelectionFilter()
{
// Создаём выражения
var PartName = new PartFilterExpressions.Name();
var Beam1 = new StringConstantFilterExpression("BEAM1");
var Beam2 = new StringConstantFilterExpression("BEAM2");
var Beam3 = new StringConstantFilterExpression("BEAM3");
var Comment = new PartFilterExpressions.CustomString("Comment");
var Test = new StringConstantFilterExpression("test");

// Описываем логические выражения
var e1 = new BinaryFilterExpression(PartName, StringOperatorType.IS_EQUAL, Beam1);
var e2 = new BinaryFilterExpression(PartName, StringOperatorType.IS_EQUAL, Beam2);
var e3 = new BinaryFilterExpression(PartName, StringOperatorType.IS_EQUAL, Beam3);
var e4 = new BinaryFilterExpression(Comment, StringOperatorType.STARTS_WITH, Test);

// Объединяем их в коллекцию
var expressions = new BinaryFilterExpressionCollection();
expressions.Add(new BinaryFilterExpressionItem(e1, BinaryFilterOperatorType.BOOLEAN_OR));
expressions.Add(new BinaryFilterExpressionItem(e2, BinaryFilterOperatorType.BOOLEAN_OR));
expressions.Add(new BinaryFilterExpressionItem(e3, BinaryFilterOperatorType.BOOLEAN_OR));
expressions.Add(new BinaryFilterExpressionItem(e4));

// Сохраняем фильтр
string filterDir = Path.Combine(@"C:\ModelPath", "attributes");
string filterPath = Path.Combine(filterDir, "CustomFilter");

var filter = new Filter(expressions);
filter.CreateFile(FilterExpressionFileType.OBJECT_GROUP_SELECTION, filterPath);
}
}

После запуска в Tekla появится фильтр CustomFilter.SObjGrp 🎉
Теперь его можно использовать для выбора объектов.

🚀 Вывод

Tekla API позволяет не просто использовать фильтры -
а программировать логику выбора элементов,
создавать сложные правила и интегрировать их в ваши инструменты BIM-автоматизации.

#nipgroup #Tekla #TeklaSupport #TeklaHelp #TeklaAPI
🔥101
​​Чертеж монолитизации швов между пустотными плитами

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

В видео:
🔹 Настройка видов и фильтров
🔹 Отображение меток плит и арматуры
🔹 Создание узлов и компоновка чертежа
🔹 Финальная корректировка и оформление

📹 Смотреть ролик
👉 YouTube👉 https://youtu.be/ZB5l4_KIq1U
👉 RuTube👉 https://rutube.ru/video/a09afd31cbae608597ba431143215500/
👉 Дзен👉 https://dzen.ru/video/watch/6901cfe82e906c2a4a38904a

#nipgroup #Tekla #TeklaTutorial