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-国产软件践行者

[资料] 基于OpenC_OpenCPP_NXOpenCPP二次开发讲解

  [复制链接]

2017-12-9 16:44:36 5926 4

admin 发表于 2013-10-12 19:31:17 |阅读模式

admin 楼主

2013-10-12 19:31:17

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

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

x
基于OpenC_OpenCPP_NXOpenCPP二次开发讲解
) H; [; O" {$ j. r3 K7 I/ S
& o- D/ @' i  h0 \, A
+ S. k/ M( J6 E% k. O4 |- c
1.  实例目的: " Q+ }# X& c" z
通过此实例,可以让大家明白如何使用 OpenC OpenCPP NXOpenCPP  混合进行开发,用0 _* Q, I# e4 g! {; g, e
户将进行初始化, UG Session  使用 Open C++和 NX Open C++的方式。 + t' [( I6 y/ R8 N2 s
2.  创建过程: . g5 O8 X( Y5 P" H3 _9 l
初始化一个 session,使用 Open C++ API 函数去创建和保存一个文件,同时使用  Open C
5 R5 e4 u  c1 R0 f: O# Q& RAPI 去终止这个 session。用  NX Open C++ API 去创建对象,用  Open C APIs 去获取信息,. R! X  D: ~7 q( R, ?4 P
再用  Open C++ APIs 通过获取的信息去创建对象。
: d8 H1 l0 X$ `4 p0 h) D同时使用 Open C++ APIs 创建圆弧,获取信息,保存这个文件。
' `+ f1 c* D7 z/ k* {' C3.  具体步骤: # }' l) }  _! E& i8 F! v5 O+ g7 W' y0 P
1)  通过 Open C++ API 函数 UgSession::initialize()进行 session 初始化,抑或使用 NX Open C++
. e7 X1 A* [* K(NXOpen::Session::GetSession())去初始化。
% Q) @- s) W: ~! I2)  获取 session 使用 NX Open C++ API, NXOpen::Session::GetSession();
' m8 V2 F. Y9 J4 o7 d$ W3)  使用 UgPart::create()    Open C++ API  函数创建一个新文件,此时这个文件将是工作
  f8 i3 v3 A% V, z0 X+ I% s部件。 + }. v; q9 t) ?7 y
4)  使用 NXOpen Automation API  的函数 CreateLine()创建直线。
* b% }7 `, D, F, _5)  通过 Open C API, UF_CURVE_ask_line_data()获取创建直线的 object data。通过 Open 8 h% g/ s" C3 J+ A( B) i/ m
C APIs GetTag()  方式去获得这条直线的 tag。 & ]% C. ]7 [( n
6)  通过 Open C++ API, UgLine::create()创建直线。
% @7 C, P; N7 F' w3 n" y) b; P7)  通过 Open C++ API, UgArc::create()创建圆弧 2 Y, o& J& a+ K% s8 U
8)  获取圆弧信息 GetRadius(), GetStartAngle(), GetEndAngle().
0 P( v, g2 Y8 c, X9)  使用 NXOpen automation APIs 保存此文件 & M3 `% r4 l4 Y0 D2 Q  n" m# t2 N
10)  使用 Open C, UF_terminate()终止。 8 F* ]8 w9 B2 J' a1 q1 o
4.  如何 build 程序 : o. V: h& O6 n3 ]! f6 a& n
1)  是同 Visual Studio –  通过  NX Open AppWizard 创建一个新的项目,使用 wizard 选, L' K; k" Z; @5 b( B$ j7 {! h
择 external 模式,选择 using C++  和 Open C++ calls , b2 o; _# m/ C+ m# u4 |4 {2 P4 G1 u
2)    增加 the  InteropWithOpenCOpenCPPAndNXOpenCPP.cpp  文件通过选择增加现有的% y' `7 Q, v0 z* l: e
文件 select "Add Existing Item...".    选中文件。
9 c+ _  @# x' x7 T9 ?: C9 v3)  编译 Build 这个 cpp 通过  "Build Solution" or "Rebuild Solution". - M* R7 \$ ?% P% E$ O
这时在 debug 的文件下面会得到 InteropWithOpenCOpenCPPAndNXOpenCPP.exe 文
/ O5 H* q, z$ ?4 H4 |; H% j2 ]; z5 i件。 ; W1 v. J1 C' o6 k" _
使用 uflink  工具也可以得到这个可执行文件,具体步骤如下:
- \1 d$ p8 L) s0 K2 ^8 d* ha)  打开 NX 命令行窗口 NX command prompt / E" l- K6 ~2 }# s0 b) C
b)  将路径设置到包含 cpp 文件的文件夹下
) j' b: ~  s2 ]: |c)  使用 uflink  ufexe=InteropWithOpenCOpenCPPAndNXOpenCPP.exe 就可以同样得
: k! W2 Q6 V" @8 h) y8 C/ ]' ~( w  t到这个 exe 文件。
' L2 V; `7 |9 d5 E- l5.  如何运行 , c. s9 U- z. _8 E. a: `
1)  通过  Visual Studio 运行 exe 文件
, T0 ~! t6 ^- H  B选择 Debug->Start,这时 InteropWithOpenCOpenCPPAndNXOpenCPP.prt,打开 NX 文9 X& G8 E' S" q3 I
件即可查看结果 / d1 x( C; G6 {+ i8 h) D2 }
2)  通过打开 NX 命令行窗口 NX command prompt 执行,这个我 prt 文件将会自动的保3 V: f4 S# c7 o% A
存在 exe 文件夹下,通过 NX 打开即可观看结果。 5 V! Z, e& j: T  J  W" @
* V, p0 O# D) ~! N% b( V  o" R' j- R

1 G' G+ J' w8 x4 D
8 |2 [6 g+ u) Z! i$ I* R/ f9 a
PLMHome_基于OpenC_OpenCPP_NXOpenCPP二次开发讲解_plmhome.com.zip(465.46K)
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

全部回复4

简简单单 发表于 2013-10-13 23:54:57

简简单单 沙发

2013-10-13 23:54:57

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

使用道具 举报

smthan 发表于 2013-11-20 11:14:36

smthan 板凳

2013-11-20 11:14:36

你好:9 j- W' o" O% n. q4 P8 _) O: e( Q
     有个问题咨询一下:3 P* ~6 i3 D- m
     NX OPEN C++ 只能使用 namespace NXOpen 里面的函数吗??+ ]8 d* N5 K# _2 m
     NX OPEN .NET 里面不是有很多函数吗,这些NX OPEN C++不能用吗??
. w" c, l2 `9 L. \    比如我想用NXOPEN.UF命名空间里的东西,怎样才行呢??+ @% P6 ^" `+ E( z# |" E
    还请您指点一下,谢谢!
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

潜行者 发表于 2013-11-28 15:31:12

潜行者 地板

2013-11-28 15:31:12

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

使用道具 举报

至简天成 发表于 2017-12-9 16:44:36

至简天成 5#

2017-12-9 16:44:36

怎么每个都那么火,但是看不到,是不是要回复
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了