Автоматизированное проектирование электронных макетов элементов сборочной оснастки посредствам программного модуля NX/ Open API

Автор: Лаврентьева Мария Вячеславовна, Чьен Ха Ван

Журнал: Известия Самарского научного центра Российской академии наук @izvestiya-ssc

Статья в выпуске: 6-2 т.15, 2013 года.

Бесплатный доступ

Широкое распространение CAD/CAE систем при решении большинства конструкторских и технологических задач дает возможность для развития систем автоматизированных проектирования. В данной статье описываются два метода автоматизации проектирования сборочной оснастки с использованием средств NX: Siemens PLM Software, NX/Open API. Применение подобной системы позволяет оптимизировать трудовые затраты инженера.

Автоматизация, сборочная оснастка, cad/cae системы, технологическая подготовка производства

Короткий адрес: https://sciup.org/148202556

IDR: 148202556

Текст научной статьи Автоматизированное проектирование электронных макетов элементов сборочной оснастки посредствам программного модуля NX/ Open API

Технологической подготовке сборки само- - доступ к объектам геометрической модели для

лета всегда уделялось наибольшее внимание ввиду ряда факторов:

  • -    окончательная точность самолета напрямую зависит от качества выполнения сборочных процессов;

  • -    наличие большого числа и разнообразие типов сборочных приспособлений;

  • -    небольшой процент автоматизации при сборке планера самолета и технологической подготовке сборочного производства;

Разработка системы автоматизированного проектирования (САПР) сборочных приспособлений позволяет сократить время, затрачиваемое инженером-конструктором на разработку сборочной оснастки в разы, так как практически вся проектная часть будет записана в программном коде и станет требовать от пользователя лишь указания базовых плоскостей, осей, а также габаритных размеров каждого элемента сборочного приспособления. Автоматизация проектноконструкторских работ является процессом достаточно сложным, так как требует владения не только инженерными знаниями, но и навыка программирования, притом программирования не в чистом виде, а с использованием средств NX: Siemens PLM Software, точнее один из его программных модулей NX/Open API (Application Program Interface), имеющий в своем арсенале Program Interface), имеющий в своем арсенале

программных приложений разработчиков или программ отдельных пользователей;

  • -    возможность программным способом создавать геометрические модели, получать информацию об объектах, формировать сборки, генерировать чертежную документацию и т.д.

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

Первый метод представляет собой процесс, полностью повторяющий традиционное проектирование рамы, написанный на языке С++. Рама сборочного приспособления относится к группе несущих элементов сборочного приспособления (СП), образующих его каркас. Как правило, рама состоит из балок, каждая балка представляет два сваренных между собой швеллера либо трубу квадратного сечения. Для начала работы необходимо выделить элементы КЭМ, используемые для создания рамы, которые должен в обязательном порядке иметь файл сборки: плоскость симметрии рамы (datum plane); горизонтальная плоскость рамы (datum plane); поперечная плоскость рамы (datum plane); продольная ось рамы (datum axis); вертикальная ось рамы (datum axis); поперечная ось рамы (datum axis). Наличие данных базовых элементов, имитирующих систему координат самолета, обеспечивает необходимое положение рамы в пространстве. Все перерасчеты координат система должна производить относительно этой СК. Таким образом, выявив все необходимые составляющие, можно приступить к построению.

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

/** Создание эскиза */                                                                                                     .

theSession->Pref erences () ->Sketch()->SetCreateInferredConstraints (true) ,■ theSession->Breferences()->Sketch()->SetContinuousAutQDimensioning(false);

theSession->Preferences () ->Sketch() ->SetDiiiensionLabel (Preferences: : Sketchpreferences : :DimensionLabelTypeExpression);

theSesslon->Preferences()->Sketch()->SetTestSizeFlxed(true);

theSession->Pref erences () ->Sketch()-5-SetFisedTextSize (4.0),-                                                             L theSession->Breferences()->Sketch()->SetDisplayObjectColor(false);

S ketch *nul1Ske tch(NULL);

S ketchInP1aceBuiIder * ske tchlnPlace BuiIder;

sketchlnPlaceBuiIder = workPart->Sketches()->CreateKewSketchInPlaceBuilder(nullSketch);

sketchInPlaceBuilder->SetCreateIntennediateDatumCsys(false);

sketchInPlaceBuilder->SetMakeOriglnAssoclative(false);

DatumPlane *daturaPlane = framePlane,- sketchlnPlaceBuiIder->PlaneOrFace()->SetValue(datumPlane);

sketchlnPlaceBuiIder->Axis()->SetValue(dynamlc_cast(bases[3])) ;

sketchlnPlaceBuiIder->SetReverseAxis(false);

sketch=(dynamic_cast(sketchInPlaceBuilder->Coimiiit {))) ;

Features::Feature *sketchFeature;

sketchFeature = sketch->Feature();

sketch->Activate(Sketch::ViewReorlencFalse);

sketchInPlaceBuilder->Destroy();

а)

б)

Рис. 1. Процесс создания эскиза сборочного приспособления:

а – программный код построения эскиза, б – эскиз рамы сборочного приспособления

По существующему эскизу расставляются эскизы сечения балки, созданные аналогично эскизу рамы, все размеры сечений заложены в базе данных, что позволяет системе самой выбирать нужное нужный типоразмер балки, отталкиваясь от заданных конструктором значений. По окончании осуществляется операция «вытягивания», эскизы сечения протягиваются по эскизу рамы (рис. 2, 3).

Второй метод приведен на примере нестандартной опоры, не имеющей размерного ряда, который мог быть заложены в базу данных. Конструкция опоры остается неизменной, в связи с чем для ее программного написания наиболее рациональным решением будет применение метод «клонирования». Это позволяет, используя одну разработанную в соответствии со всеми предъявляемыми предприятием требованиями модель (рис. 4), копировать ее в рабочую папку конструктора с заданными им габаритными размерами. Все зависимости (связи) между элементами опоры задаются в NX рис. 5, а сам процесс клонирования записан в программном коде (рис. 6). Такой подход является универсальным, поскольку позволяет работать с любыми элементами конструкции при условии, что все возможные связи будут заданы непосредственно в физическом файле NX. Однако таким образом можно работать лишь с типовыми моделями, чья конструкция не требует изменения или доработки.

std: :veccorRef3 (3) ;

std::vectorReverseDir;// по сути для квадратной трубы определяет с какой стороны от линии будет построения (внутри switch [ frame->franietype) // тип рамы, швеллер ига квадрат { сазе 0:

Refs[0]=3ketchLine[О J;

Refs[l]=sketchLine[OI;

Refs [2]=this->bases [5] ;

Refs[3]=this->bases[2];

ReverseDir[0]=2;

mCreateProfile(2,Refs,ReverseDir,affset_bufM,"0w);

ReverseDir[O]=l:

mCreateProfile(2,Refs,ReverseDir,offset_bufM,"0w);

Refs[0]=3ketchLine[lI;

Refs[l]=sketchLine[1];

Refs[2]=this->bases[5];

Refs[3]=this->bases[2];

ReverseDir[0]=2;

mCreateProfile(2,Refs,ReverseDir,offsetbufM, offsetV):

ReverseDir[0]=1;

mCreateProfile(2,Refs, ReverseDir,offset_bufM,offsetV);

Refs[O]=sketchLine[2];

Re fs[1]=sket chLine[2]:

Refs[2]=this->bases[5];

Refs[3]=this->bases[2];

ReverseDir[0]=2;

mCreateProfile(2,Refs,ReverseDir,offset_bufM,offserV);

ReverseDir[0]=l;

Рис. 2. Построение рамы сборочного приспособления

Рис. 3. Рама сборочного приспособления

Рис. 4. Модель нестандартной опоры

Рис. 5. Задание связей в системе NX

1зя область}                                                                               ▼ 11___

□ void STO318::CLoneBuilder:iClone(Product *product,const char *assy) {

UF_initialize(); char assyName[255+1];

UF_CLONE_set_def_action(UF_CLONE_clone);

UF_CLONE_set_def_directory(NXApplication::projectData->GetProjectDirО.cstrО);

UF_CLONE_set_def naming (LF CLONE user name) ;

UF_CLONE_set_family_treatment (UFCLONEtreatas last) ;

OF_CALL (UFCLONEinitialise (/*UF_CLONE_edLt_operation*/UF_CLONE_clone_operation))

UF_PART_1 oad_status_t load_status;

char *oldName;

UFCLONE part state_t state; std: : vectorCQniplete;

UF_CLONE_start_iteration{) ; do {

UF_CALL (UF_CLONE_lterate (toldName) ) ; if (oldName) {

UF_CLOKE_asE_part_3tate(oldName, estate ) ; if (state=UF_CLONE_present_state) {

Complete.pushbact(oldName);

Рис. 6. Реализация метода клонирования

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

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

•     /** Рама */

Frame* Frame=new Frame ();

Frame-XZommonlnit () ;

Component* componentFrame=new Component (NULL, Frame) ;

Hatrix4d matrix;

matrix«0, 0,1,0,

1,0,0,0,

0,1,0,0,

50,100,300,1;

coinponentFrame->SetLocation (matrix) ;

Рис. 7. Определение пространственного положения рамы

Представленная в рамках данной статьи работа проводится при финансовой поддержке правительства Российской Федерации (Минобрнауки России) по комплексному проекту 2012-218-03-120 «Автоматизация и повышение эффективности процессов изготовления и подготовки производства изделий авиатехники нового поколения на базе Научнопроизводственной корпорации «Иркут» с научным сопровождением Иркутского государственного

технического университета» согласно постановлению Правительства Российской Федерации от 9 апреля 2010 г. №218.

Список литературы Автоматизированное проектирование электронных макетов элементов сборочной оснастки посредствам программного модуля NX/ Open API

  • Ахатов, Р.Х. Выбор опорных базовых точек при определении схемы базировании сборочной единицы/Р.Х. Ахатов, Х.В. Чьен//Вестник МАИ. 2013. Том 20. №3. С. 110-118.
  • Григорьев, В.П. Приспособления для сборки узлов и агрегатов самолетов и вертолетов/В.П. Григорьев, Ш.Ф. Ганиханов -М.: Машиностроение, 1977. 138 с.
  • Камаев, В.А. Технология программирования/В.А. Камаев, В.В. Костерин -М.: Высшая школа, 2005. 360 с.
  • Краснов, М. Unigraphics для профессионалов/М. Краснов, Ю. Чигишев -М.: Издательство «Лори», 2004. 274 с.
  • Официальный сайт компании Siemens PLM Software (UGS) [Электронный ресурс] -Режим доступа: http://www.plm.automation.siemens.com.
Статья научная