dwg.ru forum rss xml
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму |

Вернуться   Форум DWG.RU > Программное обеспечение > Другие CAD системы > Tekla > Tekla. Open API. Создание пользовательских плагинов и макросов

Tekla. Open API. Создание пользовательских плагинов и макросов

Версия для печати
 
Ответ
Опции темы Поиск в этой теме
Непрочитано 02.03.2017, 12:58 #1
Tekla. Open API. Создание пользовательских плагинов и макросов
PashaStr
 
инженер-конструктор
 
Минск
Регистрация: 24.04.2011
Сообщений: 268

PashaStr вне форума Вставить имя

Вдохновившись фильмами по пользовательским компонентам на ютьюбе уважаемых 100k и andrejjerdna, написал свой небольшой скрипт по прикреплению вертикальной панели-стены к нижней грани плиты перекрытия. В режиме отладки в Visual Studio всё прекрасно работает. Но появилось пару вопросов:
  1. Как закинуть готовый код (в виде dll или exe) в теклу? Интересует именно сам синтаксис в коде (для того чтобы текла "увидела" компонент). Требуется ли делать форму для плагина или допустимо использовать его без вызова формы? Примеры учебных плагинов просто идут все с формами и в лоб как-то не получилось решить вопрос.
  2. Можно ли в таком простом виде перекинуть его в макрос, сохранив функционал? Если да, есть ли у кого-нибудь простой пример макроса с выбором элементов, точек без формы
Код:
[Выделить все]
 
public class pk_Connect
    {        
        public static void WallSlabAttach()
        {
            Picker picker = new Picker();
            Beam panel=picker.PickObject(Picker.PickObjectEnum.PICK_ONE_OBJECT, "Pick PANEL") as Beam;
            double panelZ = panel.StartPoint.Z;
            ContourPlate TopSlab = PickSlab();
            Point TopSlabPoint = TopSlab.Contour.ContourPoints[0] as Point;
            double SlabZBottom = TopSlabPoint.Z-Convert.ToDouble(TopSlab.Profile.ProfileString);
            double HeightWall = SlabZBottom - panelZ;
            panel.Profile.ProfileString=Convert.ToString(HeightWall) +"*100";
            panel.Modify();
                   }
        private static ContourPlate PickSlab()
        {
            Picker picker = new Picker();
            ModelObject mo = picker.PickObject(Picker.PickObjectEnum.PICK_ONE_PART, "Pick a SLAB");
            ContourPlate slab = mo as ContourPlate;
            return slab;
        }
    }
Сам проект VS во вложении

Вложения
Тип файла: rar pk_tekla_1ext_wall_slab_adjust.rar (1.02 Мб, 2 просмотров)


Последний раз редактировалось PashaStr, 02.03.2017 в 13:19.
Просмотров: 761
 
Непрочитано 02.03.2017, 13:34
1 | #2
andrejjerdna

Борьба с пустотой
 
Блог
 
Регистрация: 30.01.2014
Владимир
Сообщений: 481
Отправить сообщение для andrejjerdna с помощью Skype™


О пакете с Open API есть примеры плагинов.
Суть в том, что плагин имеет четкую структуру, необходимо соблюдать их логику. Как-то так...
Миниатюры
Нажмите на изображение для увеличения
Название: Скриншот 02-03-2017 133358.png
Просмотров: 69
Размер:	44.0 Кб
ID:	184493  
andrejjerdna вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 02.03.2017, 13:55
#3
PashaStr

инженер-конструктор
 
Регистрация: 24.04.2011
Минск
Сообщений: 268


Цитата:
Сообщение от andrejjerdna Посмотреть сообщение
О пакете с Open API есть примеры плагинов.
Суть в том, что плагин имеет четкую структуру, необходимо соблюдать их логику. Как-то так...
Примеры я смотрел. Правильно ли понимаю, что для плагинов обязателен интерфейс (форма)?
PashaStr вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 02.03.2017, 13:57
#4
andrejjerdna

Борьба с пустотой
 
Блог
 
Регистрация: 30.01.2014
Владимир
Сообщений: 481
Отправить сообщение для andrejjerdna с помощью Skype™


Цитата:
Сообщение от PashaStr Посмотреть сообщение
Примеры я смотрел. Правильно ли понимаю, что для плагинов обязателен интерфейс (форма)?
Можно без формы сделать, если ничего в плагине не хотите менять потом.
andrejjerdna вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 02.03.2017, 20:27
#5
PashaStr

инженер-конструктор
 
Регистрация: 24.04.2011
Минск
Сообщений: 268


Цитата:
Сообщение от andrejjerdna Посмотреть сообщение
Можно без формы сделать, если ничего в плагине не хотите менять потом
Решение оказалось значительно проще. Делать динамический плагин мне нет необходимости. Так что просто скомпилировал в exe и добавил как приложение в теклу.
Но после 2 часов колупания в примерах, понял как синтаксис плагинов, так и "смысловую" разницу плагинов и приложений. Так, что спасибо)
PashaStr вне форума вставить имя Обратить внимание модератора на это сообщение  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Другие CAD системы > Tekla > Tekla. Open API. Создание пользовательских плагинов и макросов

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание просечно-вытяжного листа в Tekla. safronsafronov Tekla 8 21.04.2016 03:26
AUTOCAD 2010 перестал переключаться в многооконный режим. Проблемы с переменными Андрей Х. AutoCAD 24 27.05.2015 10:17
Acaddoc.lsp - насколько вредный Alexander88 LISP 1 10.06.2014 09:29
Автозагрузка приложения до загрузки чертежа Ax3 Программирование 14 15.02.2008 23:29

|| Главная || Каталог САПР || Тендеры || Публикации || Объявления || Биржа труда || Download || Галерея ||
|| Библиотека || Кунсткамера || Каталог предприятий || Контакты || Файлообменник || Блоги ||


Размещение рекламы