Продолжение темы Элемент управления - Кнопка - Вставить фрагмент Нужен макрос (плагин, что проще), чтобы организовать вставку фрагмента в ДЕТАЛЬ из Меню пользователя "Переменные" по Кнопке (Запустить макрос или Выполнить команду) в сцене СБОРКИ . Фрагмент "привязывается" и "отнимается" автоматически, нужно только указать некоторые параметры в "Переменных".
И да, на всякий случай, я НЕ программист в том смысле, что сам написать код не смогу, я здесь пытаюсь корректно сделать постановку ... и может найти потенциального исполнителя.
avrd написал: Не стоит здесь вести дискуссии (в виде флуда)
Забавно. Вы не удосужились вразумительно сформулировать задачу. Вам пытаются подсказать возможные пути решения (в меру своего понимания ваших формулировок), а вы начинаете, мягко говоря, немного хамить. Удачи.
avrd, я создал новый репозиторий ( TFlexExtension ), модуль расширения T-FLEX CAD Extension. Загрузить DLL можно по ссылке ( https://yadi.sk/d/XnCoCC8WG8dlHw ). На данный момент плагин просто выводит информацию о выделенном фрагменте в дереве модели. При подключении плагина, должна появиться панель инструментов с надписью Insert Fragment, без иконки.
Порядок действий 1. Выделяется фрагмент/фрагменты в дереве модели; 2. Нажать кнопку Insert Fragment на панели инструментов.
Чтобы корректно работал плагин, версия T-FLEX CAD должна быть ( 16.0.56.0 )
Теперь нужно определиться с контекстом данных для определения привязки отверстий к объекту. Поскольку T-FLEX CAD поддерживает различные объекты выделения, то это не обязательно должен быть объект фрагмента, можно также привязаться к грани.
vite,Спасибо! Правда, только завтра смогу попробовать. Привязка "в ручном" режиме проходит в автомате к центру сцену. Дальше выбор параметров в Диалоговом окне и Отверстие встает на место, отнимается тоже автоматом.
Просьба к Модераторам - почистить Тему, оставить сообщения #4 #22 #23 ,т.к. предложения не имеющие отношения к Теме я перенес в Соответствующую ветку Спасибо.
Все детали в сборке являются контейнерами, в которых будут создаваться отверстия.
Проблемная область Если деталь (контейнер) создается из библиотечного прототипа, то любые изменения отразятся на всех экземплярах. Поэтому отверстия должны либо предварительно созданы в контейнере, либо каждая деталь должна быть копией.
vite, Ещё раз отмечаю то обстоятельство, что мне не ясен смысл понятия Контейнер, применительно к решению задачи, в КАД такого понятия нет. Если мы его вводим давайте синхронизируем наши представления. По организации структуры: Сборка состоит из Деталей (Единый файл прототип библиотеки) Изменение Параметров (переменных) Деталей в Сборке - не влияет на файл прототип в библиотеке. Внесение изменений -создание бульевых операций с Деталью в Сборке - не влияет на файл прототип в библиотеке. Нам нужно объединить Параметр и Белеву операцию (через вставку фрагмента Отверстие), применительно к Детали в Сборке, так чтобы это не повлияло на файл прототип. Логика параметризации не нарушается. То что указываете Вы как проблему я выяснил «в ручном» режиме, работая с Деталью «В контексте сборки».
avrd, как вам угодно, я просто дал пример. Контейнер может быть скрыт в структуре изделия, это делается для удобства. Отверстия могут храниться в сборке, так даже проще. Мне нужна информация, относительно контекста данных.
avrd, я не вижу информации по отверстиям в файле ( Panel_PLUS ). Вы полагаете, что мне нужно доработать модель, и самостоятельно определить контекст данных?
vite написал: avrd, я не вижу информации по отверстиям в файле ( Panel_PLUS ). Вы полагаете, что мне нужно доработать модель, и самостоятельно определить контекст данных?
Так на диаграмме в первом сообщении нарисовано, что отверстия входят в детали.
В файл Panel_PLUS может быть вставлен фрагмент Присадка_PLUS несколько раз. Фрагмент будет вставлен в ЛКС с координатами 0,0,0. "прицепиться " к нужной грани через "Переменные" и "отняться" через настройку "Фрагмент 3D" - "Тип операции" - "Вычитание" в Присадка_PLUS. Кроме этого, пока никакой информации. Как доработать файл Panel_PLUS я не знаю. для "ручного" режима он готов.
vite написал: avrd , я не вижу информации по отверстиям в файле ( Panel_PLUS ). Вы полагаете, что мне нужно доработать модель, и самостоятельно определить контекст данных?
Так на диаграмме в первом сообщении нарисовано, что отверстия входят в детали.
Отверстия входят в Детали вставленные в (на уровне) Сборку. В прототипе Детали их нет.
avrd написал: Фрагмент будет вставлен в ЛКС с координатами 0,0,0. "прицепиться " к нужной грани через "Переменные" и "отняться" через настройку "Фрагмент 3D" - "Тип операции" - "Вычитание" в Присадка_PLUS.
avrd написал: Макрос должен вставить фрагмент Присадка_PLUS в Деталь (Панель_PLUS) диалог "Переменные", которой открыт.
причем здесь диалог переменные? Макрос выполняется на уровне модуля расширения. Мы уже определились с порядком действий. Теперь необходимо понять, что должно произойти при нажатии кнопки Insert Fragment. Вставить фрагмент ( Присадка_PLUS ) в ( Панель_PLUS ), так?
Вставить фрагмент ( Присадка_PLUS ) в ( Панель_PLUS ), так?
Да. Только, что значит причем здесь "Диалог", нам надо обозначить Деталь ( Панель_Plus) с которой мы работаем на уровне Сборки, куда будет вставлен фрагмент (Присадка_PLUS), Ведь Кнопка "Добавить" ( к которой и цепляем макрос) в "Диалоге" на закладке "Отверстие".
avrd написал: Ведь Кнопка "Добавить" ( к которой и цепляем макрос) в "Диалоге" на закладке "Отверстие".
по-видимому вы забыли о том, что макрос на уровне фрагмента заблокирован на запись. В данном случае, эта кнопка бесполезна.
Может я чего не понимаю, но в чем практическая польза вставки фрагмента ( Присадка_PLUS ) с использованием Insert Fragment? Не проще мышкой перетащить отверстие в сборку?
дело не в различии макроса и плагина, а в режиме доступа. кнопка "Добавить" находится в документе фрагмента, который загружен в сборку по ссылке с доступом только для чтения. Любая попытка открыть блок изменения приведет к ошибке. но если макрос будет встроен в сборку, то ему доступ на запись открыт, поскольку документ сборки находится в режиме записи.