Параметризация множества структурных вариантов: решение СПРУТ-Технологии
Хотим предложить читателям интересную задачу — создать геометрическую модель детали «щит подшипниковый», которая входит в состав сборочной единицы асинхронного электродвигателя.
Щит подшипниковый (ЩП) в основе своей представляет тело вращения, состоящее из нескольких функциональных частей (рис. 1):
- ступицы для присоединения подшипника, напрессованного на вал ротора (в центре);
- обода для соединения с корпусом (на периферии);
- стенки, соединяющей между собой ступицу и обод.
Кроме перечисленных существует множество вспомогательных элементов, связанных с конструкционными соображениями и требованиями технологии изготовления, а именно: ушки для крепления к корпусу с помощью болтов; буртик для осевой фиксации щита; наплывы для крепления в трехкулачковый патрон при токарной обработке; ребра жесткости и т.д.
Каждый элемент имеет несколько разных конструктивных типов; таким образом, деталь может состоять из любого их сочетания.
Задача, на наш взгляд, действительно интересная, тем более что большинство предприятий очень редко проектируют принципиально новые изделия. Обычно существует созданный ранее прототип, который берут за основу, добавляя какие-либо изменения.
Если бы существовала универсальная модель проектирования семейства однотипных изделий, то время на подготовку производства можно было бы многократно сократить. Кроме того, возможность добавления новых вариантов изделия в САПР обеспечивала бы гибкость проектирования. А если к тому же конструктор сам, без помощи разработчиков-программистов, мог бы совершенствовать систему, то она обладала бы тем, воистину бесценным, свойством, которое отсутствует у абсолютного большинства конструкторских САПР, — открытостью. Открытость и гибкость дают системе возможность развиваться независимо от первоначальных разработчиков.
Решая эту задачу с помощью традиционных CAD-систем, мы столкнемся с необходимостью рассматривать все многообразие вариантов ЩП. Чтобы выяснить, сколько вариантов изделия ЩП нам придется спроектировать, проведем несложный комбинаторный анализ: перемножим количество видов всех элементов ЩП, представленных в таблице.
Получаем, что количество N вариантов изделия ЩП равно:
N = 13 Ѕ 4 Ѕ 3 Ѕ 4 Ѕ 10 Ѕ 2 Ѕ 2 Ѕ 2 Ѕ 2 = 99 840.
При использовании традиционных средств автоматизированного проектирования, функциональность которых можно определить как «электронный кульман», придется проработать 99 840 структурных вариантов, не говоря уже о том, что в каждом варианте могут меняться значения размеров.
Для решения задачи структурного синтеза изделия необходимо изучать интерфейс программирования приложений (API системы) и писать код модели на языке программирования, например на VISUAL С++. При этом пользователь должен не только отлично знать особенности проектирования объекта, но и одновременно являться высококвалифицированным программистом.
Рассмотрим, как задача структурного синтеза изделия решается средствами комплекса СПРУТ-Технологии.
Первый шаг. Проводим декомпозицию (разделение) изделия ЩП на структурные элементы по функциональным признакам (рис. 2).
Каждый элемент характеризуется набором собственных параметров. Например, элемент «ступица, объединенная с крышкой (крышка выпуклая, обыкновенная, с обработанным под уплотнение отверстием, с одной дополнительной проточкой со стороны подшипникового гнезда)» будет иметь свой список параметров (рис. 3).
Второй шаг. Каждый элемент представляем в виде отдельной геометрической модели, создаваемой в системе SprutCAD (рис. 4). В SprutCAD реализуется гибкая система параметризации за счет двоякого представления геометрической модели: в виде графического и текстового описания объектов на специализированном геометрическом языке, доступном для каждого инженера (смотрите статью «SprutCAD: особенности национальной параметризации» в № 9’2001).
Перечислим основные способы задания геометрических объектов на языке Sprut:
- P11=X(0),Y(0) — задание точки абсолютными координатами через числовые значения;
- P12=X(x_0),Y(y_0) — задание точки абсолютными координатами через параметры;
- P13=L13,L25 — задание точки в месте пересечения двух прямых;
- P14=L17,C12,N2 — задание точки в месте второго пересечения прямой и окружности;
- L11=P11,A(alfa_1) — задание прямой, проходящей через точку под заданным углом. Угол задается параметрическим способом;
- L12=L11,M(h1) — задание прямой, параллельной существующей. Шаг задается параметрическим способом;
- C11=P11,R(rad1) — задание окружности с центром в заданной точке. Радиус задается параметрическим способом;
- С12=L11,L13,R(10) — задание окружности, касательной к двум прямым с заданным радиусом (используется при задании сопряжений);
- С13=L11,L14,C27 — задание окружности, касательной к трем объектам (в данном случае к двум прямым и окружности; также возможно задание точек);
- K11=P14,L19,C11,L31,C12,N2,L19,C13,L31,C14,N2,L19,-L13,-L20,-L14,L21,-L16,L22,L17,L23,L24,-L15,-L26,-L30,-L29,L12,P14 — задание контура через геометрические объекты;
- К12=K11,L19 — задание контура путем симметричного отображения существующего эскиза относительно оси.
Помимо описанных существует множество других способов задания геометрических объектов.
Заметим, что выше приведенные, а также многие другие операторы автоматически генерируются SprutCAD во время работы. Как видите, формат задания объектов предельно прост и доступен для понимания любого непрограммиста.
Третий шаг. Закладываем возможность структурного синтеза по принципу «Если <условие> — Тогда <группа операторов>». Для этого определяем параметры, необходимые для синтеза чертежа, передаем их значения в систему и вызываем выбранные геометрические модели (рис. 5).
Таким образом, мы не стали создавать все 99 840 вариантов модели, а заложили в компьютер соответствующие методики, позволяющие синтезировать это множество (рис. 6).
Представленная нами методика базируется на библиотеке структурных элементов, число которых может быть на несколько порядков меньше, чем число вариантов изделия. Эта методика включает в себя правила структурного синтеза основных и выносных элементов, а также правила размещения изображений на листе.
Для синтеза структуры модели используется оператор «ЕСЛИ <условие> ТО <группа операторов>»:
if TypeUho=1 then call p_5_1 (p.2100, D_1rm, D_ee, D_1ee, D_2ee, R_1ee, L_1ee, R_1eCr, per1, N_1ee, Ra_1ee, TIR1_e_sh).
В данном случае:
- TypeUho — переменная, которая генерируется базой знаний и может принимать целочисленные значения в некотором диапазоне;
- call — оператор, вызывающий подпрограмму;
- p_5_1 — имя вызываемой подпрограммы (описания геометрической модели), после имени в скобках дается список передаваемых параметров.
Четвертый шаг. Система, генерирующая чертежи изделия ЩП, может быть отторгнута от системы SprutCAD и подключена к общей системе проектирования асинхронного электродвигателя (рис. 7). Тогда параметры изделия будут задаваться извне в результате проектирования других объектов. Например, внутренний диаметр ступицы будет определяться размером из модели вала, а диаметр крепежных отверстий кронштейна — из модели станины.
Необходимо отметить, что представленная методика является открытой, то есть позволяет пополнять и редактировать библиотеку элементов посредством SprutCAD. Также имеется возможность описывать новые модули инженерных знаний и редактировать существующие.
Критики — приверженцы «электронных кульманов» могут возразить: «А зачем вообще создавать такую сложную модель изделия? Нам никогда не понадобятся все 99 тысяч вариантов. Гораздо легче начертить новый вариант изделия, если возникнет такая необходимость». На это можно возразить, что в течение многих десятилетий на предприятиях именно так и поступали: при получении нового заказа на проектирование группа конструкторов заново, уже в который раз, проектировала изделие и создавала новый комплект чертежей, на что уходило около месяца работы. А наша система уже содержит знания о детали, и для того, чтобы сгенерировать комплект чертежей, потребуется пятнадцать минут рабочего времени.
Подробнее о том, каким образом создается сама система, мы расскажем в одном из следующих номеров журнала.
«САПР и графика» 12'2001