Practical seminar Tekla Structures 2017

API, проблемы и решения в Tekla Structures

Alex591
Сообщения: 3
Зарегистрирован: 13 фев 2014, 23:46

API, проблемы и решения в Tekla Structures

Сообщение Alex591 »

Доброго времени суток, уважаемые форумчане!
Не нашел ветки по API, поэтому спрошу здесь.
При создании плагинов столкнулся с несколькими проблемами, которые никак не могу решить:
- как назначить пользовательский параметр выбранному объекту? Метод MyBeam.SetUserProperty("USERDEFINED.Поле", "значение") не работает. Вообще, пробовал по-всякому - не работает никак.
- не получается так же назначить класс: MyBeam.Class = "Класс" возвращает ноль. Единственное, на что вообще реагирует это свойство - когда создаю булевы объекты: MyBeam.Class = BooleanPart.BooleanOperativeClassName;
- элемент comboBox при запуске макроса не возвращает выбранное значение, а при повторном открытии формы вообще его забывает. А если не переключить CausesValidation на false - фокус не теряется.
Кто даст хоть какую-нибудь наводку буду очень сильно признателен!
Последний раз редактировалось Alex591 14 фев 2014, 07:53, всего редактировалось 2 раза.
Аватара пользователя
Danila_ZLT
Сообщения: 603
Зарегистрирован: 02 окт 2012, 12:14
Откуда: Златоуст
Контактная информация:

Re: API, проблемы и решения.

Сообщение Danila_ZLT »

Либо MyBeam.SetUserProperty("Поле", "значение")
Либо MyBeam.SetReportProperty("USERDEFINED.Поле", "значение")
Автоматизируем хаос... Недорого...
Alex591
Сообщения: 3
Зарегистрирован: 13 фев 2014, 23:46

Re: API, проблемы и решения.

Сообщение Alex591 »

Хех... Сработало только в одном случае - если назначать свойство без "USERDEFINED" и только после оператора Insert().0 До вставки не хочет. Почему-то этот вариант я не рассматривал.
Danila_ZLT, благодарю за совет. А с comboBox у Вас проблемы не возникали?
Аватара пользователя
Danila_ZLT
Сообщения: 603
Зарегистрирован: 02 окт 2012, 12:14
Откуда: Златоуст
Контактная информация:

Re: API, проблемы и решения.

Сообщение Danila_ZLT »

пользовательские свойства можно записать к объекту, только если он записан в базу (имеет не пустой идентификатор "Identifier")
Автоматизируем хаос... Недорого...
Alex591
Сообщения: 3
Зарегистрирован: 13 фев 2014, 23:46

Re: API, проблемы и решения.

Сообщение Alex591 »

Свойство NAME и FINISH судя по всему тоже.
Аватара пользователя
100k
Сообщения: 172
Зарегистрирован: 12 фев 2014, 11:04

Re: API, проблемы и решения в Tekla Structures

Сообщение 100k »

Вот такая конструкция у меня вполне себе работает, сборки получены из модели и имеют идентификатор
При изменении поля, оно сразу меняется в модели теклы без использования Modify()

Код: Выделить всё

    foreach (Assembly a in this.Assemblies)
            {
                ModelObject o = a.GetMainPart();
                string pref = string.Empty;
                string test = string.Empty;

                a.GetReportProperty("PREFIX", ref pref);
                //bool b1 = o.SetUserProperty("USER_FIELD_1", "TEST1");
                string field1 = pref + this.Id.ToString();

                bool b1 = o.SetUserProperty("USER_FIELD_1", field1);

                a.GetReportProperty("MAINPART.USERDEFINED.USER_FIELD_1", ref test);

            }
Аватара пользователя
Danila_ZLT
Сообщения: 603
Зарегистрирован: 02 окт 2012, 12:14
Откуда: Златоуст
Контактная информация:

Re: API, проблемы и решения в Tekla Structures

Сообщение Danila_ZLT »

100k писал(а):Вот такая конструкция у меня вполне себе работает, сборки получены из модели и имеют идентификатор
При изменении поля, оно сразу меняется в модели теклы без использования Modify()
}
Modify() - для записи измененных свойств объекта в базу.
Изменение пользовательских полей сам объект не затрагивает.
Пользовательские поля хранятся в отдельной табличке и привязаны к идентификатору объекта.
У нового незаписанного объекта идентификатор пустой, поэтому пользовательские поля не сохраняются.
Автоматизируем хаос... Недорого...
Аватара пользователя
100k
Сообщения: 172
Зарегистрирован: 12 фев 2014, 11:04

Re: API, проблемы и решения в Tekla Structures

Сообщение 100k »

Очень хочу получить результаты расчета отдельных нагружений и от комбинаций программно через "AnalysisResult", не получается. Может ктото уже пробовал? Сами результаты передались из Робот в Текла.
Аватара пользователя
100k
Сообщения: 172
Зарегистрирован: 12 фев 2014, 11:04

Re: API, проблемы и решения в Tekla Structures

Сообщение 100k »

Плагины. Не смог подключить дебагер (attach to prosess) в VS 2010 к отладке плагинов.
Указывал ссылки на pdb файлы все напрасно. Подскажите в чем дело, или пример какой нить скиньте, если кому то удалось это сделать.
Аватара пользователя
Danila_ZLT
Сообщения: 603
Зарегистрирован: 02 окт 2012, 12:14
Откуда: Златоуст
Контактная информация:

Re: API, проблемы и решения в Tekla Structures

Сообщение Danila_ZLT »

100k писал(а):Указывал ссылки на pdb файлы все напрасно
Это зачем?
Скопировать плагин в теклу, запустить теклу, подключиться к процессу, поставить точки останова.
Работает вроде без всяких настроек.
Автоматизируем хаос... Недорого...
Аватара пользователя
100k
Сообщения: 172
Зарегистрирован: 12 фев 2014, 11:04

Re: API, проблемы и решения в Tekla Structures

Сообщение 100k »

Так и делал. Не сработало.
VS2010, Tekla 18.1
Затем пробовал мудрить с настройками после просмотров форумов и видео с ютуба, не помогло.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Danila_ZLT
Сообщения: 603
Зарегистрирован: 02 окт 2012, 12:14
Откуда: Златоуст
Контактная информация:

Re: API, проблемы и решения в Tekla Structures

Сообщение Danila_ZLT »

Что конкретно не работает?
К процессу подключается?
Точки останова ставятся?
Программа не останавливается в точке останова?
Автоматизируем хаос... Недорого...
Аватара пользователя
100k
Сообщения: 172
Зарегистрирован: 12 фев 2014, 11:04

Re: API, проблемы и решения в Tekla Structures

Сообщение 100k »

Программа не останавливается в точке останова (breakpoint).
В текле плагин работает.

Еще не понимаю такого нюанса в плагинах.
Каждый раз когда меняются входные объекты (PrimaryPart и тд) запускается метод Run.
Просмотрел примеры (TeklaOpenAPIStartupPackage_v180) , детали которые создаются плагином не модифицируются, а создаются заново (соответственно у этой детали будет новый GUID)
Аватара пользователя
Danila_ZLT
Сообщения: 603
Зарегистрирован: 02 окт 2012, 12:14
Откуда: Златоуст
Контактная информация:

Re: API, проблемы и решения в Tekla Structures

Сообщение Danila_ZLT »

Как выглядят точки останова?
de.jpg
не такие случайно?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Автоматизируем хаос... Недорого...
sfera04
Сообщения: 58
Зарегистрирован: 26 апр 2013, 11:41
Откуда: Ukraine
Контактная информация:

Re: API, проблемы и решения в Tekla Structures

Сообщение sfera04 »

100k писал(а): (соответственно у этой детали будет новый GUID)
ID будут менять если плагин создает больше одной детали. Чтобы это исключить задавайте уникальные метки для каждого объекта через SetLable()
Аватара пользователя
100k
Сообщения: 172
Зарегистрирован: 12 фев 2014, 11:04

Re: API, проблемы и решения в Tekla Structures

Сообщение 100k »

Кажется такие, сейчас точно сказать не могу, нет под руками VS. Но символ это и есть pdb файл.

>ID будут менять если плагин создает больше одной детали. Чтобы это исключить задавайте уникальные метки для каждого объекта через SetLable()
Спасибо, попробую разобраться.
А как вариант создавать объекты в конструкторе, а потом модифицировать их в Run().
Кажется есть такой плюс.... например ContourPlate можно слегка в ручную изменить, а потом плагин не задает координаты ContourPoint заново, а смещает эту точку на какую-то величину...

Возможно, что все в курсе, но тем не менее, довольно удобно копировать плагины после их создания автоматически
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
100k
Сообщения: 172
Зарегистрирован: 12 фев 2014, 11:04

Re: API, проблемы и решения в Tekla Structures

Сообщение 100k »

Вопрос по PluginFormBase
Не работают кнопки "Применить" и "Получить" кнопка "Изменить" работает, явно связанно StructuresData
sfera04
Сообщения: 58
Зарегистрирован: 26 апр 2013, 11:41
Откуда: Ukraine
Контактная информация:

Re: API, проблемы и решения в Tekla Structures

Сообщение sfera04 »

Я добавил на эти кнопки свои события

Код: Выделить всё

        private void okApplyModifyGetOnOffCancel1_GetClicked(object sender, EventArgs e)
        {
            this.Get();
        }

        private void okApplyModifyGetOnOffCancel1_ModifyClicked(object sender, EventArgs e)
        {
            this.Modify();
        }

        private void okApplyModifyGetOnOffCancel1_OkClicked(object sender, EventArgs e)
        {
            this.Apply();
            this.Close();
        }

        private void okApplyModifyGetOnOffCancel1_OnOffClicked(object sender, EventArgs e)
        {
            this.ToggleSelection();
        }
Аватара пользователя
100k
Сообщения: 172
Зарегистрирован: 12 фев 2014, 11:04

Re: API, проблемы и решения в Tekla Structures

Сообщение 100k »

Поделитесь пожалуйста, темплейтом для ConnectionBase.

Свойство контурной плиты "Class"
При выполнении кода в плагине, свойство cplate.Class почему-то получается равным "0"
При выполнении аналогичного кода как вин приложение свойтсво Class получает значение 99. Такое может быть? :D

Код: Выделить всё

        private bool CreatePlate()
        {
            ContourPlate cplate = new ContourPlate();
            Point pt1 = new Point(0, _plateLength / 2, -_plateWidth / 2);
            Point pt2 = new Point(0, _plateLength / 2, _plateWidth / 2);
            Point pt3 = new Point(0, -_plateLength / 2, _plateWidth / 2);
            Point pt4 = new Point(0, -_plateLength / 2, -_plateWidth / 2);

            cplate.AddContourPoint(new ContourPoint(pt1, new Chamfer()));
            cplate.AddContourPoint(new ContourPoint(pt2, new Chamfer()));
            cplate.AddContourPoint(new ContourPoint(pt3, new Chamfer()));
            cplate.AddContourPoint(new ContourPoint(pt4, new Chamfer()));
            cplate.Profile.ProfileString = "PL30";
            cplate.Position.Depth = Position.DepthEnum.BEHIND;
            cplate.Material.MaterialString = "C245";
            cplate.SetLabel("baseplate");
            cplate.Class = "99";
            cplate.Insert();
}
Аватара пользователя
100k
Сообщения: 172
Зарегистрирован: 12 фев 2014, 11:04

Re: API, проблемы и решения в Tekla Structures

Сообщение 100k »

Вопрос по компонентам API.
Можно ли выбрать деталь компонента (см картинку) и отредактировать ее, что бы компонент запомнил изменения в детали.
Так при изменении главной и(или) второстепенных деталей все изменения пропадают (все детали компонента создаются заново как я понимаю сейчас). Ясно, что выполняется конструктор и метод Run() и создаются новые детали с данными полученными от StructuresData. Экземпляр этого класс, видимо хранится в модели и при изменении компонента конструктор получает его в качестве параметра.
Склоняюсь к мысли, что нельзя!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
sfera04
Сообщения: 58
Зарегистрирован: 26 апр 2013, 11:41
Откуда: Ukraine
Контактная информация:

Re: API, проблемы и решения в Tekla Structures

Сообщение sfera04 »

100k писал(а):Склоняюсь к мысли, что нельзя!
Все верно, нельзя
Аватара пользователя
100k
Сообщения: 172
Зарегистрирован: 12 фев 2014, 11:04

Re: API, проблемы и решения в Tekla Structures

Сообщение 100k »

А имеет ли смысл пользоваться компонентом в компоненте при использовании АПИ?
Например соединение колонны и распорки ГСП и этот компонент включает в себя существующие компоненты:
1. Компонент - деталь на колонне парные ребра жесткости.
2. Компонент - деталь фасонка и фланец на связи ГСП.

Наверное сумбурно излагаю... :D
meart
Сообщения: 494
Зарегистрирован: 04 мар 2013, 18:09

Re: API, проблемы и решения в Tekla Structures

Сообщение meart »

100k писал(а):А имеет ли смысл пользоваться компонентом в компоненте при использовании АПИ?
Например соединение колонны и распорки ГСП и этот компонент включает в себя существующие компоненты:
1. Компонент - деталь на колонне парные ребра жесткости.
2. Компонент - деталь фасонка и фланец на связи ГСП.
Наверное сумбурно излагаю... :D
компоненты в компоненте - вполне удобная вещь, по крайней мере эту возможность можно использовать стандартными возможностями.
По моему, придумывать какой-то дополнительный плагин/макрос с использованием API для решения тех же задач не стоит затраченного на это времени. Всё равно что придумывать колесо.. >_>
«Есть только две бесконечные вещи: Вселенная и глупость. Хотя насчет Вселенной я не вполне уверен.» А. Эйнштейн
Аватара пользователя
100k
Сообщения: 172
Зарегистрирован: 12 фев 2014, 11:04

Re: API, проблемы и решения в Tekla Structures

Сообщение 100k »

Я имел в виду несколько другое.
Если компоненты созданы через АПИ, то объединить их в компонент более высокого уровня, состоящий из нескольких более простых компонентов.
meart
Сообщения: 494
Зарегистрирован: 04 мар 2013, 18:09

Re: API, проблемы и решения в Tekla Structures

Сообщение meart »

100k писал(а):Я имел в виду несколько другое.
Если компоненты созданы через АПИ, то объединить их в компонент более высокого уровня, состоящий из нескольких более простых компонентов.
и получить один компонент более сложной структуры... я правильно понял?
«Есть только две бесконечные вещи: Вселенная и глупость. Хотя насчет Вселенной я не вполне уверен.» А. Эйнштейн
Аватара пользователя
100k
Сообщения: 172
Зарегистрирован: 12 фев 2014, 11:04

Re: API, проблемы и решения в Tekla Structures

Сообщение 100k »

[/quote]
и получить один компонент более сложной структуры... я правильно понял?[/quote]

Так точно!
Аватара пользователя
100k
Сообщения: 172
Зарегистрирован: 12 фев 2014, 11:04

Re: API, проблемы и решения в Tekla Structures

Сообщение 100k »

Ищу как можно офсетить полигон средствами АПИ.... Как это сделать?
Аватара пользователя
100k
Сообщения: 172
Зарегистрирован: 12 фев 2014, 11:04

Re: API, проблемы и решения в Tekla Structures

Сообщение 100k »

Может кто сталкивался...
Плагин унаследован от "ConnectionBase" соединяет 2 детали. Работает, после удаления компонента (узла) вновь соединить эти две детали не получается плагин не срабатывает.
Те плагин между 2мя деталями срабатывает один раз.
Аватара пользователя
Danila_ZLT
Сообщения: 603
Зарегистрирован: 02 окт 2012, 12:14
Откуда: Златоуст
Контактная информация:

Re: API, проблемы и решения в Tekla Structures

Сообщение Danila_ZLT »

Откомпилил SpliceConnection из примеров, все работает.
Много раз...
Автоматизируем хаос... Недорого...
Аватара пользователя
100k
Сообщения: 172
Зарегистрирован: 12 фев 2014, 11:04

Re: API, проблемы и решения в Tekla Structures

Сообщение 100k »

Другие плагины работают без проблем.

Кажется разобрался.
В данном плагине [AutoDirectionType(AutoDirectionTypeEnum.AUTODIR_NA)]
поменял на [AutoDirectionType(AutoDirectionTypeEnum.AUTODIR_BASIC)]
Вроде все работает...
Спасибо.
meart
Сообщения: 494
Зарегистрирован: 04 мар 2013, 18:09

Re: API, проблемы и решения в Tekla Structures

Сообщение meart »

а можно ли через API получить доступ к модели без запуска теклы? ну так к данным в базе, атрибутам
«Есть только две бесконечные вещи: Вселенная и глупость. Хотя насчет Вселенной я не вполне уверен.» А. Эйнштейн
Аватара пользователя
Danila_ZLT
Сообщения: 603
Зарегистрирован: 02 окт 2012, 12:14
Откуда: Златоуст
Контактная информация:

Re: API, проблемы и решения в Tekla Structures

Сообщение Danila_ZLT »

meart писал(а):а можно ли через API получить доступ к модели без запуска теклы? ну так к данным в базе, атрибутам
Только через дамп, если не знаете формата базы данных теклы.
Автоматизируем хаос... Недорого...
MikhailK
Сообщения: 50
Зарегистрирован: 19 дек 2013, 12:51
Откуда: Мурманск
Контактная информация:

Re: API, проблемы и решения в Tekla Structures

Сообщение MikhailK »

Alex591 писал(а):Доброго времени суток, уважаемые форумчане!
- элемент comboBox при запуске макроса не возвращает выбранное значение, а при повторном открытии формы вообще его забывает. А если не переключить CausesValidation на false - фокус не теряется.
Столкнулся с той же проблеммой пару раз. Помогло следующее:
1) AttributeTypeName: Integer
BindPropertyName: SelectedIndex
таким макаром параметр возвращается не значение комбобокса а его индекс.

2) создать новый ComboBox и параметр с новым названием, не удаляя старый. Почему так, хз, но именно на комбобоксах встречалось не раз. Потом убедившись, что он работает удалять старые не рабочие.
свои разработки складирую тут: http://cadsupport.ru
Аватара пользователя
100k
Сообщения: 172
Зарегистрирован: 12 фев 2014, 11:04

Re: API, проблемы и решения в Tekla Structures

Сообщение 100k »

Подскажите как получить список стандартов болтов ?
Аватара пользователя
Danila_ZLT
Сообщения: 603
Зарегистрирован: 02 окт 2012, 12:14
Откуда: Златоуст
Контактная информация:

Re: API, проблемы и решения в Tekla Structures

Сообщение Danila_ZLT »

Код: Выделить всё

            ArrayList StandardList = new ArrayList();
            CatalogHandler CatalogHandler = new CatalogHandler();

            if (CatalogHandler.GetConnectionStatus())
            {
                BoltItemEnumerator BoltItemEnumerator = CatalogHandler.GetBoltItems();

                while (BoltItemEnumerator.MoveNext())
                {
                    BoltItem BoltItem = BoltItemEnumerator.Current as BoltItem;
                    if (StandardList.IndexOf(BoltItem.Standard) == -1) StandardList.Add(BoltItem.Standard);
                }
            }
Автоматизируем хаос... Недорого...
Аватара пользователя
100k
Сообщения: 172
Зарегистрирован: 12 фев 2014, 11:04

Re: API, проблемы и решения в Tekla Structures

Сообщение 100k »

Спасибо.

Еще вопрос, как задать иконку для пользовательского плагина (API)?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Danila_ZLT
Сообщения: 603
Зарегистрирован: 02 окт 2012, 12:14
Откуда: Златоуст
Контактная информация:

Re: API, проблемы и решения в Tekla Structures

Сообщение Danila_ZLT »

Положить картинку в "c:\TeklaStructures\20.0\Bitmaps"
Имя файлика "et_element_имя вашего плагина.bmp"
Если нужна иконка на панельку - то файлик "имя вашего плагина.bmp" в ту-же папку.
Автоматизируем хаос... Недорого...
MikhailK
Сообщения: 50
Зарегистрирован: 19 дек 2013, 12:51
Откуда: Мурманск
Контактная информация:

Re: API, проблемы и решения в Tekla Structures

Сообщение MikhailK »

Danila_ZLT писал(а):Положить картинку в "c:\TeklaStructures\20.0\Bitmaps"
Имя файлика "et_element_имя вашего плагина.bmp"
Если нужна иконка на панельку - то файлик "имя вашего плагина.bmp" в ту-же папку.
Либо здесь: C:\ProgramData\Tekla Structures\19.0\Bitmaps
свои разработки складирую тут: http://cadsupport.ru
parviz
Сообщения: 7
Зарегистрирован: 17 окт 2012, 11:42

Re: API, проблемы и решения в Tekla Structures

Сообщение parviz »

Доброе утро! скажите пожалуйста как сменить язык интерфейса в Tekla Structures? ..
Аватара пользователя
100k
Сообщения: 172
Зарегистрирован: 12 фев 2014, 11:04

Re: API, проблемы и решения в Tekla Structures

Сообщение 100k »

Вопрос по плагинам.
В Х-плагинах (автор sfera04) используются стандартные окна(формы) для редактирования болтов, сварки, деталей, фасок и тд.
Ищу пример (исходный код)подобного окна.
pdimav
Сообщения: 243
Зарегистрирован: 16 янв 2012, 19:07

Re: API, проблемы и решения в Tekla Structures

Сообщение pdimav »

..да он сам его сделал:)
pdimav1979(не собака)yandex.ru
Аватара пользователя
Danila_ZLT
Сообщения: 603
Зарегистрирован: 02 окт 2012, 12:14
Откуда: Златоуст
Контактная информация:

Re: API, проблемы и решения в Tekla Structures

Сообщение Danila_ZLT »

а чего искать? есть х-плагины, там и смотрите.
Автоматизируем хаос... Недорого...
Аватара пользователя
100k
Сообщения: 172
Зарегистрирован: 12 фев 2014, 11:04

Re: API, проблемы и решения в Tekla Structures

Сообщение 100k »

При копировании контурной плиты "в плагине" сварные швы соединяющие плиту не копируются, а при копировании НЕ в плагине сварные швы копируются вместе с контурной плитой.....

ModelObject o = Tekla.Structures.Model.Operations.Operation.CopyObject(cp, startCS, endCS);

Кто нибудь в курсе в чем дело?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Danila_ZLT
Сообщения: 603
Зарегистрирован: 02 окт 2012, 12:14
Откуда: Златоуст
Контактная информация:

Re: API, проблемы и решения в Tekla Structures

Сообщение Danila_ZLT »

Выбирайте все объекты, которые хотите скопировать.
Сварка - отдельный объект.
Автоматизируем хаос... Недорого...
Аватара пользователя
100k
Сообщения: 172
Зарегистрирован: 12 фев 2014, 11:04

Re: API, проблемы и решения в Tekla Structures

Сообщение 100k »

Я так и стал делать, но не понятно, почему не в плагинах (win application) сварка копируется вместе с контурной плитой. В плагинах не копируется.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
pdimav
Сообщения: 243
Зарегистрирован: 16 янв 2012, 19:07

Re: API, проблемы и решения в Tekla Structures

Сообщение pdimav »

Добрый день.
Кто подскажет, как через API нарисовать вспомогательную линию и точку!?
pdimav1979(не собака)yandex.ru
Аватара пользователя
Danila_ZLT
Сообщения: 603
Зарегистрирован: 02 окт 2012, 12:14
Откуда: Златоуст
Контактная информация:

Re: API, проблемы и решения в Tekla Structures

Сообщение Danila_ZLT »

pdimav писал(а):Добрый день.
Кто подскажет, как через API нарисовать вспомогательную линию и точку!?
ControlLine controlLine = new ControlLine();
ControlPoint controlpoint = new ControlPoint();
Автоматизируем хаос... Недорого...
pdimav
Сообщения: 243
Зарегистрирован: 16 янв 2012, 19:07

Re: API, проблемы и решения в Tekla Structures

Сообщение pdimav »

Danila_ZLT писал(а):
pdimav писал(а):Добрый день.
Кто подскажет, как через API нарисовать вспомогательную линию и точку!?
ControlLine controlLine = new ControlLine();
ControlPoint controlpoint = new ControlPoint();
Привет.
Линию нашел, а вот точки что то нет.. (Tekla 20).
pdimav1979(не собака)yandex.ru
Аватара пользователя
Danila_ZLT
Сообщения: 603
Зарегистрирован: 02 окт 2012, 12:14
Откуда: Златоуст
Контактная информация:

Re: API, проблемы и решения в Tekla Structures

Сообщение Danila_ZLT »

pdimav писал(а): Линию нашел, а вот точки что то нет.. (Tekla 20).
Ждем 21 теклу, там есть.
Автоматизируем хаос... Недорого...
zgkr
Сообщения: 28
Зарегистрирован: 03 мар 2015, 19:51
Откуда: Ростов-на-Дону

Re: API, проблемы и решения в Tekla Structures

Сообщение zgkr »

Доброго времени суток!

Подскажите, пожалуйста, как объединить набор линий и текстовых полей (по задумке они должны составлять небольшую табличку), созданных с помощью API на чертеже так, чтобы они воспринимались теклой как один объект (например так, как это сделано с ведомостью расхода стали для КЖ в WeldApp). Покопавшись в функциональности редактора чертежей теклы я не нашел функции наподобие создания блока в автокаде. Может нужно сделать новый класс таблицы, сделав его производным от какого-нибудь базового класса чертежа, например Tekla.Structures.Drawing.DrawingObject ?

ps: я в программировании почти полное днище - школьный курс паскаль и уже как три недели копаюсь с c#.
Аватара пользователя
CuPo>I<a
Сообщения: 846
Зарегистрирован: 26 дек 2011, 12:41
Откуда: Златоуст
Контактная информация:

Re: API, проблемы и решения в Tekla Structures

Сообщение CuPo>I<a »

Плагины тебе помогут
zgkr
Сообщения: 28
Зарегистрирован: 03 мар 2015, 19:51
Откуда: Ростов-на-Дону

Re: API, проблемы и решения в Tekla Structures

Сообщение zgkr »

CuPo>I<a писал(а):Плагины тебе помогут
Вы имеете в виду класс Tekla.Structures.Drawing.Plugin ?
Аватара пользователя
100k
Сообщения: 172
Зарегистрирован: 12 фев 2014, 11:04

Re: API, проблемы и решения в Tekla Structures

Сообщение 100k »

https://warehouse.tekla.com/#/catalog/d ... 4febe853a9
Tekla Open API StartUp Package
см примеры плагины чертежей.
Аватара пользователя
100k
Сообщения: 172
Зарегистрирован: 12 фев 2014, 11:04

Re: API, проблемы и решения в Tekla Structures

Сообщение 100k »

В плагинах надо указывать ссылки на библиотеки Tekla. Для каждой версии, соответственно свои библиотеки различающиеся по номеру версии Теклы. Как с наименьшими затратами компилировать плагины для разных версий Теклы?
**************************************
Вопрос снимается.
zgkr
Сообщения: 28
Зарегистрирован: 03 мар 2015, 19:51
Откуда: Ростов-на-Дону

Re: API, проблемы и решения в Tekla Structures

Сообщение zgkr »

В процессе написания плагина возник вопрос - можно ли как-нибудь удобно организовать процесс отладки?
Сейчас поступаю так: сборка .dll в visual studio с автоматическим копированием в папку plugins -> открытие проекта tekla -> открытие чертежа -> добавление плагина на панель инструментов -> использование плагина -> если что-то не устраивает - закрытие теклы, внесение правок в VS и по новой.
Тратится куча времени и нервов. И, что самое главное, нет возможности отладчика...
Аватара пользователя
Danila_ZLT
Сообщения: 603
Зарегистрирован: 02 окт 2012, 12:14
Откуда: Златоуст
Контактная информация:

Re: API, проблемы и решения в Tekla Structures

Сообщение Danila_ZLT »

zgkr писал(а):В процессе написания плагина возник вопрос - можно ли как-нибудь удобно организовать процесс отладки?
Сейчас поступаю так: сборка .dll в visual studio с автоматическим копированием в папку plugins -> открытие проекта tekla -> открытие чертежа -> добавление плагина на панель инструментов -> использование плагина -> если что-то не устраивает - закрытие теклы, внесение правок в VS и по новой.
Тратится куча времени и нервов.
Для плагинов чертежа сделайте сначала програмку, отладте ее, потом уж и плагин делайте.
zgkr писал(а):И, что самое главное, нет возможности отладчика...
Отладка замечательно работает, тема эта уже не раз поднималась, ищите.
Автоматизируем хаос... Недорого...
zgkr
Сообщения: 28
Зарегистрирован: 03 мар 2015, 19:51
Откуда: Ростов-на-Дону

Re: API, проблемы и решения в Tekla Structures

Сообщение zgkr »

Danila_ZLT писал(а):Для плагинов чертежа сделайте сначала програмку, отладте ее, потом уж и плагин делайте.
Danila_ZLT, можете подробнее пояснить, каким образом это сделать? Попытался просто скопировать код с плагина в приложение, но куча используемых методов класса PluginFormBase недоступны. Выходит, в приложении нужно сначала создавать экземпляр плагина? И если да, то как им управлять, ведь в случае с плагином управление (вызов методов, изменение полей, создание экземпляров) берет на себя среда теклы.

Чувствую, что с точки зрения программиста написал кучу всякой глупости. Но, надеюсь, вопрос в общем понятен.
Аватара пользователя
Danila_ZLT
Сообщения: 603
Зарегистрирован: 02 окт 2012, 12:14
Откуда: Златоуст
Контактная информация:

Re: API, проблемы и решения в Tekla Structures

Сообщение Danila_ZLT »

Пользуйтесь формами теклы:
вместо

Код: Выделить всё

partial class MyForm: System.Windows.Forms.Form
используйте

Код: Выделить всё

 partial class MyForm : ApplicationFormBase
Tekla.Structures.Dialog не забудьте подключить.
Смотрите мои макросы, там все есть.
Это про поля...
Ну и вызвать процедурку обработки макроса с нужными параметрами - тоже не проблемма.
Автоматизируем хаос... Недорого...
zgkr
Сообщения: 28
Зарегистрирован: 03 мар 2015, 19:51
Откуда: Ростов-на-Дону

Re: API, проблемы и решения в Tekla Structures

Сообщение zgkr »

Danila_ZLT писал(а):Смотрите мои макросы, там все есть.
Danila_ZLT, где их можно лицезреть?
Аватара пользователя
CuPo>I<a
Сообщения: 846
Зарегистрирован: 26 дек 2011, 12:41
Откуда: Златоуст
Контактная информация:

Re: API, проблемы и решения в Tekla Structures

Сообщение CuPo>I<a »

zgkr писал(а):Danila_ZLT, где их можно лицезреть?
позволю себе ответить за коллегу
http://forum.zlating.ru/viewtopic.php?f=7&t=52
и вот еще распинался товарищ
http://forum.dwg.ru/showpost.php?p=1433 ... count=5912
zgkr
Сообщения: 28
Зарегистрирован: 03 мар 2015, 19:51
Откуда: Ростов-на-Дону

Re: API, проблемы и решения в Tekla Structures

Сообщение zgkr »

CuPo>I<a писал(а):
zgkr писал(а):Danila_ZLT, где их можно лицезреть?
позволю себе ответить за коллегу
http://forum.zlating.ru/viewtopic.php?f=7&t=52
и вот еще распинался товарищ
http://forum.dwg.ru/showpost.php?p=1433 ... count=5912
CuPo>I<a, не могли бы Вы подправить вторую ссылку? Сдается мне, с ней что-то не то.
А в общем - спасибо за информацию, буду изучать.
Аватара пользователя
CuPo>I<a
Сообщения: 846
Зарегистрирован: 26 дек 2011, 12:41
Откуда: Златоуст
Контактная информация:

Re: API, проблемы и решения в Tekla Structures

Сообщение CuPo>I<a »

c ней уже было что-то не то, уже подправлял, вчера работала
http://forum.dwg.ru/showpost.php?p=1433 ... count=5912
Роджер
Сообщения: 9
Зарегистрирован: 13 авг 2015, 07:39
Откуда: Челябинск

API, проблемы и решения в Tekla Structures

Сообщение Роджер »

Добрый день.
Кто может подсказать, есть два класса: класс интерфейса (формы, наследуемый PluginFormBase) и класс обработки плагина (наследуемый PluginBase), при получении длины в классе обработки (методом DefineInput), ее необходимо поместить на форму, каким образом возможно это сделать в tekle?
Аватара пользователя
100k
Сообщения: 172
Зарегистрирован: 12 фев 2014, 11:04

Re: API, проблемы и решения в Tekla Structures

Сообщение 100k »

Если я правильно понял, Вы хотите передать в форму данные из плагина. Так сделать не получится.
Роджер
Сообщения: 9
Зарегистрирован: 13 авг 2015, 07:39
Откуда: Челябинск

Re: API, проблемы и решения в Tekla Structures

Сообщение Роджер »

100k писал(а):Если я правильно понял, Вы хотите передать в форму данные из плагина. Так сделать не получится.

Большое спасибо. А передать данные из формы, через переменные, не создавая элементы формы возможно?
Аватара пользователя
Danila_ZLT
Сообщения: 603
Зарегистрирован: 02 окт 2012, 12:14
Откуда: Златоуст
Контактная информация:

Re: API, проблемы и решения в Tekla Structures

Сообщение Danila_ZLT »

Роджер писал(а):при получении длины в классе обработки (методом DefineInput), ее необходимо поместить на форму
На какую форму?
Автоматизируем хаос... Недорого...
Аватара пользователя
100k
Сообщения: 172
Зарегистрирован: 12 фев 2014, 11:04

Re: API, проблемы и решения в Tekla Structures

Сообщение 100k »

...
Роджер писал(а):А передать данные из формы, через переменные, не создавая элементы формы возможно?
Не понимаю, что вы хотите сделать.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Роджер
Сообщения: 9
Зарегистрирован: 13 авг 2015, 07:39
Откуда: Челябинск

Re: API, проблемы и решения в Tekla Structures

Сообщение Роджер »

Danila_ZLT писал(а):
Роджер писал(а):при получении длины в классе обработки (методом DefineInput), ее необходимо поместить на форму
На какую форму?


На форму (Интерфейс) плагина (класс формы "Интерфейса" наследуется от PluginFormBase). И есть класс обработки наследуемый от PluginBase, в котором размещен указатель на интерфейс плагина. Эти два класса связаны классом StructuresData. Необходимо из класса обработки перенести длину в класс интерфейса, для обработки, без отображения в интерфейсе.
Роджер
Сообщения: 9
Зарегистрирован: 13 авг 2015, 07:39
Откуда: Челябинск

Re: API, проблемы и решения в Tekla Structures

Сообщение Роджер »

Всем спасибо. Из картинки теперь все понятно))))
Аватара пользователя
Danila_ZLT
Сообщения: 603
Зарегистрирован: 02 окт 2012, 12:14
Откуда: Златоуст
Контактная информация:

Re: API, проблемы и решения в Tekla Structures

Сообщение Danila_ZLT »

Думаю вам сюда:
Без имени20150910141625.jpg
В документации этот момент подробно описан.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Автоматизируем хаос... Недорого...
Роджер
Сообщения: 9
Зарегистрирован: 13 авг 2015, 07:39
Откуда: Челябинск

Re: API, проблемы и решения в Tekla Structures

Сообщение Роджер »

Danila_ZLT


Да это понятно. Просто думал, что можно передавать не только элементы формы, отображающие на форме, но например переменные. :(
Аватара пользователя
100k
Сообщения: 172
Зарегистрирован: 12 фев 2014, 11:04

Re: API, проблемы и решения в Tekla Structures

Сообщение 100k »

Не понятно только зачем передавать какие-то переменные, которые не вводит пользователь.
Сделайте невидимые контролы и к ним привязывайте что хотите. Сделайте Текстовый файл, в него записывайте что хотите по нажатию кнопки модифифай, потом из этого файла читайте информацию в плагине.... придумывайте.
Попробуйте заносить данные непосредственно в StructuresExtender возможно получится, я не пробовал.
Роджер
Сообщения: 9
Зарегистрирован: 13 авг 2015, 07:39
Откуда: Челябинск

Re: API, проблемы и решения в Tekla Structures

Сообщение Роджер »

Придумать придумаем, хотел ещё понять, что возможно стандартными средствами. Например, чтоб пользователю выдавался в этой же форме результат, который бы зависел от: длины(рассчитанной в самом плагине) и начальном выборе пользователя. Всем ещё раз спасибо за помощь.
zgkr
Сообщения: 28
Зарегистрирован: 03 мар 2015, 19:51
Откуда: Ростов-на-Дону

Re: API, проблемы и решения в Tekla Structures

Сообщение zgkr »

При переходе с 21.0 на 21.0 SR1 перестал корректно выполняться фрагмент кода:

Код: Выделить всё

do
{
       Picker picker = drawingHandler.GetPicker();
       picker.PickPoint(pickerPrompt, out insertPoint, out dwgSheet);
}
while ((dwgSheet is ContainerView) == false);
Раньше я таким образом выбирал точку вставки на листе так, чтобы она не попадала на видовые экраны.
Сейчас же точка вставки не желает выбираться вовсе, даже когда тыкаю на чистое пространство листа. Получается бесконечный цикл.

Может кто-нибудь сталкивался с подобным / есть идеи, почему сломалось?
meart
Сообщения: 494
Зарегистрирован: 04 мар 2013, 18:09

Re: API, проблемы и решения в Tekla Structures

Сообщение meart »

Danila_ZLT писал(а):

Код: Выделить всё

            ArrayList StandardList = new ArrayList();
            CatalogHandler CatalogHandler = new CatalogHandler();

            if (CatalogHandler.GetConnectionStatus())
            {
                BoltItemEnumerator BoltItemEnumerator = CatalogHandler.GetBoltItems();

                while (BoltItemEnumerator.MoveNext())
                {
                    BoltItem BoltItem = BoltItemEnumerator.Current as BoltItem;
                    if (StandardList.IndexOf(BoltItem.Standard) == -1) StandardList.Add(BoltItem.Standard);
                }
            }
:? подскажите пжст.. как получить все болты из каталога? если пробовать так, у меня почему-то получается в BoltItemEnumerator 60 элементов, хотя в каталоге около 3000 метизов >_<
«Есть только две бесконечные вещи: Вселенная и глупость. Хотя насчет Вселенной я не вполне уверен.» А. Эйнштейн
Роджер
Сообщения: 9
Зарегистрирован: 13 авг 2015, 07:39
Откуда: Челябинск

Re: API, проблемы и решения в Tekla Structures

Сообщение Роджер »

Как вызывать каталог профилей в плагине и считывать с него выбранный.
Варианты:
1. Перебрать используя класс LibraryProfileItem;
2. Вызвать каталог профилей используя Tekla.Structures.Dialog.UIControls.ProfileCatalog;
Не предлагать!
Последний раз редактировалось Роджер 23 сен 2015, 09:45, всего редактировалось 1 раз.
Роджер
Сообщения: 9
Зарегистрирован: 13 авг 2015, 07:39
Откуда: Челябинск

Re: API, проблемы и решения в Tekla Structures

Сообщение Роджер »

Может у кого-нибудь была такая проблема: при вызове каталога профилей с помощью Tekla.Structures.Dialog.UIControls.ProfileCatalog, пользовательские профиля отображаются как параметрические, вместо фиксированных. При открытии каталога профилей из самой системы текли, профили отображаются нормально.
Аватара пользователя
Таран Д. А.
Администратор
Сообщения: 2877
Зарегистрирован: 30 ноя 2011, 18:41
Откуда: г. Москва
Контактная информация:

Re: API, проблемы и решения в Tekla Structures

Сообщение Таран Д. А. »

Ребят. Срочно нужен человек на месяц работы в офисе.
Заплатим 120 за месяц +с жильем сообразим.
Работы блин много Руслан занят вообще. Говорит пока вообще не может освободиться никак.
Или может кого посоветуешь?
Если что я в скайпе онлайн wildomen
zgkr
Сообщения: 28
Зарегистрирован: 03 мар 2015, 19:51
Откуда: Ростов-на-Дону

Re: API, проблемы и решения в Tekla Structures

Сообщение zgkr »

Ребята, помогите! Может кто-нибудь сталкивался.
Начинаю делаю все по этой вот инструкции
Изображение
но при попытке присоединиться к процессу текла закрывается, а VS выдает вот что:
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
100k
Сообщения: 172
Зарегистрирован: 12 фев 2014, 11:04

Re: API, проблемы и решения в Tekla Structures

Сообщение 100k »

Меня бы насторожило расширение exe. Вы уверены это библиотека, а не Вин приложение?
zgkr
Сообщения: 28
Зарегистрирован: 03 мар 2015, 19:51
Откуда: Ростов-на-Дону

Re: API, проблемы и решения в Tekla Structures

Сообщение zgkr »

100k писал(а):Меня бы насторожило расширение exe. Вы уверены это библиотека, а не Вин приложение?
Поменял запускаемый проект на .dll
Процесс TeklaStructures все равно вылетает при попытке присоединения
Может нужно задать какие-нибудь дополнительные настройки в VS или Tekla?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
CuPo>I<a
Сообщения: 846
Зарегистрирован: 26 дек 2011, 12:41
Откуда: Златоуст
Контактная информация:

Re: API, проблемы и решения в Tekla Structures

Сообщение CuPo>I<a »

Библиотека в Теклу загружена?
zgkr
Сообщения: 28
Зарегистрирован: 03 мар 2015, 19:51
Откуда: Ростов-на-Дону

Re: API, проблемы и решения в Tekla Structures

Сообщение zgkr »

CuPo>I<a писал(а):Библиотека в Теклу загружена?
.dll и .pdb скопированы в C:\TeklaStructures\21.0\nt\bin\plugins, если вы об этом
Аватара пользователя
100k
Сообщения: 172
Зарегистрирован: 12 фев 2014, 11:04

Re: API, проблемы и решения в Tekla Structures

Сообщение 100k »

Гадать можно долго, попробуйте запустить в дебагере плагин из стандартных примеров Tekla Open API StartUp Package. Возможно это поможет локализовать проблему.
zgkr
Сообщения: 28
Зарегистрирован: 03 мар 2015, 19:51
Откуда: Ростов-на-Дону

Re: API, проблемы и решения в Tekla Structures

Сообщение zgkr »

100k, попытался проделать все то же с примером EllipsePlugin.dll, но результат все тот же.
Так что думаю, что проблема в каких-то настройках Tekla/VS.
Я в общем-то уже нашел ошибку в своем плагине и отладка (пока что) не нужна. Но, все же, хотелось бы разобраться, в чем тут загвоздка...
Аватара пользователя
100k
Сообщения: 172
Зарегистрирован: 12 фев 2014, 11:04

Re: API, проблемы и решения в Tekla Structures

Сообщение 100k »

Что-то не то, то ли с настройками дебагера, то ли еще что-то. Кажется в Экспресс версии функция "атач", вообще отсутствует. Так что, думаю, у вас не экспресс версия VS.
Аватара пользователя
Danila_ZLT
Сообщения: 603
Зарегистрирован: 02 окт 2012, 12:14
Откуда: Златоуст
Контактная информация:

Re: API, проблемы и решения в Tekla Structures

Сообщение Danila_ZLT »

zgkr писал(а):Ребята, помогите! Может кто-нибудь сталкивался.
Начинаю делаю все по этой вот инструкции
но при попытке присоединиться к процессу текла закрывается, а VS выдает вот что:
А загадочная надпись "Access violation" вас никак не смутила?
А сдается мне что вы на компьютере "существо бесправное" без прав админских.
Если с правами у вашего пользователя все нормально, то скорее всего у вас там существует более "высокоправное существо" типа антивируса.
з.ы. контроль за изменениями приложений и тд. и тп.
Автоматизируем хаос... Недорого...
smonder
Сообщения: 11
Зарегистрирован: 11 июл 2012, 01:27

Re: API, проблемы и решения в Tekla Structures

Сообщение smonder »

Господа, подскажите пожалуйста: возможно ли в принципе писать плагины для TS на C++?
Столкнулся с проблемой: код основной программы на плюсах, плагин взял из примеров Теклы и переделал под свои нужды (частично для начала) на c#.
Плагин после моих исправлений работает, дальше нужно его усложнять и наращивать возможности. Хотелось бы весь код иметь на C++, тем более что в c#
я разбираюсь не сильно. Буду очень благодарен тому кто подскажет как перевести такой простенький фрагмент кода на плюсы:

namespace TestPlugin
{
using System;
using System.Collections.Generic;
using Tekla.Structures.Plugins;

#region Plugin

/// <summary>This it the class that executes the tasks.
/// Please rename the plugin accordingly</summary>
[Plugin("TestPlugin")]
public class Plugin : Tekla.Structures.Plugins.PluginBase
{

#region Public functions

public override List<InputDefinition> DefineInput()
{
var commandList = new List<InputDefinition>();

return commandList;
}

public override bool Run(List<InputDefinition> input)
{

System.Windows.Forms.MessageBox.Show("Запущена DLL-ка");

return true;
}

#endregion Public functions
}

#endregion Plugin
}

Уже совсем замучался - на объявление класса Plugin у меня компилятор выдает: TestPlugin::Plugin: неуправляемый тип не может быть производным от управляемого типа "Tekla::Structures::Plugins::PluginBase".
smonder
Сообщения: 11
Зарегистрирован: 11 июл 2012, 01:27

Re: API, проблемы и решения в Tekla Structures

Сообщение smonder »

Может у кого есть пример плагина на C++, поделитесь пожалуйста.
Аватара пользователя
CuPo>I<a
Сообщения: 846
Зарегистрирован: 26 дек 2011, 12:41
Откуда: Златоуст
Контактная информация:

Re: API, проблемы и решения в Tekla Structures

Сообщение CuPo>I<a »

наверное для перевода с одного языка на другой нужен тот, кто знает оба языка :)
arnkey
Сообщения: 23
Зарегистрирован: 18 фев 2016, 09:38
Откуда: г. Хабаровск
Контактная информация:

Re: API, проблемы и решения в Tekla Structures

Сообщение arnkey »

smonder писал(а):Господа, подскажите пожалуйста: возможно ли в принципе писать плагины для TS на C++?
Столкнулся с проблемой: код основной программы на плюсах, плагин взял из примеров Теклы и переделал под свои нужды (частично для начала) на c#.
Плагин после моих исправлений работает, дальше нужно его усложнять и наращивать возможности. Хотелось бы весь код иметь на C++, тем более что в c#
я разбираюсь не сильно. Буду очень благодарен тому кто подскажет как перевести такой простенький фрагмент кода на плюсы:

namespace TestPlugin
{
using System;
using System.Collections.Generic;
using Tekla.Structures.Plugins;

#region Plugin

/// <summary>This it the class that executes the tasks.
/// Please rename the plugin accordingly</summary>
[Plugin("TestPlugin")]
public class Plugin : Tekla.Structures.Plugins.PluginBase
{

#region Public functions

public override List<InputDefinition> DefineInput()
{
var commandList = new List<InputDefinition>();

return commandList;
}

public override bool Run(List<InputDefinition> input)
{

System.Windows.Forms.MessageBox.Show("Запущена DLL-ка");

return true;
}

#endregion Public functions
}

#endregion Plugin
}

Уже совсем замучался - на объявление класса Plugin у меня компилятор выдает: TestPlugin::Plugin: неуправляемый тип не может быть производным от управляемого типа "Tekla::Structures::Plugins::PluginBase".

В общем 2 есть решения: собрать версию C# в dll и декомпилить ее в с++ .net версию. Есть еще вариант, что я помогу. Я писал на С++ один раз для теклы, решил, что проще на C# прыгнуть :) Тем более, что синтаксис похожий.
smonder
Сообщения: 11
Зарегистрирован: 11 июл 2012, 01:27

Re: API, проблемы и решения в Tekla Structures

Сообщение smonder »

С горем пополам наваял код по аналогии с работающим на C#, всё прекрасно компилируется и создается dll-файл. Теперь другая проблемка - Текла её не хочет открывать.
Как я подозреваю - дело в привязке имени к плагину ([Plugin("TestPlugin")] - на C#). Как это перевести на C++ не нашел и использовал в том-же виде перед объявлением класса Pligin в h-файле. Посоветуйте, как такое можно перевести, пожалуйста.
smonder
Сообщения: 11
Зарегистрирован: 11 июл 2012, 01:27

Re: API, проблемы и решения в Tekla Structures

Сообщение smonder »

Делюсь своими последними достижениями: [Plugin("TestPlugin")] в C++ выглядит также как и на C# (нашел в интернете), подправил некоторые свойства проекта и теперь Текла мне сама сообщает что ей конкретно не нравится:

Critical error: Адресат вызова создал исключение.
Please report this error to Tekla and make sure to include all information on this dialog.

System.Reflection.TargetInvocationException: Адресат вызова создал исключение. ---> System.InvalidCastException: Не удалось привести тип объекта "TestPlugin.Plugin" к типу "Tekla.Structures.Plugins.PluginBase".


При этом в h-файле имеется следующий код:

#pragma once

namespace TestPlugin
{
using namespace System;
using namespace System::Collections::Generic;
using namespace Tekla::Structures::Plugins;


[Plugin("TestPlugin")]

public ref class Plugin : Tekla::Structures::Plugins::PluginBase
{

public :

virtual bool Run(List<PluginBase::InputDefinition^>^ Input) override;
virtual List<PluginBase::InputDefinition^>^ DefineInput(void) override;
};
}


Таким образом стало понятно что возникает конфликт с типом класса Plugin, а Текла мой плагин прекрасно находит. Вот что ей не нравится с приведением типа - это действительно загадка. Странно что на C# такая проблема не возникает.
Роджер
Сообщения: 9
Зарегистрирован: 13 авг 2015, 07:39
Откуда: Челябинск

Re: API, проблемы и решения в Tekla Structures

Сообщение Роджер »

Для созданного плагина делается рез, при перемещении рез остается на месте. Кто ни будь в курсе как исправить?
Eghor
Сообщения: 33
Зарегистрирован: 19 фев 2014, 21:08

Re: API, проблемы и решения в Tekla Structures

Сообщение Eghor »

Не могу сообразить, как в ConnectionBase реализовать нечто подожее на направление вверх, вкладка общие стандартных плагинов. т.е возможность крутить детали плагина относительно второстепенной детали. Никто с подобным не сталкивался?
Аватара пользователя
100k
Сообщения: 172
Зарегистрирован: 12 фев 2014, 11:04

Re: API, проблемы и решения в Tekla Structures

Сообщение 100k »

Вопрос на картинке
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Eghor
Сообщения: 33
Зарегистрирован: 19 фев 2014, 21:08

Re: API, проблемы и решения в Tekla Structures

Сообщение Eghor »

Никто не знает, как программно вызвать команду Tekla?
AndrejjerdnA
Сообщения: 103
Зарегистрирован: 18 сен 2014, 07:20

Re: API, проблемы и решения в Tekla Structures

Сообщение AndrejjerdnA »

Можно ли средствами API рисовать высотные отметки? Может кто-то подскажет.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
CuPo>I<a
Сообщения: 846
Зарегистрирован: 26 дек 2011, 12:41
Откуда: Златоуст
Контактная информация:

Re: API, проблемы и решения в Tekla Structures

Сообщение CuPo>I<a »

можно....палка-палка-огуречик....
AndrejjerdnA
Сообщения: 103
Зарегистрирован: 18 сен 2014, 07:20

Re: API, проблемы и решения в Tekla Structures

Сообщение AndrejjerdnA »

CuPo>I<a писал(а):можно....палка-палка-огуречик....
Так я могу... но хочется чуда...)
Ответить

Вернуться в «3D моделирование в Tekla Structures»