Таблица координат отверстий

Автор AlexA, 10.06.09, 19:38:27

« предыдущая - следующая »

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

Starik

Она работает через "Компас макро"

RA4FOC

Цитата: Starik от 21.11.19, 04:12:14Она работает через "Компас макро"
А добавить его как туда?

VLaD-Sh

Цитата: RA4FOC от 21.11.19, 07:36:41А добавить его как туда?
Не надо ни куда добавлять. Запускаете Компас-Макро и выбираете выполнить макрос

Starik

Сначала надо нажать кнопку "Добавить" и найти этот макрос в папке, куда Вы его скачали. А уж потом выполнять. :um:

RA4FOC

Жму добавить, а там только расширение .cdm

Andrei 72

То же самое- указал папку с макросом ( CircleTable (от 06.04.2018).pyw) а Компас Макро хочет файл с расширением cdm. Что делать? 8-)  8-)  8-)

Starik

Цитата: RA4FOC от 23.11.19, 21:51:42Жму добавить, а там только расширение .cdm
Читайте внимательно всю тему. Это уже писали на предыдущей странице https://forum.ascon.ru/index.php?topic=14962.msg249495#msg249495

Andrei 72

Не хотелось бы показаться глупым но придется. У меня вопрос:
1. Скачал CircleTable (от 06.04.2018).pyw
2. В свойствах файла поменял расширение  с pyw на cmd
3. Включил Компас-Макро, нажал кнопку "Макросы", в открывшемся окне "Макрос" нажимаю активную кнопку "Добавить", указываю в папке файл ( см. вложение 1). После указания файла опять попадаю в окно "Макрос" и все. Ничего не происходит ( см. вложение 2)
ЧТО НЕ ТАК ДЕЛАЮ??? :%:  :%:  :%:
Компас V18.1

Starik

Последовательность работы макроса такая:
1. Выделить вид или окружности на виде для которых вы хотите создать таблицу.
2. Запустить Компас макро.
3. Подсветить строку в списке макросов.
4. Нажать кнопку "Выполнить".
5. Указать на чертеже точку, которая должна быть базовой. От неё будут считаться все координаты.
6. Разместить таблицу.
Примечание: Чтобы потом не искать точку, от которой всё посчитано, её лучше поставить заранее. Или выбрать из уже имеющихся на чертеже объектов.

P.S. Обратил внимание что у Вас компас 18. А у меня 17. Поэтому не знаю, будет ли у Вас работать. По идее должно, но?????
И ещё, после выбора файла его надо "Загрузить" или "Открыть" или "Выбрать", не помню, какая там кнопка появляется. И он должен появиться в списке макросов.

Andrei 72

Спасибо за подробное описание. Но ничего не получается. Отдельно при запуске скаченного файла запускается программа PyScripter. Но подключить сам макрос не получается. Наверно к К18 он не подходит. Жаль что такие необходимые в Компасе команды до сих пор не реализованы. Хотя тема поднималась с 2009 года.  8-)

Starik

Автор макроса уважаемый ТрындецЪ. Он активен. Последний раз посещал форум сегодня. Спросите, может он что то подскажет.

Студент 2015

03.12.19, 07:37:22 #51 Последнее редактирование: 03.12.19, 07:51:39 от Студент 2015
Все Ваши действия правильные, вот мой порядок работы с этой утилитой был сегодня такой:
1.Выделяем отверстия, в созданном виде.
2.Запускаем утилиту CircleTable (от 06.04.2018).pyw
3.Должен запуститься Python-Portable.exe ( черное или другое окно, в нем на первой строчке будет запрос на ввод Начальной точки. Вводите где угодно начальную точку) На этом Шаг 1 закончен.
4.Шаг 2 располагаете где надо таблицу и всё.
5. Но чтобы это всё работало надо:
1. Надо подключить файл CircleTable (от 06.04.2018).pyw . Я подключал через "Настройка",
"Конфигуратор", "Состав", "Добавить утилиты".
2. Но перед этим на файле CircleTable (от 06.04.2018).pyw надо сделать изменения, как уже здесь указанно на 2 странице. Чтобы при запуске этой утилиты запускался Python-Portable.exe. Это просто выделяете файл Свойства и изменить, надо указать путь где лежит Python-Portable.exe. Сохраняете и всё.Обычно он лежит в \Kompas\Libs\Kompas-Macro\Python 3, может в 18 версии уже где-то в другом месте и название у него другое. Суть этого действия чтобы при запуске утилиты запускался Python, и начинал работу ( если например Вы забыли выделить отверстия, то программа выдаст ошибку что не выделено ни одного отверстия)
Далее всё работает.
Есть пожелание к утилите, чтобы затем при изменении таблицы в нужные мне размеры и координаты размещения, так же перестраивался вид с отверстиями. Но это похоже уже высший пилотаж. Я пока  Python только начал изучать и возможно ли такое сделать даже не знаю. Таблицу можно редактировать, а вот как заставить перестроиться вид я не знаю.

ТрындецЪ

В идеале макрос должен запускаться двойным кликом по файлу. Но так будет только в том случае, если его расширение (.pyw или .py) связано с исполняющей программой (в Вашем случае это Python-Portable.exe или Pythonw-Portable.exe, лежащей где-то в папке рядом с PyScripter'ом).
PyScripter - это программа для редактирования и отладки кода. Через него макросы тоже должны запускаться на выполнение (кнопка запуска выделена на скрине).

Andrei 72

Спасибо всем за подробные ответы!!! Сегодня же попробую еще раз с учетом рекомендаций! А еще один маленький вопрос от человека ничего не понимающего в программировании - а может все это сработать от нажатия одной кнопки на какой- нибудь панели? Просто  как .например. начертить отрезок? А то инструкция слегка напоминает инструкцию по запуску самолета.  :shu:  :o: . И еще - спасибо Вам  за потраченное время для написания такого нужного макроса. Жаль что у Аскона руки до этого не доходят.

ТрындецЪ

Цитата: Andrei 72 от 03.12.19, 08:45:50...а может все это сработать от нажатия одной кнопки на какой- нибудь панели?
Через добавление макроса в утилиты, как описал Студент 2015.
У меня вот несколько макросов на панели висят.

VLaD-Sh

Что-то интерфейс не похож на V18  ::)

Студент 2015

Цитата: Andrei 72 от 03.12.19, 08:45:50Просто  как .например. начертить отрезок? А то инструкция слегка напоминает инструкцию по запуску самолета.  :shu:  :o: .
Все настройки делаются один раз. У меня утилита: CircleTable (от 06.04.2018).pyw лежит в папке никак не связанная с программными файлами Компаса на другом диске.
Далее почему я подключаю в свойствах утилиты запускать через Python-Portable.exe.из программных папок Компаса-Макроса. Просто у меня стоят ещё пара программ Python разных версий, как и у Вас PyScripter, а какая программа запуститься первой остается только гадать. А программа Python-Portable.exe запускается из Компаса и делает в нём что надо. А остальные программы при двойном клике на утилите CircleTable (от 06.04.2018).pyw открыли бы код этого файла на редактирование и всё, а зачем Вам код???
А мое пожелание- вопрос остается: можно ли создать код при котором после редактирования таблицы перестраивался вид? Вот пример просто набросал в новом виде разных отверстий, где попало. Создал таблицу и уже в ней изменил всё как надо: Откорректировал как мне надо диаметры отверстий, округлил если надо координаты отверстий или указал новые. И после редактирования таблицы вид с отверстиями перестроился по новым данным.

Kilia

Спасибо! Очень крутой макрос!
Было бы круто если бы он сам все окружности выделял=) А еще круче если бы игнорировал окружности от фасок и углублений=)

Студент 2015

Цитата: Kilia от 03.12.19, 10:05:57Было бы круто если бы он сам все окружности выделял=) А еще круче если бы игнорировал окружности от фасок и углублений=)
Здорово Спасибо!!! Думаю к версии 40 или 50 такое можно будет ожидать. :beer:

Vitalij Lysanov

10.12.19, 21:03:51 #59 Последнее редактирование: 10.12.19, 22:40:38 от Vitalij Lysanov Причина: Уточнение
Размышления
Введение
Приходится дать тексту такое название, поскольку тема интересная, а
<a href="https://forum.ascon.ru/index.php?topic=14962.msg269449#msg269449">https://forum.ascon.ru/index.php?topic=14962.msg269449#msg269449</a>;
говорит, что это все, и больше не будет, и это и есть техническое задание, коим конечно не является.
Тема отверстий интересная, и коррекция размеров отверстий по таблице наводит на мысль, что первично, отверстия или таблица. И какая таблица, если это таблица Excel, то можно сразу передавать на ЧПУ, а в Компас можно продублировать картинкой, там все равно только смотрят на таблицу. Все возвращается к истокам, когда исходным было Слово.
Для коррекции отверстий на чертеже его нужно сразу отвязать от 3D, или хотят сразу и в 3D, корректировать? Если это так, то, позже...


Ближе к отверстиям
Имеем чертеж 2D с размерами и возможным параметрическим режимом при создании чертежа.
Единственный выход корректировать размеры отверстий, это включить параметрический режим по полной программе.
Соответственно в таблице отверстий появится еще одна колонка, имя переменной и еще вспоминали про точность отверстий, эта информация может потребоваться при выборе вариантов изготовления отверстий.
Вспоминали также про несколько окружностей с общим центром, попробуем добавить вариант таблицы с указанием меньшего или большего отверстия. Причем есть вариант получения результатов без применения программирования, и это приятно для конструктора, который слово программирование не любит от слова, совсем.


Без программирования
Сейчас с картинками легко работать, так что вперед:

Рис 1. Исходные окружности
Дальше применяем макро рекордер, но программировать не будем.
Выделяем отверстия, копируем относительно нуля, открываем новый чертеж.
Теперь нужно включить запись макроса.
В новом чертеже вставляем скопированные отверстия относительно нуля.
Останавливаем запись макроса и работаем с макросом, как с текстом, можно даже поставить .txt расширение.
В зависимости от версии Компаса, можем получить и такой текст макроса:

Дальше текстовым редактором оставляем только:

Это все данные по окружностям. Дальше текстовым редактором производим замены:
"," на табуляцию "\t"
"(" на табуляцию "\t"
"." на                    ","
Записываем файл с расширением "*.xls" и открывая файл, получим:

Немного сократив, получим:


В столбиках как раз и есть координаты и диаметр окружностей. Идем дальше.
Сортировка и в копиях данных ищем уникальные (удалить дубликаты):

Первая группа данных, это просто сортировка.
Вторая и третья группы, это ищем уникальные по двум первым столбцам. Остается только верхнее значение, поэтому, если сортировать наоборот, получим или минимальный, или максимальный диаметр, при одинаковых координатах.
Дальше уже нужно немного программировать ....
Прочитать координаты окружностей, получить внешние переменные, свести в одну таблицу, изменяя данные в которой, можно изменить внешнюю переменную и соответственно все перестроится.

___
P.s
Пробовал координаты и диаметры трех отверстий поставить на внешние переменные.
В примерах прочитал координаты, увеличил все на единицу и перестроил.

Все хорошо, только по таблице наверное легче строить отверстия
Сейчас размер программы 10 строчек.
Если брать данные в таблице Excel, количество строк мало добавится.

Новые отверстия и размеры легко ставить, можно даже без внешних переменных.
При изменениях легче весь слой с отверстиями и размерами удалить и построить новые отверстия по данным таблицы
   

17.PNG18.PNG