Продолжение темы Элемент управления - Кнопка - Вставить фрагмент Нужен макрос (плагин, что проще), чтобы организовать вставку фрагмента в ДЕТАЛЬ из Меню пользователя "Переменные" по Кнопке (Запустить макрос или Выполнить команду) в сцене СБОРКИ . Фрагмент "привязывается" и "отнимается" автоматически, нужно только указать некоторые параметры в "Переменных".
И да, на всякий случай, я НЕ программист в том смысле, что сам написать код не смогу, я здесь пытаюсь корректно сделать постановку ... и может найти потенциального исполнителя.
B_S_V,Тема примера одна , согласен, НО совершенно другой подход, потому как решается другая задача. Если аналогия, то вот так: T-FLEX МЕБЕЛЬ - это комбайн, мне же нужна, всего-лишь коса-литовка №7, ну максимум №9. По существу вопроса есть что предложить?
avrd, если я правильно понял вопрос, вы хотите вставить фрагмент с уровня сборки через его управляющий диалог. Какие варианты можно использовать?
T-FLEX CAD 16 поддерживает возможность запуска макроса фрагмента с уровня сборки, но в данном случае это работать не будет, поскольку для выполнения операции вставки фрагмента необходимо открыть блок изменения. Иначе говоря, макрос фрагмента не может внести изменения в структуру модели, поскольку он заблокирован для записи с уровня сборки.
По поводу запуска команды приложения, нужна дополнительная информация от техподдержки.
Как вариант, использовать средства подавления операции через переменные.
vite,Чуточку поправлю, вставить фрагмент в Деталь с уровня Сборки, что, на мой взгляд, не должно вносить изменения в структуру сборки. Могу ошибаться, в философии параметризации не силен. Просто есть же режим - "Деталь в контексте сборки", может через него, правда, если пробовать "в ручном режиме" меняется Прототип (библиотечный файл).
Т.е. нужно грамотно сформулировать вопрос в техподдержку.
Подавление не прокатывает, количество фрагментов в Детали не ограничено, т.е. нужен избыточный набор - Сборка быстро "перегреется" .
avrd написал: Просто есть же режим - "Деталь в контексте сборки", может через него, правда, если пробовать "в ручном режиме" меняется Прототип (библиотечный файл).
Просматривая модель, навскидку могу предположить, что вы хотите сделать автоматическую расстановку фурнитуры. Причем фурнитура должна быть вложена на уровне детали. Если это так, то это и называется внести изменения в библиотечный элемент.
Если рассмотреть вариант добавления фурнитуры с уровня сборки, то можно поступить следующим образом. Параметры, которые вы хотели использовать на уровне детали, можно получить по селектору. То есть, сначала выделяется деталь в сборке, затем запустить макрос. Таким образом, программа может определить контекст фрагмента и добавить фурнитуру в сборку.
vite написал: хотите сделать автоматическую расстановку фурнитуры.
Нет. Речь только об отверстиях (без фурнитуры, коса - НЕ комбайн) под фурнитуру и в "ручном" режиме через "Переменные", от сюда все остальные гипотезы ошибочны. Пример с файлами по мебельной тематике приведен только в силу его большей наглядности.
С возможностью применения и сценарием использования определились, что с макросом? Будут предложения?
Я в свое время похожую задачу решил, используя то, что имя файла вставляемого фрагмента можно задавать переменной. Это позволяет достаточно оперативно создавать и менять наборы вставляемых фрагментов. Как пример: есть разъемы, которые комплектуются разными типами патрубков. Вот этот имеет четыре типа Модель сделана так: собственно разъем + вставленный фрагмент патрубка. Но т.к. разных патрубков четыре (отдельные файлы), имя файла патрубка задано через переменную.
Вот сборка, собранная из таких разъемов
Здесь вилка имеет три состояния в части наличия патрубка а розетка пять состояний
Теперь конфигурацию по части патрубков можно менять непосредственно из сборки Видно, что фрагменты с одинаковым номером (фр_44 и фр_66) имеют разные имена файлов.
Т.е. получается, что в детали (разъемы) с уровня сборки добавлены дополнительные детали (патрубки).
Чтобы вносить изменения и не в прототипе из библиотеки и не в сборке - нужен контейнер. Т.е. файл в котором вставлен библиотечный элемент и который вставляется в сборку. Далее в контексте редактирования данного элемента мы вносим туда любые изменения, в том числе и отверстия не затрагивая прототип. Это можно делать как макросом так и вручную. В данной задаче я не вижу в надобности макросов.
Повторяю, число фрагментов в детали заранее НЕ определено , стало быть B_S_V - метод с параметром именем файла не выход. Контейнер-матрешка интересно, но тогда получается нужно иметь отдельную прокси - библиотеку для КАЖДОЙ детали в сборке, что то не то по сравнению с ОДНОЙ - ЕДИНСТВЕННОЙ библиотекой Деталь - прототип, Отверстие - прототип + малюсенький макрос. давайте уже говорить про макрос, предложения по его содержанию, написанию.
avrd написал: число фрагментов в детали заранее НЕ определено
В таком случае что мешает задавать имя конкретного фрагмента вручную? Тогда вообще не надо заранее заботиться ни о числе фрагментов, ни о их расположении.
B_S_V, уже куда-то не туда. Я задал вопрос по написанию макроса по конкретной ситуации. Если есть выход без программирования - "решение в студию" файлы в наличии.
И да, на всякий случай, я НЕ программист в том смысле, что сам написать код не смогу, я здесь пытаюсь корректно сделать постановку ... и может найти потенциального исполнителя.
Sila Musli, я же не возражаю, просто, нужен демо- вариант Матрешек на примере приложенных файлов. Я его не вижу в реализации, что есть КОНТЕЙНЕР в конкретном применении, не поспеваю за Вашими мыслями. Могу не знать классических методик, просветите. По своему опыту, вижу, что вместо библиотеки с 2 фрагментами и макросом (плагином), мне нужно разрабатывать переходную библиотеку с N элементами, растущую по мере создания новых Сборок.
avrd написал: И да, на всякий случай, я НЕ программист в том смысле, что сам написать код не смогу, я здесь пытаюсь корректно сделать постановку ... и может найти потенциального исполнителя.
за что можно отдать должное Алексею, так это умение четко сформулировать техническое задание. Возможно вам стоит к нему обратиться... и это не сарказм.
Чтобы получить ответ на свой вопрос, мне необходимо техническое задание с подробным описанием всей технологической цепочки. У меня просто нет времени разбираться в модели, которую вы прикрепили в качестве примера.
vite,Спасибо за ценнейшие советы и рекомендации, обязательно их учту. Ни в коем случае не хотел отвлекать Вас от ВАЖНЫХ дел и уж тем более настаивать на Вашем участии в столь незначительном мероприятии. Без сарказма и со всем уважением.
avrd, если мои сообщения показались вам предвзятыми, прошу не сердитесь на меня. Как правило я стараюсь отвечать на вопросы в этом разделе, если человек имеет хотя бы базовые навыки программирования. Взгляните на ситуацию с другой стороны, стали бы вы писать макрос человеку, который даже не потрудился составить техническое задание?
vite,без обид. О каком ТЗ речь. Если вся задача: Имеется - библиотека из 2 фрагментов с набором взаимосвязанных переменных: Деталь , Отверстие . см. пример файлов. Требуется - создать макрос (плагин) позволяющий при создании Сборки из Деталей, вставлять сколь угодно раз Отверстие в любую Деталь при помощи меню "Переменные" Детали. Хорошая формулировка, только не знаю как использовать:
Цитата
vite написал: вставить фрагмент с уровня сборки через его управляющий диалог
Что здесь надо ещё пунктить?
B_S_V, Не стоит здесь вести дискуссии (в виде флуда) нужен ли макрос и как обойтись без него,для этого случая есть ветка - БЕЗ программирования. Представьте Ваш вариант на файлах примера. Ещё раз комбинация количества отверстий не определена и я не вижу применения метода - с параметрическим списком имен файлов фрагментов.