УДК 658.512, 004.942
АВТОМАТИЗИРОВАННОЕ ПРОЕКТИРОВАНИЕ ЭЛЕКТРОННЫХ МАКЕТОВ ЭЛЕМЕНТОВ СБОРОЧНОЙ ОСНАСТКИ ПОСРЕДСТВАМ ПРОГРАММНОГО МОДУЛЯ NX/OPEN API
© 2013 М.В. Лаврентьева, Х.В. Чьен
Национальный исследовательский Иркутский государственный технический университет
Поступила в редакцию 15.11.2013
Широкое распространение CAD/CAE систем при решении большинства конструкторских и технологических задач дает возможность для развития систем автоматизированных проектирования. В данной статье описываются два метода автоматизации проектирования сборочной оснастки с использованием средств NX: Siemens PLM Software, NX/Open API. Применение подобной системы позволяет оптимизировать трудовые затраты инженера.
Ключевые слова: автоматизация, сборочная оснастка, CAD/CAE системы, технологическая подготовка производства, NX/Open API
Технологической подготовке сборки самолета всегда уделялось наибольшее внимание ввиду ряда факторов:
- окончательная точность самолета напрямую зависит от качества выполнения сборочных процессов;
- наличие большого числа и разнообразие типов сборочных приспособлений;
- небольшой процент автоматизации при сборке планера самолета и технологической подготовке сборочного производства;
Разработка системы автоматизированного проектирования (САПР) сборочных приспособлений позволяет сократить время, затрачиваемое инженером-конструктором на разработку сборочной оснастки в разы, так как практически вся проектная часть будет записана в программном коде и станет требовать от пользователя лишь указания базовых плоскостей, осей, а также габаритных размеров каждого элемента сборочного приспособления. Автоматизация проектно-конструкторских работ является процессом достаточно сложным, так как требует владения не только инженерными знаниями, но и навыка программирования, притом программирования не в чистом виде, а с использованием средств NX: Siemens PLM Software, точнее один из его программных модулей NX/Open API (Application Program Interface), имеющий в своем арсенале Program Interface), имеющий в своем арсенале
Лаврентьева Мария Вячеславовна, аспирантка. Email: [email protected]
Ха Ван Чьен, аспирант. E-mail: [email protected]
- доступ к объектам геометрической модели для программных приложений разработчиков или программ отдельных пользователей;
- возможность программным способом создавать геометрические модели, получать информацию об объектах, формировать сборки, генерировать чертежную документацию и т.д.
Основная цель разработки САПР заключается в создании программного продукта, способного самостоятельно создавать электронный макет сборочного приспособления, в идеале без участия, но под контролем конструктора. В данной работе будут рассмотрены два метода автоматизированного проектирования на примере простой прямоугольной рамы и нестандартной опоры сборочного приспособления.
Первый метод представляет собой процесс, полностью повторяющий традиционное проектирование рамы, написанный на языке С++. Рама сборочного приспособления относится к группе несущих элементов сборочного приспособления (СП), образующих его каркас. Как правило, рама состоит из балок, каждая балка представляет два сваренных между собой швеллера либо трубу квадратного сечения. Для начала работы необходимо выделить элементы КЭМ, используемые для создания рамы, которые должен в обязательном порядке иметь файл сборки: плоскость симметрии рамы (datum plane); горизонтальная плоскость рамы (datum plane); поперечная плоскость рамы (datum plane); продольная ось рамы (datum axis); вертикальная ось рамы (datum axis); поперечная ось рамы (datum
axis). Наличие данных базовых элементов, имитирующих систему координат самолета, обеспечивает необходимое положение рамы в пространстве. Все перерасчеты координат система должна производить относительно этой СК. Таким образом, выявив все необходимые составляющие, можно приступить к построению.
Первоначально система строит эскиз, используя лишь габаритные размеры рамы, вводимые пользователем. Каждая линия такого эскиза будет являться осью симметрии сечения отдельной балки (рис. 1а и 1б).
/** Создание эскиза */
theSession-5-Prefегепсез {> -»Sketch() ->SetCreateInferredCon3traint3 (true) ; theSession-»Prefегепсез{)-»Sketch()-»SetCont inuousAut оDimens i oning(false);
theSession->Preferences{>-»Sketch()->SetDimensionLabel(Preferences : : SketchPreferences :¡DimensiohLabelTypeExpression); theSe53ion->Preferences{)->Sketch()->SetTe.stSizeFiaed{true) ;
cheSession->Prefегепсез{)-»Sketch ()-»SetFisedTeatSize(4.0); L
theSession->Prefегепсез{)-»Sketch О->SetDisplayObjectColor(false);
Sketch *nullSfcetch(HULL);
Ske tchlnPlaceBuilde г * з ke с chlnPlaceBuilde г;
sketchlnPlaceBuilder - workPart-»Sketches ()->Create№wSketchInPlaceBuilder(nullSketch) ; зке tchlnPlaceBuilde r->S etCre aceInt e rmedi at eDanumCs уз(false); sketchInPlaceBuilder-»SetMakeOriginAssociative(false)t
DatumPlane *datiuoPlane = framePlane;
sketchlnPlaceBuilder->PlaneOrFace()->SetValue(datumPlane)t
sketchlnPlaceBuilder-»Axis{)->SetValue(dynami c_cast<DatumAxiз *>(bases[3])); 3ketchInPlaceBuilder-»SetReverseAxis(false);
ske tch= (dynami c_cas t<Sketch * » ( s ke t chlnPl aceBui lde r-XTonmiC ())).-
Fe ature s : : Fe acute * зке t chFeature; sketchFeature = sketch-»Feature(); sketch-»Activate(Sketch::ViewReorientFalse); 3ketchInPlaceBuilder-»Destroy {)."
a)
Рис. 1. Процесс создания эскиза сборочного приспособления: а - программный код построения эскиза, б - эскиз рамы сборочного приспособления
По существующему эскизу расставляются эскизы сечения балки, созданные аналогично эскизу рамы, все размеры сечений заложены в базе данных, что позволяет системе самой выбирать нужное нужный типоразмер балки, отталкиваясь от заданных конструктором значений. По окончании осуществляется операция «вытягивания», эскизы сечения протягиваются по эскизу рамы (рис. 2, 3).
Второй метод приведен на примере нестандартной опоры, не имеющей размерного ряда, который мог быть заложены в базу данных. Конструкция опоры остается неизменной, в связи с чем для ее программного написания наиболее рациональным решением будет применение метод «клонирования». Это позволяет,
используя одну разработанную в соответствии со всеми предъявляемыми предприятием требованиями модель (рис. 4), копировать ее в рабочую папку конструктора с заданными им габаритными размерами. Все зависимости (связи) между элементами опоры задаются в ЫХ рис. 5, а сам процесс клонирования записан в программном коде (рис. 6). Такой подход является универсальным, поскольку позволяет работать с любыми элементами конструкции при условии, что все возможные связи будут заданы непосредственно в физическом файле ЫХ. Однако таким образом можно работать лишь с типовыми моделями, чья конструкция не требует изменения или доработки.
sed: :veccoixinoReverseDir;// по cjrrai квгщ>атной тщбы ощну$еляет с какой ctojíohej от линии б^ег посг^оеш1я (bhjttjjm switch (fEaine->frame_type) // тип рдт-ты, швеллер; или квадрат
Refs [0]=sJcetchLine [О] ; Ref3[l]=sketcIiLine [О] ; Refs[2]=this->bases[51; Refs[3]=this->bases[21 ; ReverseDir.resize{1); ReverseDir[0] =2,-
mCreateProfile(2,Refs,ReverseDir,offsetbufM,*0W); ReverseDir [0 ] =1,-
mCreateProfile{2,Refs,ReverseDir,offset bufM,"0");
Refs[G]=sketchLine[1]; Refs [1]=sketchLine [1] ; Refs [2]=this->bases[5] Refs[3]=this->bases[21.-ReverseDir.resize(1): ReverseDir [0 ] =2,-
mCreatePrafile{2,Refs,ReverseDir,offset bufM,offsetV) ReverseDir[0]=lr
mCreateProfile(2,Refs,ReverseDir,offsetbufH,offsetV)
Refs[0]=sketcbLine[2]; Refs[l]=sketchLine[2]; Refs[2]=this->bases[51; Refs[3]=this->bases [21 ; ReverseDir.resize{1); ReverseDir [0 ] =2r-
mCreateProfile{2,Refs,ReverseDir,offset_bufM,offsetV) ReverseDir [01 =1,-_
Рис. 2. Построение рамы сборочного приспособления
S::ASSV::FrameBuilder
»1 CreateSketchQ
std: : vector<NXOb:ject*>Refs {3) :
í
сазе 0 :
Рис. 3. Рама сборочного приспособления
V
Рис. 4. Модель нестандартной опоры
Список выражений в
|ВС= И. hl
Имя Формула * Значе... Един... Тип Коммента... Проверки
Ь (5КЕТСН_000:Эскиз(3) Горизонтальный разм,,. b_otv+2*b_otst 2600 мм Число
р614 (5КЕТСН_003:Эскиз[35} Горизонтальный... Ь_рг 180 мм Число
р701 (SKETCH_005:3ckh3(57) Горизонтальный... Ь_рг 180 мм Число
р709 (SKETCH_006:3ckh3(59) Горизонтальный... Ь_рг 180 мм Число
al [Простое отверстие{25} Вертикальный раз... Ь_рг/2 90 мм Число
Ь1 (5КЕТСН_000:Эскиз(3) Горизонтальный раз... Ь_рг/2 90 мм Число
р54б (Вытягивание[28) End Limit} Ьрг/2-10 100 мм Число
D_gor [Простое отверстие[61} Diameter) d 17 мм Число
а (5КЕТСН_000:Эскиз(3) Вертикальный размер ... h-h-120 -120 мм Число
hi (5КЕТСН_000:Эскиз(3} Вертикальный разме... h-h-500 -500 мм Число 1
h_pr (SfCETCH_000:3cKra{3) Перпендикулярны... if[b_pr= =50)32... 70 мм Число
ч 1 1» .1 ►
Рис. 5. Задание связей в системе NX
|ая oimactb) -
□void ST0318::CloneBuilder:¡Clone{Product 'product,const char *assy) {
UF_initialize{): char аззуЫате[255^1];
UF_CLOHE_set_def_action (UF_CLOHE_clone) ;
UF_CLOHE_set_def_directory [BXSpplication: :proiectData->GetProiectDir{> . c_atc{) > ; UF_CLOHE_set_def_naming [UF_CLOHE_user_name) ; UF_CLOHE_set_famil?_treatment [UF_CLOHE_treat_as_lost> r
UFCAIi [UF_CLOHE_initiali3e {/*UFCLOHE_edit_operation*/CF_CLOHE_clone_ope ration} } UFPARTloadstatust loadstatus.-
UF_CfiIi £UF_CLOHE_add_assembly (assy, 41oad_status) )
if(load_3taCu3.failed)
I
string fileName=this->component-5GetPraduct О-SGetPratatvpePartMame О . c_3tr{) for(int i=Or i<load_status.n_parts; ++i) I
if [fileName = stringtloadstatus.filenames[il) ) return;
)
>
char *oldlTame;
UF_CLOHE_part_state_t stater 3td: :vector<string>Co]iiplete,"
UF_CLOHE_start_iterationO ."
do {
UFCAIi [UFCLOMEiterate {ioldUame) ) :
if (oldHame) {
UF_CLOHE_a3t_part_3tat;e (oldHame, K3tate ) r-if {3tate=UF_CLOHE_present_state) I
Complete.push_bac]t:{oldlJame) r
>
else
Рис. 6. Реализация метода клонирования
Для того чтобы обеспечить изменение пространственного положения, как рамы, так и опоры, задаются данные о матрицах расположения каждого элемента СП в формате 4х4, что дает возможность базировать один элемент относительно другого. Таким образом, система, в коде опоры имея ссылку на матрицу рамы (рис. 7), перемножает ее с матрицей опоры, получая в результате матрицу со значениями, определяющими конечное положение опоры относительно рамы с соответствующим знаком.
Выводы: автоматизация процесса проектирования не только ускорит работу конструктора, но и унифицировать процесс проектирования сборочной оснастки. Помимо этого, все расчеты и построение будут проводиться машиной, что исключает возможность ошибок из-за так называемого человеческого фактора.
/** Рана */
Frame* Frame=new FrameQr" Fr ame ^Common1 Ii 1:. () ;
Component* componentFrame=new Component (NULL, Frame) : Matrix4ti mat rix ; mat rix« 0,0,1,0, 1,0,0,0, 0,1,0,0, 50,100,300,1,-component Frame - >S e tLo cat ion {mat rix) ,-
Рис. 7. Определение пространственного положения рамы
Представленная в рамках данной статьи работа проводится при финансовой поддержке правительства Российской Федерации (Минобрнауки России) по комплексному проекту 2012-218-03-120 «Автоматизация и повышение эффективности процессов изготовления и подготовки производства изделий авиатехники нового поколения на базе Научно-производственной корпорации «Иркут» с научным сопровождением Иркутского государственного
технического университета» согласно постановлению Правительства Российской Федерации от 9 апреля 2010 г. №218.
СПИСОК ЛИТЕРАТУРЫ:
1. Ахатов, РХ. Выбор опорных базовых точек при определении схемы базировании сборочной единицы / Р.Х. Ахатов, Х.В. Чьен // Вестник МАИ. 2013. Том 20. №3. С. 110-118.
2. Григорьев, В.П. Приспособления для сборки узлов и агрегатов самолетов и вертолетов /
В.П. Григорьев, Ш.Ф. Ганиханов - М.: Машиностроение, 1977. 138 с.
3. Камаев, ВА. Технология программирования / ВА. Камаев, В.В. Костерин - М.: Высшая школа, 2005. 360 с.
4. Краснов, М. Unigraphics для профессионалов / М. Краснов, Ю. Чигишев - М.: Издательство «Лори», 2004. 274 с.
5. Официальный сайт компании Siemens PLM Software (UGS) [Электронный ресурс] - Режим доступа: http://www.plm.automation.siemens.com.
AUTOMATED ELECTRONIC MODELS OF ELEMENTS OF ASSEMBLY EQUIPMENT BY MEANS OF THE PROGRAM
NX/OPEN API MODULE
© 2013 M.V. Lavrentyeva, H.V. Chyen National Research Irkutsk State Technical University
The wide spread occurance of CAD/CAE systems at solution the majority of design and technological tasks gives the chance for development the systems of automated design. In this article two methods of automation the design of assembly equipment with use of NX means are described: Siemens PLM Software, NX/Open API. Use of similar system allows to optimize the labor costs of engineer.
Key words: automation, assembly equipment, CAD/CAE system, technological preparation of production, NX/Open API
Лаврентьева Мария Вячеславовна, аспирантка. E-mail: mira. amazon@gmail. com Ха Ван Чьен, аспирант. E-mail: [email protected]