你好,欢迎来到UG二次开发专业技术交流论坛! 会员登录 | 快速注册 | 忘记密码?
UG二次开发最新技术资料
  • 有知道SNAP中SCALE缩放体命令的不

    发布者:s100881898 查看次数:9 评论条数:0 发布时间:2018-12-14
    有知道SNAP中SCALE缩放体命令的不,只找到一个无参的函数。有参的SCALE命令有人知道不。
  • 关于NX做CAM的二次开发

    发布者:wguitar 查看次数:217 评论条数:0 发布时间:2018-11-19
    有没有小伙伴做CAM二次开发的?目前可以利用录制函数功能,实现一个平面路径的生成,但,路径并非完全符合要求。有没有小伙伴能够利用API函数,生成刀具路径,采用C++语言的。求助大神。万分感谢
  • 求助!UG open c 外部模式求大神指导~!

    发布者:deawin 查看次数:110 评论条数:0 发布时间:2018-11-14
    想导出jpg格式的图片,正三轴测图左视图俯视图UF_DISP_create_image只能用在内部模式宏文件调用也是在内部模式不知道日志可以用么?想问下群里有大神知道嘛?求指点!!!
  • 点击查看GRIP全套视频教程
  • GRX文件制作为工具条图标

    发布者:misterdog 查看次数:262 评论条数:0 发布时间:2018-10-22
    看了教程,但是我用的是UG11.0,定制菜单里并没有加载选项,求解答。
  • UG API 求助 写或者改一个转化prt为parasolid后者igs的程序

    发布者:znl515901 查看次数:233 评论条数:1 发布时间:2018-10-17
    工作中遇到问题需要写一个把prt格式转化成x_t或者igs格式的程序,模型中包含有片体,网上找到的程序不能包含片体,求助大神int  prt_save_as_xt(tag_tbody_tag,stringps){    //没有后缀名时,加上后缀名    if(std::string::npos==ps.find(".x_t"))        ps+=".x_t";    //引用代码:Ug2Ansys.cpp  李响,中国地质大学(北京)2006.12.31    uf_list_p_tbody_list;    //获得装配树根事例root_part_occ,当函数返回NULL_TAG时,表明当前部件文件中没有装配(即单个部件)    tag_troot_part_occ=UF_ASSEM_ask_root_part_occ(body_tag);    VISUALSAN_NUAA_202_RUN(UF_MODL_create_list(&body_list));    //如果是单个部件    if(root_part_occ==NULL_TAG)    {        tag_tobject=NULL_TAG;        intUF_body_type;        inttype;        intsubtype;        do{            VISUALSAN_NUAA_202_RUN(                UF_OBJ_cycle_objs_in_part(body_tag,UF_solid_type,&object)                );            if(object!=NULL_TAG)            {                VISUALSAN_NUAA_202_RUN(                    UF_OBJ_ask_type_and_subtype(object,&type,&subtype)                    );                VISUALSAN_NUAA_202_RUN(                    UF_MODL_ask_body_type(object,&UF_body_type)                    );                if(subtype!=UF_solid_body_subtype)                    continue;                if(UF_body_type==UF_MODL_SOLID_BODY)                {                    VISUALSAN_NUAA_202_RUN(                        UF_MODL_put_list_item(body_list,object)                        );                    break;                }            }        }while(1);    }    //如果是装配体    else    {        tag_tobj=UF_ASSEM_ask_prototype_of_occ(root_part_occ);        tag_tobject=NULL_TAG;        intUF_body_type;        inttype;        intsubtype;        do        {            VISUALSAN_NUAA_202_RUN(                UF_OBJ_cycle_objs_in_part(body_tag,UF_solid_type,&object));            if(object!=NULL_TAG)            {                VISUALSAN_NUAA_202_RUN(                    UF_OBJ_ask_type_and_subtype(object,&type,&subtype));                //判断body是否是一个Solid或Sheet                VISUALSAN_NUAA_202_RUN(                    UF_MODL_ask_body_type(object,&UF_body_type));                if(subtype!=UF_solid_body_subtype)                    continue;                if(UF_body_type==UF_MODL_SOLID_BODY)                {                    //将对象加入到链表的尾部                    VISUALSAN_NUAA_202_RUN(                        UF_MODL_put_list_item(body_list,object));                }            }            else            {                break;            }        }while(1);    }    //如果文件存在,先删除    remove(ps.c_str());    //创建Parasolid文件    VISUALSAN_NUAA_202_RUN(        UF_PS_export_data(body_list,  (char*)ps.c_str()));    //删除链表    VISUALSAN_NUAA_202_RUN(        UF_MODL_delete_list(&body_list));    return0;}
  • UG判断当前窗口显示的模型是否是指定的PART模型

    发布者:nxopen 查看次数:367 评论条数:0 发布时间:2018-9-5
    UG判断当前模型是否是指定的模型,如果不是打开该模型,或者已经打开了该模型,切换到该模型的窗口比如:当前UG打开了C:\1.PRT文件,然后你需要判断当前是不是打开的C:\2.PRT这个文件,如果不是自己用UG打开C:\2.PRT,如果UG之前已经打开过了C:\2.PRT,那么将C:\2.PRT作为显示部件以下为逻辑实现代码:引用或者代码://要判断的模型文件,自行通过变量传递char*partNamePath="C:\\1.prt"; tag_tdisplayTag=UF_PART_ask_display_part(); //获得当前UG显示部件TAGcharpart_fspec[MAX_FSPEC_SIZE+1];UF_PART_ask_part_name(displayTag,part_fspec); //获得当前显示部件的名称 if(stricmp(partNamePath,part_fspec)!=0) //判断两个路径是否相等,不相等就不等于0{ //进一步判断内存是否已经存在指定的模型 intnum_parts=UF_PART_ask_num_parts(); //获得当前对话框加载的part数量 boolisBool=false; //先定义内存未加载 if(num_parts>1) { for(inti=0;i<num_parts;i++) { tag_ttempPart=UF_PART_ask_nth_part(i);//得到以加载的第i个part if(tempPart!=NULL_TAG) { chartemp_part_fspec[MAX_FSPEC_SIZE+1]; UF_PART_ask_part_name(tempPart,temp_part_fspec);//获得part名称 if(stricmp(partNamePath,temp_part_fspec)==0) //判断两个路径是否相等 { //如果相等表明内存已经加载,直接设为显示部件,然后结束循环 UF_PART_set_display_part(tempPart); } } } } if(!isBool) { //直接打开指定的模型文件,并设为显示部件 tag_tpart=NULL_TAG; UF_PART_load_status_terror_status; UF_PART_open(partNamePath,&part,&error_status); UF_PART_set_display_part(part); UF_PART_free_load_status(&error_status); }}
  • NXOpen选择对象selection控件代码设置过滤类型函数

    发布者:nxopen 查看次数:410 评论条数:1 发布时间:2018-9-5
    //selection控件设置过滤类型void  SetSelectionType(NXOpen::BlockStyler::SelectObject*selectionID){ //设置过滤 Selection::SelectionActionaction=Selection::SelectionActionClearAndEnableSpecific; std::vector<Selection::MaskTriple>maskArray; //maskArray.push_back(Selection::MaskTriple(UF_solid_type,UF_solid_body_subtype,UF_UI_SEL_FEATURE_SOLID_BODY));//实体 //maskArray.push_back(Selection::MaskTriple(UF_solid_type,UF_all_subtype,UF_UI_SEL_FEATURE_ANY_FACE));//面 maskArray.push_back(Selection::MaskTriple(UF_solid_type,UF_all_subtype,UF_UI_SEL_FEATURE_PLANAR_FACE));//平面 //maskArray.push_back(Selection::MaskTriple(UF_solid_type,UF_all_subtype,UF_UI_SEL_FEATURE_ANY_EDGE));//边 //maskArray.push_back(Selection::MaskTriple(UF_component_type,0,0));  //组件 //maskArray.push_back(Selection::MaskTriple(UF_point_type,0,0));   //maskArray.push_back(Selection::MaskTriple(UF_line_type,0,0));  //线 //maskArray.push_back(Selection::MaskTriple(UF_circle_type,0,0));  //圆弧 //maskArray.push_back(Selection::MaskTriple(UF_spline_type,0,0));   //maskArray.push_back(Selection::MaskTriple(UF_coordinate_system_type,0,0));   //maskArray.push_back(Selection::MaskTriple(UF_datum_axis_type,0,0));   //maskArray.push_back(Selection::MaskTriple(UF_datum_plane_type,0,0));   //maskArray.push_back(Selection::MaskTriple(UF_plane_type,0,0));   //maskArray.push_back(Selection::MaskTriple(UF_axis_type,0,0));   //maskArray.push_back(Selection::MaskTriple(UF_drafting_entity_type,0,0));  //制图对象 }
  • 点击查看VIP会员特权
  • 设置背景色

    发布者:leader_dd 查看次数:624 评论条数:6 发布时间:2018-7-18
    想通过UF_DISP_set_color函数快速调整背景色。但设置完成后无效。不知道哪里出的问题。代码如下:doubleclr_values[3];clr_values[0]=255.0;clr_values[1]=255.0;clr_values[2]=255.0;UF_DISP_set_color(UF_DISP_BACKGROUND_COLOR,UF_DISP_rgb_model,NULL,clr_values);UF_DISP_load_color_table();请高手帮忙解答。
  • 获取对象指定名称属性功能函数代码

    发布者:nxopen 查看次数:557 评论条数:3 发布时间:2018-7-12
    //获取对象指定名称属性函数代码voidATTR_ask_obj_attrib(tag_tobj_tag,char*name,char*value,CString&valueCstring){ UF_ATTR_value_tdata; strcpy(value,""); if(obj_tag==NULL_TAG) return; UF_ATTR_read_value(obj_tag,name,UF_ATTR_any,&data); if(data.type==UF_ATTR_string) { } else { strcpy(value,""); } chartemp[1024]; sprintf(temp,"%s",value); CStringcsByChar(temp); valueCstring=csByChar; }
  • 实例化组件功能函数

    发布者:nxopen 查看次数:455 评论条数:2 发布时间:2018-7-12
    //实例化组件功能函数voidInstantiationPart(tag_tworkpart,char*partName,tag_t&oInsPartFrom){ if(workpart==NULL_TAG) { //("errimportpart!"); return; } charsRefsetsName[30+1]=""; charsInstanceName[30+1]=""; doubleadOrigin[3]={0,0,0}; doubleadCsysMatrix[6]={1,0,0,0,1,0}; intiLayerNum; UF_CALL(UF_LAYER_ask_work_layer(&iLayerNum)); UF_PART_load_status_tload_status; if(oInsPartFrom==NULL_TAG) { //("当前没有匹配模型"); return; } UF_free_string_array(load_status.n_parts,load_status.file_names);}
  • 创建坐标系函数代码

    发布者:nxopen 查看次数:458 评论条数:0 发布时间:2018-7-12
    //创建坐标系函数代码tag_tCreateCsys(doubleorg[3],doublemtx[9]){ tag_tmtx_tag; tag_tdispTag; tag_tworkTag; tag_tcsysTag; workTag=UF_ASSEM_ask_work_part(); dispTag=UF_PART_ask_display_part(); if(dispTag!=workTag) { UF_ASSEM_set_work_part(dispTag); } mtx_tag=NULL_TAG; UF_CSYS_create_csys(org,mtx_tag,&csysTag); if(csysTag!=NULL_TAG) UF_CSYS_set_wcs(csysTag); if(dispTag!=workTag) { UF_ASSEM_set_work_part(workTag); } returncsysTag;}
  • 点击查看SNAP技术资料
  • WGM下载模型到本地工作区功能代码,从Windchill下载模型到本地

    发布者:nxopen 查看次数:313 评论条数:2 发布时间:2018-7-12
    //WGM下载模型到本地工作区功能代码,从Windchill下载模型到本地//代码如有不明白可联系qq85585969stringToolPath=HuBase::GetFolderPath("1");stringstrConfigPath=ToolPath+"Config\\tempCS\\partName.txt";stringstrWGMpath=ToolPath+"application\\WGM\\WGMHelper.exe";vector<string>vecTextStrs;HuBase::ReadTextStrs(strConfigPath,1,vecTextStrs);for(inti=0;i<vecTextStrs.size();i++){ stringpartnamestr=HuBase::trim(vecTextStrs[i]); HuBase::print(partnamestr); charszSysPath[1024]; strcpy(szSysPath,""); strcat(szSysPath,strWGMpath.c_str()); DWORDdwTimeout=3600000;//1小时 SHELLEXECUTEINFOShExecInfo={0}; ShExecInfo.cbSize=sizeof(SHELLEXECUTEINFO); ShExecInfo.lpDirectory=NULL; ShExecInfo.nShow=SW_HIDE; ShExecInfo.hInstApp=NULL; ShellExecuteEx(&ShExecInfo); DWORDdwRet=WaitForSingleObject(ShExecInfo.hProcess,dwTimeout);}
  • UG NX 移动CSYS基准坐标系的距离功能函数代码

    发布者:nxopen 查看次数:452 评论条数:0 发布时间:2018-7-12
    //移动基准坐标系距离函数代码Session*theSession=Session::GetSession();Part*workPart(theSession->Parts()->Work());Part*displayPart(theSession->Parts()->Display());tag_tcsysFeatTag=39647;//要移动的坐标系的特征TAGFeatures::DatumCsys*datumCsys1(dynamic_cast<Features::DatumCsys*>(NXObjectManager::Get(csysFeatTag)));datumCsys1->MakeCurrentFeature();CartesianCoordinateSystem*cartesianCoordinateSystem1;cartesianCoordinateSystem1=workPart->CoordinateSystems()->CreateCoordinateSystem(xform1,SmartObject::UpdateOptionWithinModeling);  datumCsysBuilder1->SetCsys(cartesianCoordinateSystem1);datumCsysBuilder1->SetDisplayScaleFactor(1.25);//设置比例NXObject*nXObject1;nXObject1=datumCsysBuilder1->Commit();datumCsysBuilder1->Destroy();UF_MODL_update();//更新
  • NXOpen设置组件精确显示和引用集为(Entire Part)功能函数

    发布者:nxopen 查看次数:380 评论条数:1 发布时间:2018-7-12
    很多时候,在我们需要对组件内的几何对象进行操作,比如坐标系约束操作,需要先将组件设置为精确显示,并将引用集设置为全部组件,因为大部分组件默认是使用模型的引用集,而坐标系默认不是在模型的引用集内,这时候对这个坐标系进行约束就可能找不到而报错。//设置组件精确显示和引用集函数代码intSetComponentExactandRef(Assemblies::Component*component){ if(component->Parent()==NULL) { return-1; } //设置精确显示 std::vector<Assemblies::Component*>setExactcomponents(1); setExactcomponents[0]=component; ErrorList*errorList1=component->Parent()->DisplayComponentsExact(setExactcomponents);        //设置引用集 return0;}
  • 伟创力-世界500强--招聘高级UG二次开发工程师

    发布者:Flex 查看次数:754 评论条数:5 发布时间:2018-7-9
    广大的UG爱好者真的很抱歉,公司目前在招聘高级UG二次开发工程师,但是在各大网站,很难找到各位大神的信息。所以我们就只能在这儿向各位发出求助和邀请了。如果您或者您朋友有兴趣的,可以直接联系我Rainbow.zhu@flex.com.工作地点:深圳宝安区黄田吉祥工业园工作时间:正常5天8小时制,周六加班转调休,如果有需要就加班,不需要就不加公司提供吃住,但是如果不住,有补贴。公司提供季度奖和年终奖工资范围:10-15k岗位职责:1,负责UG软件的二次开发2,使用UG建模、装配、制图、加工、注塑模向3,开发方便快捷合适的二次开发功能岗位要求:1.大专及以上学历,3年以上工作经验;2.有模具设计经验和NX二次开发经验3.熟练掌握C#,C++,等;4.熟练SQL数据库;5.有自动化设备程序设计经验优先
NX二次开发热门资料
点击查看VIP会员特权
技术帖子评论排行
最新评论技术帖子