PLM之家PLMHome-工业软件践行者

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

  [复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82162
QQ
发表于 2013-10-12 19:31:17 | 显示全部楼层 |阅读模式

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

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

x
基于OpenC_OpenCPP_NXOpenCPP二次开发讲解4 R+ M1 a, @- N. u
+ N" v% @( X, W4 a, I/ P4 G

8 p, o- H, \( r% u% Y% {* i1.  实例目的:
" x" ^# e# s9 Y! W- I6 W通过此实例,可以让大家明白如何使用 OpenC OpenCPP NXOpenCPP  混合进行开发,用
. K+ T+ H: c/ z( d户将进行初始化, UG Session  使用 Open C++和 NX Open C++的方式。
$ v6 K! \. `' D2 b, y/ P- ]9 Y) ~2.  创建过程:
" z3 U( N! x9 N初始化一个 session,使用 Open C++ API 函数去创建和保存一个文件,同时使用  Open C ) O5 e! N0 _3 I8 W; v: n, T; F
API 去终止这个 session。用  NX Open C++ API 去创建对象,用  Open C APIs 去获取信息,
8 s1 O1 ]5 t5 P: F, H9 B" `再用  Open C++ APIs 通过获取的信息去创建对象。
( V; W' ?. _% q同时使用 Open C++ APIs 创建圆弧,获取信息,保存这个文件。 4 s8 W5 |- v' t% z' z# h
3.  具体步骤: / i% S6 f& G5 z2 @, b/ _
1)  通过 Open C++ API 函数 UgSession::initialize()进行 session 初始化,抑或使用 NX Open C++
- j1 s! g5 m. z- V+ Y/ O) A1 L(NXOpen::Session::GetSession())去初始化。
& v& O" I; K' Y" H1 G% V" \2)  获取 session 使用 NX Open C++ API, NXOpen::Session::GetSession(); 9 _, L0 H% r8 t& z
3)  使用 UgPart::create()    Open C++ API  函数创建一个新文件,此时这个文件将是工作
3 _3 n( `0 @- `  [0 e& R$ m部件。 5 h" A3 r' K0 E) U
4)  使用 NXOpen Automation API  的函数 CreateLine()创建直线。 # y4 Y; B' i0 A
5)  通过 Open C API, UF_CURVE_ask_line_data()获取创建直线的 object data。通过 Open " K9 T) K& G% [/ W* X& i$ z
C APIs GetTag()  方式去获得这条直线的 tag。 ( x- [* ~6 N8 l- @6 O
6)  通过 Open C++ API, UgLine::create()创建直线。
0 Y( e# P# h2 x8 V7)  通过 Open C++ API, UgArc::create()创建圆弧 2 w6 u7 G9 M) b- j8 O
8)  获取圆弧信息 GetRadius(), GetStartAngle(), GetEndAngle(). 6 q7 M  `  L3 d0 w0 R% O3 ^
9)  使用 NXOpen automation APIs 保存此文件 4 P2 K. G# B0 w5 Y8 a
10)  使用 Open C, UF_terminate()终止。 + O6 @  O. m/ F, x4 W
4.  如何 build 程序
: _9 L/ D# U; t6 K& D; G+ K' a. m1)  是同 Visual Studio –  通过  NX Open AppWizard 创建一个新的项目,使用 wizard 选2 S: K- B3 U+ G. C
择 external 模式,选择 using C++  和 Open C++ calls
& x( p3 a1 [" Z7 [  ]4 f2)    增加 the  InteropWithOpenCOpenCPPAndNXOpenCPP.cpp  文件通过选择增加现有的
5 E, J/ g( [, c6 y0 D& O5 r文件 select "Add Existing Item...".    选中文件。
: D, `2 X, r+ l7 V: f# T, F, K3)  编译 Build 这个 cpp 通过  "Build Solution" or "Rebuild Solution". 1 d! d/ q9 `) g4 r2 T7 ^
这时在 debug 的文件下面会得到 InteropWithOpenCOpenCPPAndNXOpenCPP.exe 文
' i. @2 ?& o3 O' H8 ^# v" U2 v1 K件。
9 s* P! j0 S1 z使用 uflink  工具也可以得到这个可执行文件,具体步骤如下:
( D; D' Q) K4 E! D2 S7 f' w, h% J; za)  打开 NX 命令行窗口 NX command prompt . M) ~  \) B* G* w2 V: [
b)  将路径设置到包含 cpp 文件的文件夹下 + B1 A6 s; K, v1 H: ]  N2 P6 J, j
c)  使用 uflink  ufexe=InteropWithOpenCOpenCPPAndNXOpenCPP.exe 就可以同样得
: y+ }" {' k, q/ k, L: N8 I' L到这个 exe 文件。
; P: m9 t8 x7 l% I* D5 x: r# V5.  如何运行
3 W% j9 X  |  g& O$ I( `8 k1)  通过  Visual Studio 运行 exe 文件 3 v) B+ ~0 H% e# {$ o1 G
选择 Debug->Start,这时 InteropWithOpenCOpenCPPAndNXOpenCPP.prt,打开 NX 文2 q& I& B/ c4 m/ e* j& l
件即可查看结果
* [) A' {5 R2 s% F7 n8 @/ ~! D, A6 C2)  通过打开 NX 命令行窗口 NX command prompt 执行,这个我 prt 文件将会自动的保8 p; j* P! A- u1 ~7 z' V
存在 exe 文件夹下,通过 NX 打开即可观看结果。
3 \2 H: w( E( z7 f* g" E/ t6 b/ Z% l6 N
8 g5 E- m/ n' Y; n! }. X
" K& ~" _; c3 U: d
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 网址 doTeam.tech
回复

使用道具 举报

全部回复4

8

主题

58

回帖

896

积分

培训VIP会员

积分
896
发表于 2013-10-13 23:54:57 | 显示全部楼层
谢谢,这是好东西
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

3

主题

53

回帖

551

积分

高级会员

积分
551
发表于 2013-11-20 11:14:36 | 显示全部楼层
你好:+ X) J$ H+ n4 T& _) @8 a
     有个问题咨询一下:
1 a: B  O9 n* Q  W( p     NX OPEN C++ 只能使用 namespace NXOpen 里面的函数吗??" s& S% S, ^& p8 V# q6 A2 R2 i9 w7 S
     NX OPEN .NET 里面不是有很多函数吗,这些NX OPEN C++不能用吗??
: D8 P5 m4 y7 g; }0 m    比如我想用NXOPEN.UF命名空间里的东西,怎样才行呢??
6 m' I# C$ A1 G& d# n' [0 R9 a    还请您指点一下,谢谢!
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

0

主题

20

回帖

44

积分

新手上路

积分
44
发表于 2013-11-28 15:31:12 | 显示全部楼层
表示难度太大啊
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

0

主题

19

回帖

117

积分

注册会员

积分
117
发表于 2017-12-9 16:44:36 | 显示全部楼层
怎么每个都那么火,但是看不到,是不是要回复
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了