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


Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1 2 След.
Макрос для создания узлов
 
При работе часто приходится создавать одни и те же элементы: узел в точке (0,0), узлы привязки, узел относительно существующего узла. Один хороший человек помог - написал макрос. Может кому еще пригодится
 
Павел Перфильев, а можно более подробное описание, что делает макрос и как им пользоваться?
а то описание как-то размыто..
Практика - критерий истины (с)
 
Макрос включает следующие способы создания узлов:
1 Две линии построения и узел в точке (0,0), при этом координаты линий построения задаются переменными, которые включены в редакторе переменных в группу "Точки привязки" (идею с переменными здесь на форуме увидел). Я работаю методом планировки и создание узлов в точке (0,0) на страницах чертежных видов - постоянно встречающаяся задача
2 Узел привязки с линиями построения (аналогичная команда в ТФ есть, но здесь узел на экране подписан,плюс переменные опять же в группу)
3 Узел привязки аналогично п.2 но узел свободный
4 Узел относительно выбранного узла. Узел подписывается на экране, смещения заданы переменными, которые также в группу включены. Группа "Марка" т.к. я обычно подобные узлы использую для подписи марки элемента

Для пользования макроса скопировать 2 файла из архива в папку program T-Flex Далее "Настройка/Приложения/Добавить" и выбрать "Создание точек привязки" И затем "Запустить"
 
Цитата
Павел Перфильев написал:
Макрос включает следующие способы создания узлов:
1 Две линии построения и узел в точке (0,0), при этом координаты линий построения задаются переменными, которые включены в редакторе переменных в группу "Точки привязки" (идею с переменными здесь на форуме увидел). Я работаю методом планировки и создание узлов в точке (0,0) на страницах чертежных видов - постоянно встречающаяся задача
2 Узел привязки с линиями построения (аналогичная команда в ТФ есть, но здесь узел на экране подписан,плюс переменные опять же в группу)
3 Узел привязки аналогично п.2 но узел свободный
4 Узел относительно выбранного узла. Узел подписывается на экране, смещения заданы переменными, которые также в группу включены. Группа "Марка" т.к. я обычно подобные узлы использую для подписи марки элемента

Для пользования макроса скопировать 2 файла из архива в папку program T-Flex Далее "Настройка/Приложения/Добавить" и выбрать "Создание точек привязки" И затем "Запустить"
версия 15.0.5.0. Всё сделал) И - ничего не появилось на панели инструментов)
Или я куда-то не туда смотрю?



в 14ке - панелька появилась

Прикольно! Спасибо большое!)
Изменено: Андрей Мальчук - 13.09.2016 21:32:28
Практика - критерий истины (с)
 
Да, забыл отметить, что макрос под 14 версию. Я консервативен в этом плане и работаю в 14 версии.
 
Почему файлы от старой версии можно открывать в новых, а макрос нет? По моему не логично...и не правильно!!!!
Толком не остыл...
 
Цитата
Sila Musli написал:
Почему файлы от старой версии можно открывать в новых, а макрос нет? По моему не логично...и не правильно!!!!
Макрос открывается в 15ой, но чтобы появилась панель с кнопками нужны доп манипуляции. Техподдердка обещала что то с этим сделать.
 
После запуска приложения покажите вкладку ленты "приложения", потом зайдите в настройку ленты , выберите команды приложений, найдите запущенное приложение и руками добавьте команды во вкладку. В сборке 15,0,5,0 так, в обновлении должно работать автоматически
2.png (18.02 КБ)
3.png (38.37 КБ)
1.png (52.67 КБ)
 
Цитата
zobza написал:
Макрос открывается в 15ой, но чтобы появилась панель с кнопками нужны доп манипуляции. Техподдердка обещала что то с этим сделать.
Очень хорошо.
Толком не остыл...
 
Для добавления макроса в ленту автоматически:



/// <summary>

/// Этот метод вызывается в тот момент, когда следует зарегистрировать команды,

/// Создать панель, вставить пункты меню

/// </summary>

protected override void OnCreateTools()

{

//base.OnCreateTools();



RegisterCommand((int)Commands.Create, "Создание звёзд", LoadIconResource("CreateStars"), LoadIconResource("CreateStars")); // Регистрируем команду создания

RegisterCommand((int)Commands.ShowWindow, "Показать окно", LoadIconResource("StarsWindow"), LoadIconResource("StarsWindow")); // Регистрируем команду показа окна



//Регистрируем команды контекстного меню объекта звезды

RegisterObjectCommand((int)ObjectCommands.Fill, "Заливка", LoadIconResource("Fill"), LoadIconResource("Fill")); // Регистрируем команду заливки для контекстного меню



//Регистрируем иконку звезды

RegisterObjectTypeIcon((int)ObjectTypeIcons.StarObject, LoadIconResource("StarObject"));



//Добавляем пункты и подпункты меню

TFlex.Menu submenu = new TFlex.Menu();

submenu.CreatePopup();

submenu.Append((int)Commands.Create, "&Создать", this);

submenu.Append((int)Commands.ShowWindow, "&Показать окно", this);

TFlex.Application.ActiveMainWindow.InsertPluginSubMenu("Звёзды", submenu, MainWindow.InsertMenuPosition.PluginSamples, this);



//Создаём панель с кнопками "Звёзды"

int[] cmdIDs = new int[] { (int)Commands.Create, (int)Commands.ShowWindow };

CreateToolbar("Звёзды", cmdIDs);

CreateMainBarPanel("Звёзды", cmdIDs, this.ID, true);



// Добавляем кнопки во вкладку "Приложения" в ленте

TFlex.RibbonGroup ribbonGroup = TFlex.RibbonBar.ApplicationsTab.AddGroup("Звёзды");

ribbonGroup.AddButton((int)Commands.Create, this);

ribbonGroup.AddButton((int)Commands.ShowWindow, this);



//Создаём плавающее окно со списком звёзд

FloatingWindow = CreateFloatingWindow(0, "Звёзды");

FloatingWindow.Caption = "Звёзды"; // Его название

FloatingWindow.Icon = LoadIconResource("StarObject");//Его иконка

FloatingWindow.Visible = false; //Пока гасим



//На случай если плагин был подключён, когда документ был уже создан и открыт (все места для AttachPlugin() пропущены),

//просто подключаем плагин к текущему документу

if (TFlex.Application.ActiveDocument != null)

TFlex.Application.ActiveDocument.AttachPlugin(this);

}

 
По макросу при постоянном использовании обратил внимание на следующий момент. Создание узла в точке (0,0). В документе только один раз можно создать такой узел. Я думаю, что здесь не совсем правильное ограничение. Оно должно скорее касаться страницы документа, а не всего документа в целом. У меня в документе, например, как правило несколько страниц (ЧВ) и на каждой начало пара линий и узел (0, 0) созданы. И еще один момент заметил : после создания узлов, если поменять масштаб страницы, сами узлы смещаются, а текст нет, так и висит где-то в стороне.
 
Исправленный плагин
 
Регулярно использую макрос в работе. Особенно удобно когда документ включает до десятка страниц и больше, где на каждой странице создаю узел в точке 0.0. И с узлами привязки удобно. Раньше делал специальные прототипы, сейчас обхожусь макросом. Но нет предела соверщенству. Думаю, не помешало бы еще одну функцию добавить. Создание так называемых базовых линий. Две пересекающиеся линии и узел в точке пересечения. Команда такая и в ТФ есть. Но тут я бы добавил цвет этим линиям и длину их сделал бесконечной. Было бы удобно.
 
Новая версия плагина с учетом последних пожеланий относительно базовых линий.
Я чаще всего эту команду использую когда набрасываю узлы для привязки чертежных видов - их на листе может быть достаточно много у меня. Так я сначала накидываю узлы, потом создаю ЧВ и потом уже их наполняю. Уже опробовал в работе. - то что надо. Спасибо разработчику плагина.
 
Цитата
Алексей написал:
Для добавления макроса в ленту автоматически:
Как включить свою команду в Панель быстрого доступа?
 
Цитата
zobza написал:
Как включить свою команду в Панель быстрого доступа?
https://www.youtube.com/watch?v=fyW_2A5Yy9Q&list=PLCT6rmoJNc8TLYOLnWSVN-2dG9LJioNh4&index=1
Начиная с 3:50
 
Цитата
Алексей написал:
Цитата
zobza написал:
Как включить свою команду в Панель быстрого доступа?
https://www.youtube.com/watch?v=fyW_2A5Yy9Q&list=PLCT6rmoJNc8TLYOLnWSVN-2dG9LJioNh4&index=1
Начиная с 3:50
Не до конца сформулировал вопрос, я имел ввиду средствами T-FLEX CAD API
Изменено: zobza - 23.01.2017 15:40:55
 
Интересный плагин.
Хотелось бы обратиться к разработчику плагина.
Можно внести доработки (конкретно мои хотелки):
  1. Убрать переменные из функционала первой кнопки, цвет линий №12, длина бесконечная;
  2. Исключить вторую и третью кнопку;
  3. Четвертая кнопка - относительному узлу присвоить , цвет №2;
  4. Пятая кнопка - линиям присвоить цвет №7;
  5. Добавить кнопку для создания линии построения относительно другой линии и присвоением переменной типа dz_01, цвет №2;
  6. Все переменные вносить в группу "Манипуляторы";
  7. Отображение имен именованных узлов сделать опцией.
Спасибо!
P.S. Создание точек привязки то же интересно, но это для параметрических фрагментов. А фрагменты для того и параметрические чтоб их редко делать... не хочу чтобы висели редко используемые кнопки.
 
Альтернативная версия плагина, описанная в предыдущем посте.
Дополнительно присутствует возможность настройки:
  • имени группы для переменных;
  • цвета относительных узлов.
Спасибо разработчику!
 
Отличный и полезный плагин. Особенно порадовало отображение именованных узлов.


Но есть и ряд вопросов:
1. Почему базовые линии создаются без переменных? Зачем копировать базовый функционал? (3 кнопка)
2. Хотелось бы что бы относительные линии были так же именованными. (4 кнопка)
3. Возможность создавать точки вставки на базе свободных узлов, с выбором цвета и именованных.
4. Хотелось бы задавать правила наименования для относительных узлов, точек вставки, относительных линий.
5. Возможность маркировать узлы.
Снимок 2.JPG (9.96 КБ)
Снимок 1.JPG (16.89 КБ)
Изменено: DenStudy - 30.06.2017 12:55:34
Страницы: 1 2 След.