Официальный форум российского программного комплекса T-FLEX PLM


Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1 2 3 4 След.
Разработка приложений под Open API T-FLEX CAD (.NET)
 
В T-FLEX CAD разработан функционал для создания собственных приложений на основе технологии .NET. Пользователь может создавать приложения, использующие функционал параметрического и геометрического ядер T-FLEX CAD.
Думаю эта тема скоро станет востребованной, поэтому взял на себя смелость создать соответствующую ветку. Существующая ветка "Вопросы по API" в основном посвящена макросам. Несмотря на то, что в принципе макросы и отдельные приложения строятся на одних и тех же методах, все же есть различия в подходе создания и применения: макросы, на мой взгляд, предназначены для решения локальных задач - типа задачи объединения нескольких комманд в один вызов макроса, а приложения решают более серьезные задачи.
Сейчас осваиваю программирование под T-FLEX CAD и как у всех начинающих - много вопросов. По-началу вопросы адресовал разработчикам, а потом подумал, что многие проблемы, с которыми сталкиваюсь сам при освоении, возникают и у других пользователей. К тому же осваивать новое лучше не в одиночку. Надеюсь, что этой темой заинтересуются еще пользователи и мы вместе сможем осваивать материал быстрее. Очень ценны советы Brom25. Надеюсь, что ответы на вопросы мы сможем получать и от разработчиков.

Вот мой первый вопрос (перенесен из ветки "Вопросы по API"):
Как создавать контекстное меню в С# разобрался. Причем, задал вызов меню на элементе control. Когда приложение запущено, но файл еще не открыт контекстное меню работает, но при открытии файла в control - контекстное меню работать отказывается. В руководстве по API есть описание вызова:

__delegate void ControlContextMenu(Object* sender, ControlEventArgs* e);

Как его вызвать понять не могу - примера нет.
 
Спасибо за почтение, пожалуй, гораздо более ценные советы может дать Александр Сысоев. С радостью постараюсь помочь, если это будет в моих силах. К сожалению, я пока работаю только с простейшими элементами 2D части чертежей (тексты, переменные, надписи, форматки… в общем, продолжаю «тянуть» свою тему – «оформление» и всем, что с этим связано) посредством макросов, хотя и не прочь узнать про программирование не в макросах.
Сергей, судя по указанной вами команде: delegate void ControlContextMenu(Object* sender, ControlEventArgs* e) Вам нужно побольше узнать о делегатах(delegate) и событиях(Event). Более ценной информацией на этот счет не обладаю.
Кто ищет - тот всегда найдет!
 
Цитата
Brom25 пишет:

пока работаю только с простейшими элементами 2D части чертежей (тексты, переменные, надписи, форматки…

На сайте http://tflex-nord.narod.ru в разделе "API/Примеры кода" выложил некоторые простейшие методы, которые сейчас использую. Думаю, по-мере освоения API, выкладывать в этом разделе примеры кода. Есть предложение - кто что знает присылайте ваши примеры кода для размещения на сайте. Так можно постепенно сформировать библиотеку примеров для начинающих в API.
 
Неплохое предложение. Я уже много раз испытывал на себе, как трудно порой бывает разобраться, что и как делать, когда натыкаешься на "подводные камни". Поэтому я уже поддержал Ваше предложение и направил Вам несколько простых для понимания методов и функций. Так, глядишь, и внесем свою лепту в популяризацию T-Flex. ;) В душЕ надеюсь, кто-нибудь когда-нибудь тоже выложит простой примерчик, как получить родительский объект для выбранного объекта :).
Кто ищет - тот всегда найдет!
 
По поводу вопроса Сергея Максимова о контекстном меню.
Brom25 прав. Нужно разбираться с делегатами. Это очень важный механизм в C# и .NET.

Вот пример инициализации контрола с обработкой контекстного меню:

public Form1()
{
ApplicationSessionSetup SessionSetup = new ApplicationSessionSetup();
TFlex.Application.InitSession(SessionSetup);
InitializeComponent();
tfcontrol.ContextMenu += new ControlContextMenu(tfcontrol_ContextMenu);
}

void tfcontrol_ContextMenu(object sender, TFlex.ControlEventArgs e)
{
System.Windows.Forms.ContextMenu menu = new ContextMenu();
MenuItem menuItem1 = new MenuItem("&Copy");
menuItem1.Click += new EventHandler(menuItem1_Click);

MenuItem menuItem2 = new MenuItem("&Find and Replace");
menuItem2.Click += new EventHandler(menuItem2_Click);

menu.MenuItems.Add(menuItem1);
menu.MenuItems.Add(menuItem2);
menu.Show(this, this.PointToClient(Cursor.Position));
}

void menuItem1_Click(object sender, EventArgs e)
{
MessageBox.Show("Copy");
}

void menuItem2_Click(object sender, EventArgs e)
{
MessageBox.Show("Find and Replace");
}
 
Цитата
Brom25 пишет:
... гораздо более ценные советы может дать Александр Сысоев.

Как то не хорошо получилось... :oops: Забыл указать здесь еще и TFUser.
Кто ищет - тот всегда найдет!
 
Почему в Visual Studio 2005 иногда не получается открыть ранее созданную форму? Говорит: The variable 'rectangle1' is either undeclared or was never assigned.
Как этого избежать?
Кто ищет - тот всегда найдет!
 
Цитата
Brom25 пишет:

Почему в Visual Studio 2005 иногда не получается открыть ранее созданную форму? Говорит: The variable 'rectangle1' is either undeclared or was never assigned.
Как этого избежать?
Можно чуть подробнее? Что занчит ранее созданную форму?
 
Пробовал сегодня повторить, как нарочно ситуация не воспроизводится...
Пытался запустить проект C:\Program Files\T-FLEX\T-FLEX CAD 10\API\Samples\TFlexControlTest.sln. После приведения всех настроек проекта "в порядок" экранная форма не открылась, но после перезапуска проекта все нормально заработало :bal:
Кто ищет - тот всегда найдет!
 
Там надо быть поаккуратнее с файлом ресурсов .res
 
а никто не в курсе, имеются ли где-нибудь курсы по С# применительно к T-Flex? хоть в топ-системах, хоть нет. а то начальство интересуется, не хотим ли мы чему-нибудь поучиться, повысить квалификацию....а это было бы самое оно. поэтому без особой надежды, но все-таки этот вопрос задам...
 
Цитата
drugg пишет:

начальство интересуется, не хотим ли мы чему-нибудь поучиться
Аж завидно, какое у Вас начальство. Это где такое счастье обитает?
 
Цитата
Сергей Максимов пишет:

Аж завидно, какое у Вас начальство. Это где такое счастье обитает?
обитает оно в г. Уфа. хотя не знаю, счастье ли...интересуется - еще не значит, что отправит учиться. может это очередное "галочное" мероприятие...

а топ-системы что-то молчат с ответом....разгребают кучу писем и до моего еще не добрались?..
 
оффтоп
конструктору - конструирование, программисту программирование!!! только так можно добится слаженной работы!!! а не ~~:- каждый должен заниматься тем, что у него лучше получается!!! И не спрашивайте к чему это я, кто знает о чём я, тот поймёт
Конструктору - конструирование, программисту - программирование
 
Привет, Николай!

Давний спор…

Цитата
Николай Капитанов пишет:

только так можно добится слаженной работы!!!


Не понимаю, как можно добиться слаженной работы, если программисты практически ничего не делают для улучшения или упрощения работы конструкторов? Согласен, это не твоя вина, но факт остается фактом.
Ты бы лучше помогал тем, у кого есть соответствующее желание (не имею ввиду конкретно себя, на этом форуме достаточно посетителей…), от этого уж точно было бы больше пользы, особенно, если учесть твой колоссальный опыт в программировании, в том числе в T-Flex.
Лично я нисколько не жалею, что начал изучать API. Думаю, что в итоге время, затраченное на обучение программированию и написание программ, окажется равным времени, затраченному на обработку чертежей ручками, тем более, что моими программами пользуется всё КБ. Пусть даже я не выиграю во времени, зато полученные знания останутся при мне.
Кто ищет - тот всегда найдет!
 
Цитата
Николай Капитанов пишет:

конструктору - конструирование, программисту программирование!!!
Это уже категория филосовская и ничего к ТФ и к форуму отношение не имеет. Кто-то бабочкой порхает по жизни, кто-то пашет как лошадь всю жизнь. Бабочкой наслождаются :* , а от лошади.... :shock: . Большенство проблем в ТФ "ходят по кругу"
 
Цитата
Brom25 пишет:

если программисты практически ничего не делают для улучшения или упрощения работы конструкторов

а что делают конструктора для того чтобы программисты знали проблемы конструкторов????

Всё простите, больше оффтопить не буду, наболело - два моих поста дейтсвительно не пришей не пристегни. Просто смешно смотреть, когда конструтора от нечего делать начинают программировать, а программисты от скуки лепить 3D модели в TF и это на одном предприятии!!!

Постараюсь почаще сюда заглядывать, мож и удасться кому помочь.
Конструктору - конструирование, программисту - программирование
 
Цитата
tipman пишет:

а что делают конструктора для того чтобы программисты знали проблемы конструкторов????

Достаточно было твоих слов о том, что руководство закрыло вам все разработки для конструкторов, чтобы понять бесполезность написания служебок. Тем более, при вашей занятости и том факте, что кроме твоего сектора для нас никто ничего путного сделать не сумеет. Ко всему прочему есть пожелания, с которыми ни в Топ Системы, ни к вам обращаться нет смысла, быстрее сам сделаешь... Так что не суди строго. Обо всем остальном на работе, если есть желание.


Цитата
tipman пишет:

Постараюсь почаще сюда заглядывать

Здесь такие люди нужны!
Кто ищет - тот всегда найдет!
 
Цитата
tipman пишет:

Постараюсь почаще сюда заглядывать, мож и удасться кому помочь.
Это правильно :love:
Цитата
tipman пишет:

Просто смешно смотреть, когда конструтора от нечего делать начинают программировать, а программисты от скуки лепить 3D модели в TF и это на одном предприятии!!!
Так-то оно так, конечно. Но про программеров, к примеру нашего подразделения, можно пока сказать, что они слишком оторваны от жизни. А проблема в том, что среди них очень мало предметников, поработавших на производстве и в проектном отделе. Нет понимания того, что программы должны в первую очередь облегчать труд тех, для кого они предназначены, а не по принципу - вам сделали, работает, не задавайте глупых вопросов и разбирайтесь со справкой. Внедрение того же Лоцмана идет не понятно через какое место и, зачастую совершенно не компетентными в САПРе людьми. Конструкторам остается складывать маты и плеваться. А программеры и внедренцы валят всю вину на пользователей, дескать руки кривые. Считаю, если программа содержит грамотную обработку ошибочных ситуаций и логичный интерфейс, то и нареканий не будет.
В программирование полез еще и по другой причине: первые шеть лет на заводе ремонтировал локомотивы в депо и бывало, как многие слесаря, хаял конструкторов. И как-то мне посоветовали: если считаешь себя таким умным, иди учись на конструктора, что в последствии и сделал. Похожая ситуация и в отношении программистов - есть смысл разобраться.
Изменено: Сергей Максимов - 04.08.2008 06:40:05
 
мир меняется, прогресс не стоит на месте. уже давно есть профессия "программист-электронщик", стало быть, скоро появится "программист-конструктор"...

Цитата
tipman пишет:

Просто смешно смотреть, когда конструтора от нечего делать начинают программировать, а программисты от скуки лепить 3D модели в TF и это на одном предприятии!!!
а если не секрет, это где так на работе от скуки маются?
Страницы: 1 2 3 4 След.