PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

PLM之家PLMHome-国产软件践行者

[资料] UG NX 二次开发 CAM 二次开发思路及过程

[复制链接]

2014-4-14 19:32:54 4034 1

admin 发表于 2014-4-14 11:26:27 |阅读模式

admin 楼主

2014-4-14 11:26:27

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x
1 W. ~6 ?, I6 @9 ?7 W+ t
UG NX 二次开发 CAM 二次开发思路及过程6 N4 S* X; j& c& T- j9 k

, ^# x6 {# }- A) F6 ]

4 Q/ u/ y3 p7 F3 O. B; O  `2 g/ Q1.  获取当前Session:Session *theSession = Session::GetSession();
; r; V! j/ E9 s% B5 H2.  创建文件或者打开的文件,可使用Session的方法或者直接使用UF_PART_ask_display_part()等;, W  f# Q: _! y% N; Q8 r+ Z
3.  创建CAM环境:    0 [* i) [3 a0 K# u7 X
        1)进入CAM模块,即创建CAMSession:theSession->CreateCamSession();  8 L! J5 v: \: t/ ?* o5 F
        2)初始化CAM,创建CAMSetup:CAM::CAMSetup *cAMSetup = workPart->CreateCamSetup("mill_planar");4 q1 J9 `0 t+ L2 e6 k
4.  创建刀具,程序、机床、方法(四个GROUP),以刀具为例(使用UF_CAM_create_tool方法也可以创建刀具):              1)取默认的刀具group的父group:           CAM::NCGroup*nCGroupP(dynamic_cast<CAM::NCGroup*>(cAMSetup->CAMGroupCollection()->FindObject("GENERIC_MACHINE")));                                  
8 L5 x$ n9 y9 e" I* r1 |      2)调用CAMGroupCollection的CreateTool方法创建刀具:         
  u4 C+ X# \; j2 |2 GCAM::NCGroup *nCGroupTool= cAMSetup->CAMGroupCollection()->CreateTool(nCGroupP, "mill_planar", "MILL",CAM::NCGroupCollection::UseDefaultNameFalse, "jorbinMIll");                                         
; _0 S. A$ o3 [  r     3)修改刀具参数,根据刀具的类型由对应的ToolBuilder修改刀具参数(这和UF函数和NXOpen混合开放思路一样,UF函数易于创建对象,NXOpen的Builder易于修改对象参数):        
% m3 T2 M/ W$ c7 Q+ e CAM::Tool *Milltool(dynamic_cast<CAM::Tool *>(nCGroupTool));
6 u4 U& q! F- L, n& v$ { CAM::MillToolBuilder *millToolBuilder = cAMSetup->CAMGroupCollection()->CreateMillToolBuilder(Milltool);        millToolBuilder->TlHeightBuilder()->SetValue(100.0);        millToolBuilder->TlDiameterBuilder()->SetValue(44.0);        NXObject *nXObject = millToolBuilder->Commit();        millToolBuilder->Destroy();4 {  {7 }2 r$ m" G- U' P
5. 创建操作:    ! j" a6 z4 h! d" n) u
1) 创建操作:% t6 W8 y2 |, o/ o4 h1 r4 F
CAM::Operation *operation = cAMSetup->CAMOperationCollection()->Create(nCGroup1, nCGroup2, nCGroup3, nCGroup4, "mill_planar", "FACE_MILLING_AREA", CAM::OperationCollection::UseDefaultNameFalse, "FACE_MILLING_AREA_JORBIN_GAO");   
1 Q; V- Q  Q( {6 T1 C5 o 2)修改参数,和修改刀具参数类似,通过对应的Builder完成:      ; ^/ }, R' R' W+ e. t0 l' r, X8 {
CAM::FaceMillingBuilder *faceMillingBuilder = cAMSetup->CAMOperationCollection()->CreateFaceMillingBuilder(operation);      faceMillingBuilder->FeedsBuilder()->FeedPerToothBuilder()->SetValue(10.0);      NXObject *nXOpObject = faceMillingBuilder->Commit();      faceMillingBuilder->Destroy(); ! y1 J, q, r7 u& w
1 D0 A6 V: t7 a. N
注意:; D: z6 `/ _! ?+ J9 v2 ^
1)操作过程通过设置适度的SetUndoMark()和DeleteUndoMark()保证程序的健壮性。            2)dynamic_cast强制转换运算符将一个基类的指针或者引用转换为其子类的指针或者引用,其使用方法为:dynamic<type>(object)。         3)对上述代码有不清楚的请参阅NXOpen的文档或者自己录制Journal比较查看。; c6 }. ]5 p8 i/ P

$ \- ?1 Y8 v& Q9 w# @
# c" r2 g3 s0 e& h8 [% n6 T
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

全部回复1

Bruce_Lee 发表于 2014-4-14 19:32:54

Bruce_Lee 沙发

2014-4-14 19:32:54

学习了,谢谢分享
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了