Макрос Зеркальное отражение компонентов в сборке

Автор chelkar, 16.11.10, 19:32:09

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

chelkar

Цитата: barracuda_spb от 14.07.11, 15:38:40
А может можно пойти более простым путем  ... в свойствах вставки детали просто по умолчанию использовать зеркальное отражение.
Отзеркалить вставку детали-заготовки не проблема. Один параметр надо поменять в функции.
Но потом придется как то размещать эту зеркальную копию. А это уже будет сильно не просто.
А так она сама встает зеркально в сборку. Да еще связь сохраняется.
А что смущает в моем варианте? Может поправить надо чего?

Anton85


Vladichek881

Здравствуйте, chelkar!
Пользуюсь Вашим макросом, сегодня попробовал в сборке сделать заркальное отражение для небольшой подсборки. Ничего не построилось и вылетело какое-то окно. Интересуюсь, так и должно быть или я что-то не так делаю?  :shu:

chelkar

С подсборками макрос не работает.
А что должно получаться? Напишите словами или пример модели пришлите. Буду думать.

Vladichek881

Цитата: chelkar от 25.07.11, 11:24:07
С подсборками макрос не работает.
А что должно получаться? Напишите словами или пример модели пришлите. Буду думать.

Я, можно сказать, просто поинтересовался - работает ли макрос с подсборками. Нет никакой необходимости что-то додумывать, свои функции макрос выподняет прекрасно. Буду дальше зеркалить детальки. Спасибо!  :)

Resfeder

chelkar! Вы сделали то, что Асконовцы ни как не могли до этого сделать. Естественно, в силу определённых причин (план). Но у меня к вам одна просьба, пожелание. Бывают случаи когда при зеркальном отражении деталь остаётся прежней (параллелепипед к примеру). В вашем макросе по любому создаётся зеркальное исполнение детали-оригинала. Вот если бы решить эту проблему то было бы как в SW!
Естественно "+" вам за содеянное.

chelkar

Цитата: Resfeder от 15.08.11, 23:50:37
"+" вам за содеянное.
Спасибо!
За "содеянное" обычно другое дают :)
По поводу "не зеркалить" симметричные детали я думал, но что-то пока ничего не придумал :(
А как оно происходит в SW? Новый файл создается?

Resfeder

В SW это базовая команда. При создании зеркального массива в сборке указывается плоскость симметрии, массируемые компоненты, указывается создавать зеркальную копию для компонентов или нет, ввод. Для зеркальных компонентов создаются новые файлы. А для не зеркалируемых - соответственно нет. Постараюсь в ближайшем будущем сделать эскизы (screen_ы).

vasurnik

16.08.11, 23:56:02 #28 Последнее редактирование: 17.08.11, 00:55:19 от vasurnik


Все понял... Это получается зеркальная деталь, можно для нее задать новое наименование и обозначение.
КРУТО. СПАСИБО.
Почему АСКОН еще до этого не дошел?

Slaviation

А
Цитироватьесли в менеджере библиотек есть библиотека КОМПАС-Макро, но при подключении выскакивает сообщение, что нельзя подключить данную библиотеку... Что может быть?
Может это поможет:
http://forum.ascon.ru/index.php/topic,18682.msg122933.html#msg122933

Ole

chelkar:
ЦитироватьС подсборками макрос не работает.
Очень интересует Ваша разработка.
1.Правильно ли я понял: Макрос может отзеркалить сборку только если она не содержит других сборок?
2. Если это так, нельзя ли доработать макрос так, чтобы он начал с разрушения подсборок исходной сборки? Зеркальная сборка состояла бы из одних деталей.
3. Зеркальные детали изготовлены из того же материала, что и исходные? В том смысле, что имеют плотность исходных деталей?

chelkar

С подсборками непонятно пока. Что нужно получить? Что есть зеркальная копия сборки?
Это новая сборка в которой все детали зеркальны? А если внутри еще одна сборка?
Давайте сценарий и результат опишем.

Пока сделал пробный вариант. Сборка разбирается и все ее детали зеркалятся.
Порядок работы:
- первой указать плоскость или плоскую грань для выполнения зеркальной копии в окне модели
- указать компоненты (детали или сборки) в Дереве моделей с CTRL
- запустить макрос

Попробуйте.
Могут быть ошибки.
V13

В зеркальную копию переносится Обозначение, Наименование и Цвет. Материал и Плотность пока не переносится.
+ Благодарностей: 1

SashaV

огромное спасибо! вещь супер, вот бы еще массивы он зеркалил - было бы вообще упасть не встать :-)))
а так очень помогло.

ELEMENTVOL

26.07.12, 19:13:35 #33 Последнее редактирование: 26.07.12, 21:33:11 от ELEMENTVOL
Нет этого волшебного макроса для версии V9?
Да и ещё у меня почему то делает асимметрию вместо симметрии

chelkar

Теоретически работать должно и под V9.
Попробуйте в тексте макроса заменить Kompas10API5 на Kompas6API5.

Про "ассиметрию" не понял. Можно пример с моделью где это получается?

PS. Чтобы работало под разными версиями и было совсем хорошо, надо бы перевести все это дело в обычную библиотеку.
Но я неумею. приглашаю желающих к сотрудничеству. Тексты есть, переведите на RTW.

Алексей 1980

Попробовал . Работает. Только вот теперь думаю. Shelkar - вы работник Аскона? А то к нам на предприятие пришло такое письмо. "Компания "АСКОН" разработала прикладную библиотеку для реализации функции автоматического создания зеркального отображения компанентов в сборке. Более подробную информацию вы можете узнать и идет ссылка на этот форум".   Если вы окажетесь работником Аскона. То почему нельзя ввести функции зеркального отображения в сборке, а не через прикладную библиотеку, которую я кстати не сразу разобрался как устанавливать.

chelkar

Цитата: Алексей 1980 от 19.10.12, 15:37:06
Shelkar - вы работник Аскона?
Да, Вы правы, я являюсь сотрудником компании АСКОН. Chelkar это ник в Форуме.
Про письмо я ничего не могу сказать. Думаю оно не очень корректно составлено.
Макрос "Зеркальное отражение компонентов в сборке" точно не является продуктом компании АСКОН.
Даже несмотря на то что разработан сотрудником АСКОН.
Цитата: Алексей 1980 от 19.10.12, 15:37:06
почему нельзя ввести функции зеркального отображения в сборке, а не через прикладную библиотеку
Для этого нужно чуть больше условий чем просто:
Цитата: Алексей 1980 от 19.10.12, 15:37:06
Если вы окажетесь работником Аскона.
Макрос не является и не может являться полноценной заменой базовой функциональности.
Создан он был по двум соображениям.
Во-первых исходя из концепции Форума "Территория взаимопомощи и профессионализма".
Зеркалировать компоненты все равно нужно. Это можно сделать выполнив некий набор действий, руками.
Я выбрал один из возможных сценариев и автоматизировал его.
Это и есть вторая причина. Хотелось продемонстрировать возможности инструмента. Макросы позволяют решать разные, даже не очень простые задачи. К сожалению такая возможность пока очень мало используется.
Это один из примеров. И размещен он в ветке Прикладных разработок.

GL_E

Цитата: chelkar от 19.12.11, 12:54:54
С подсборками непонятно пока. Что нужно получить? Что есть зеркальная копия сборки?
Это новая сборка в которой все детали зеркальны? А если внутри еще одна сборка?

А рекурсию можно макросом организовать?

chelkar

Рекурсию сделать можно.

Вот пример рекурсивного выбора всех деталей, кроме стандартных:
-------
#Рекурсивный разбор сборки
def PartRec (Part):
    result = []
    CollPart = Part.PartsEx (0)
    if CollPart:
        for iPart in CollPart:
            if not iPart.Standard:
                if iPart.Detail:
                    result.append(iPart)
            if not iPart.Detail:
                    result.extend(PartRec(iPart))
    return result
-----------
А к макросу это как относится? Есть идеи?

GL_E

Цитата: chelkar от 25.07.11, 11:24:07
С подсборками макрос не работает.

Честно говоря я сперва бегло прочитал посты и скачал макрос. попробовал - зеркалит нормально. сборку с подсборками зеркалить непробовал, т.к. вы ясно сказали, что с подсборками макрос не работает.


Цитата: chelkar от 11.03.13, 16:05:00
Рекурсию сделать можно.
А к макросу это как относится? Есть идеи?

Потом, после вашего ответа про рекурсию прочитал повнимательнее

Цитата: chelkar от 19.12.11, 12:54:54
С подсборками непонятно пока. Что нужно получить? Что есть зеркальная копия сборки?
Это новая сборка в которой все детали зеркальны? А если внутри еще одна сборка?
Давайте сценарий и результат опишем.

Пока сделал пробный вариант. Сборка разбирается и все ее детали зеркалятся.
Порядок работы:
- первой указать плоскость или плоскую грань для выполнения зеркальной копии в окне модели
- указать компоненты (детали или сборки) в Дереве моделей с CTRL
- запустить макрос
...

возможно я не силен в терминологии (прошу сильно ногами не пинать :) ): но разве сборка находящаяся внутри другой сборки это не подсборка?

А идея собственно заключалась в том, чтобы используя рекурсивный запуск макроса разбирать и подсборки (используя первую выбранную плоскость, как сквозной аргумент [ну или создавать в подсборке аналогичную по абсолютным координатам вспомогательную плскость и использовать уже ее]). Не думаю, что для вас это новость, наверное,все же есть какие то  ограничения, если макрос не работает с подсборками.