САПР "Хоттабыч"

Автор Vitalij Lysanov, 27.09.18, 08:58:50

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

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

Vitalij Lysanov



САПР "Хоттабыч"

Вступление
Пишут что на праздники новые дела быстро завершаются.
И это как раз то что нужно.

Пример из кинофильма про синтез телефона из мрамора.
Хоттабыч по рядом стоящей модели, 3D сканером, создал поверхностную модель телефона и заполнил ее мрамором.

Возьмем задачу попроще.
Допустим есть 1000 различных прямоугольных цветных пирамид которые нужно поставить в свои углубления на плите.

Ширину, высоту основания пирамид и цвет записываем в таблицу. Сортируем таблицу, вначале по ширине затем по высоте.

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

Располагаем рядом две таблицы. Все должно совпадать. Из одной таблицы берем координаты, из другой таблицы берем цвет и все собралось.
Хоттабыч дергал волосы из бороды а нам можно просто отсортировать, и все соберется.

И для проверки рисовать особо нечего, даже таблицы строить не обязательно, это чистая математика.

По аналогии можно взять:
    кольца надевать на цилиндрические столбики
    координаты отверстий для крепления совмещать с деталями.

Если поднять все это в пространство и еще под разными углами расположить, кроме математики, никаких проблем.

Правило конструирования
Правило простое - адресная стыковка. Т.е. когда по другому не соберешь. (Правило Хоттабыча).
    Производству хорошо.
    Конструктору хорошо. Программа может сама собрать сборку.
    ОТК хорошо
    Ремонтировать хорошо
    Всем хорошо

Правильный САПР и остальные
Правильный САПР, это САПР с которым работаешь. Иногда пишут неправильные слова. "А вот в таком САПР лучше то то и то то". Одна из истин может быть лучше, но по совокупности истин и ограничений свой САПР всегда лучший.

Но есть САПР в котором все правильно спроектировано и даже все само образуется и собирается.
Все само образуется и собирается если соблюдать один из принципов правильного конструирования, это когда собирается только так.
Молекулы собираются как раз по такому принципу. Создали условия для сборки, обогрели для диффузии и со временем все образуется в конструкцию, немного катализатора для опалубки, и порядок.

И как критиковать такой САПР? Это как в фильме "Это что получается, я сам у себя пиджак купил?".

Если ближе к конструированию.
Всего то делов. Обеспечить адресную стыковку деталей, тем более, что дополнительных усилий, почти никаких. Сейчас все больше ЧПУ, и сместить отверстие это только труд конструктора.
Конструктору достаточно будет выбрать перечень деталей и смотреть результаты, может придется выбрать более правильный вариант из нескольких. (Прямо как у Хоттабыча) 

Электричество
Если одинаковые разъемы рядом и отличаются только надписи "Ш1" и "Ш2", проблемы гарантированы.
До теста все может сгореть. И тесты нужно проводить после каждого подхода интеллекта.

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

Электрические тесты могут не сработать, если датчик угла закрепить наоборот. Бывает если проверишь, то разрушишь. Это как предохранители проверять на входном контроле.
Гораздо легче, чтобы потом комиссии не собирать, исключить неоднозначность установки (любой ценой). Тогда можно как у Хоттабыча, представил, и все собралось.
 
Адреса в ПЭВМ
Первоначально разработчики пошли на издержки и заложили в аппаратную часть внешних плат и устройств - наименование (код). При подключении устройства, система читает код и загружает нужный драйвер. 

САПР
Для практической реализации программа по заданной спецификации ищет все отверстия в деталях, запоминает диаметры отверстий, координаты отверстий.

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

После определения пар деталей для стыковки, включается соосность и совмещение плоскости стыковки.

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


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

   
+ Благодарностей: 1

ТрындецЪ

Цитата: Vitalij Lysanov от 27.09.18, 08:58:50
Правило простое - адресная стыковка. Т.е. когда по другому не соберешь. (Правило Хоттабыча).
Правило хорошее. Выходит, что две детали должны иметь одинаковые свойства, для однозначной ориентации друг относительно друга. С ходу на ум приходит функционал присоединительных точек в КОМПАСе, который делает что-то подобное. Но эти точки должны ещё иметь индивидуальные свойства, по которым можно определить какая деталь (а точнее, присоединительная точка какой детали) может "стыковаться" с данной точкой, а какая нет.

IgorT

А ничего, что деталь может по разному стыковаться в разных сборках? Для каждого варианта свойства прописывать?

Vitalij Lysanov

#3
Дополнительные точки это одно.
Достаточно информации есть уже в моделях деталей. Ее только нужно выцарапать и систематизировать.


Будем говорить про соединение болтами, это проще.

В модели и на чертеже есть отверстия, на которые есть диаметр и координаты.
Есть на чертеже размеры с признаком диаметр.
Есть крепеж под эти отверстия.

Все это собираем в таблицу.


Теперь можно вычислить расстояния между отверстиями и расположить их по возрастанию в строчку (Так быстрее должно сравнивать детали).
Осталось сравнить все входящие детали.
Это сравниваются числа, это не графика, должно посчитать быстро.
Проверить еще совпадение на координатах.

Должны собраться пары.

Соосность можно задать сразу.

Поверхность стыковки?

Разворот на 180 градусов, как то можно определить наложением деталей?



Если отверстия для крепления расположены несимметрично, сопряжение по отверстиям должно поставить деталь в правильное положение. Останется только сместить до соприкосновения поверхностей.
(Проверил. Разворачивать не очень хочет, зато показывает что ошибка. Можно принудительно программой разворачивать на 180 градусов вокруг разных осей, пока сопряжение будет без ошибки )

Мог бы конечно и Аскон вращать деталь на 180 градусов и повторить построить сопряжения по осям до исключения ошибки. Тут вариантов всего несколько. А таких ошибок очень много встречается. Руками приходится разворачивать и снова включать сопряжение по осям. И на эту тему может быть предложение.

При ошибке сопряжения по осям, пробовать программой Аскон развернуть деталь на 180 градусов вокруг одной из осей, повторить сопряжение, затем по второй и по третьей (оси).


Для общего случая трудно решить сразу.
Вначале можно пробовать под конкретные виды сборок.

Что то вспомнились металлоконструкции. Можно временных (фиктивных) отверстий просверлить в уголках. Все само соберется, затем отверстия убрать. Это я говорю как крупный специалист по металлоконструкциям. Можно одно отверстие оставить чтобы собрать перед сваркой?
   
И тестовое задание желательно чтобы было близко к действительности. Тогда можно по частям пробовать решить задачу.





Elaeagnus

 КОМПАС 18.
Приложение Оборудование: Металлоконструкции.
Авторасстановка крепежа.
Уже работает.

IgorT

 
[/quote]
Цитата: Elaeagnus от 27.09.18, 10:52:59
КОМПАС 18.
Приложение Оборудование: Металлоконструкции.
Авторасстановка крепежа.
Уже работает.


Реально работает?
Я так и не научился пользоваться функциекй Авторасстановки крепежа в другой CAD... :(


6o6auko

Ссылка не рабочая...

Vitalij Lysanov


Скопировал ссылку и вставил (забыл как это поле ввода называется)

Открылось про 18 Компас

Elaeagnus


Vitalij Lysanov

#10
Спецификация



Введение

Размышлял в какой раздел форума разместить текст, решил сразу сюда.

В серьезных разработках, если что то непонятное на испытаниях, сразу меняют комплект.

И что может быть серьезней, если у конструктора портится настроение. А если это Дама?...

Компас и спецификации как раз достойный кандидат на вышеизложенную тему.

В одной книге на 500 страниц есть одно предложение, на тему, что нужно делать если дама расстроена. Можно советовать какие таблетки помогают. Но пишут что советы не нужны. Нужно исправить и доложить. Каждый исправляет как может, и может у кого получится.

Подвиги бывают разные. Один раз забрал у продавца всю мелочь, так вернулся с запасами мелочи и получил хрустящую купюру. Или на терминалах, вместе с приветствием системы, появлялось много надписей. "Здравствуй Любимая". Ну там еще про дни рождения напоминали.

... так, о чем это я.

Да, про спецификации. 

Чего там только нет.

Отсутствуют только координаты деталей в сборке и углы соответственно, так добавим. Просто чтобы они там были доступные программе отката, и это будет уже не откат, а полное восстановление. 

Децимальный есть? Есть
Координаты и углы есть? Есть
Что еще нужно ...?

Посчитаем затраты. Одна цифра координат, один байт. На одну деталь три цифры координат по 10 символов и еще два угла (или три угла).
На одну деталь 60 символов.
1000 деталей 60 000 байт.
Для полного восстановления нужны виды и сечения. Для сечения еще записать координаты задающего отрезка и положение вида. И это не 1000, а до десятка сечений.

И хорошее настроение обеспечено за 60 килобайт.
60 килобайт и хорошее настроение.

И в магазин не нужно посылать.
А если пойдут в магазин и принесут одну.
Снова расстройство.

Практически

Тут еще такой момент с позициями в 3D и 2D. Нужны координаты расположенные в теле детали, чтобы там начать выноску. Это проблема, но вроде решаемая. Эта координата суммируется с координатой детали и рассчитанные координаты ставим начало линии выноски позиции. В примере просто кубики, ноль координат в середине. 


Сборка получилась по таблице, которая ниже

Наименование   Позиции    Координата X   Координата Y         Координата Z
            
Деталь                      1                 11.0                  12.0                         13.0
            
Деталь                      3           25.5448197969   15.8440203397   57.9693396245
            
деталь                      5           45.5482455608   28.1141276525   27.4107753339





 
Цифры получены программой аналогичной
http://forum.ascon.ru/index.php/topic,27712.msg208735.html#msg208735  № 11
и записаны в файл.
Эта программа работает только с расширением .a3m, поэтому если .py нужна другая программа.

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

Для постановки позиций использованы функции из примеров:
https://drive.google.com/open?id=165jHZZuPNVuarNWW76fVL1viZ37gr-Q1jvR0zzPT2Hs
https://drive.google.com/open?id=1puM9SxDXwv02DadG2iV78mxSZFUWOZtVl2Au4_mwHK8

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


Для 2D нужна отдельная программа расстановки позиций, напомню что координаты точки тела детали уже есть.



Групповые спецификации

Для ввода в базу (таблицу) групповых спецификаций можно предусмотреть автоматизацию управления информацией в базе.

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

Будет например 100 спецификаций отличающихся децимальным номером. Там будут повторятся 100 раз одинаковые детали в каждой спецификации, но это мелочи, это текст, а не графика.   

Должен соблюдаться принцип. Но каждый запрос должен быть получен ответ из одной спецификации.

Эта же автоматизация выдаст информацию о групповой спецификации в любом привычном виде.

Детали без чертежа

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

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


Получится что то такое

В сборку вставляем деталь, она записывается в спецификацию.
В спецификации появилось новая запись, деталь из спецификации записывается в сборку.
Эту запись в базе (таблице) можно называть как угодно, объект, субъект,           только без рук.

Поправляем расположение сопряжениями.

Полученные координаты и углы записываем в невидимые колонки спецификации или базы. И здесь уже есть координата для линии выноски спецификации.

Пересчитываем и получаем координату точки для выноски позиции в сборке.
Можно сразу и нарисовать позицию в 3D.

Тот же текст в другом формате
https://drive.google.com/open?id=1F3ynIvL8mkovgQfE5lWEWJzdOml0a-XkMdO4ypEgxDk

+ Благодарностей: 1

Vitalij Lysanov

#11
   Новогодние Поздравления и пожелания    

Каждая профессия существует, чтобы исжить себя.
Это хорошо видно по компьютерам
Их уже и школьники перестали собирать.
                                         


Стараемся, или как в фильме говирили, усердствуем.

Сборка по ЛСК деталей.
Все перемещается в чертежи деталей.
Поставили ЛСК, присвоили имена и дальше осталось наблюдать как работает программа.
Программа одна, детали и ЛСК могут быть разные.

Например на пластине  ЛСК Уголок
На уголке                          ЛСК Уголок+
Программа может найти что эти ЛСК отличаются только плюсом и включить совпадение ЛСК.



___

Совпадение по ЛСК это совпадение по трем точкам или по точкам с векторами.
Для программы это все равно, одна операция или три.

Если руками соединять три точки, это уже накладно.


___

Проверен еще пример. Электромотор болтами на плиту устанавливаем.
Стандартный крепеж можно собрать в сборку Крепежного элемента и назначить ЛСК для стыковки.
На моторе тоже ЛСК поставить, и соберется.

Потом по одной ЛСК мотор с крепежными элементами можно поставить на плиту.
На картинке все даже подробней видно.


Совпадение ЛСК точно отражает состав сборки, это для спецификации.


Если в ЛСК задавать и децимальные номера, (конечно не вручную, а из списка)
Все еще проще.
Одну деталь берем, смотрим ЛСК, загружаем в сборку детали по децимальному, соединяем по ЛСК.
И т.д. пока будут ЛСК.
При завершении в детали будет одна ЛСК, и все остановится.
Или ЛСК будут, а детали закончатся.
Что то это все напоминает



Еще вспоминается ролик. про склад с футбольное поле, и погрузчик задел стелаж.
Даже найду адрес.

https://news.mail.ru/society/35461397/?frommail=1&fbclid=IwAR0CFxyaJAElHOH4a7mRf-wmxyhK2HxjrroBv1BIlBLyhisYnuL-3O3WZk8










https://lh5.googleusercontent.com/oQ9HcQ8bqbsmUgFWrusI_WyR3BVGimaGhLVRiyuzC6plzuF8r6L5bUUlL_f1PIU9r3YCXxFOO6S54qZH-Eehx7MnURiLEZK6SIa5BqFI82LA_BfrEUtez3yYlHINVaL8MwABkoXM


https://drive.google.com/open?id=11RQM9SqfuhnEswxcN7KjNZDPTWXKyQnN

 


_____

Сама программа простая

Получить состав сборки.

В каждой детали получить все ЛСК

Сравнить имена и включить совпадение.

____

Вся проблема в деталях и ЛСК.

Можно пробовать на контрольной сборке, приближенной к реалиям.


С именами тоже вопрос.
Если четко сформулировать, как имена соединять, специалисты из центра все сделают.

По этим правилам должна собраться сборка вручную.
И здесь уже нужно все точно, до запятой, это не графика, это текст.

И получается что лишний раз подтвердили

В начале было слово