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

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

  [复制链接]

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

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

admin 楼主

2013-10-12 19:31:17

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

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

x
基于OpenC_OpenCPP_NXOpenCPP二次开发讲解
  w9 D' x/ p8 i6 a: j8 W+ q- C, Z3 I7 `! h4 F# C

5 b* Q7 `# l* j6 g1.  实例目的:
4 t/ E: U. V3 ~# }7 C3 J2 X通过此实例,可以让大家明白如何使用 OpenC OpenCPP NXOpenCPP  混合进行开发,用
+ b7 |* X2 ]; K+ y7 f户将进行初始化, UG Session  使用 Open C++和 NX Open C++的方式。
0 b- e+ l6 z7 Y( {# I( M. S8 n2.  创建过程:
) j6 r$ s, K# U0 f5 z/ Q初始化一个 session,使用 Open C++ API 函数去创建和保存一个文件,同时使用  Open C . _" x; {0 z; J& o5 {* ]3 r0 Z
API 去终止这个 session。用  NX Open C++ API 去创建对象,用  Open C APIs 去获取信息,
4 z; k7 W. j5 W1 ~& E0 S) ~再用  Open C++ APIs 通过获取的信息去创建对象。   i8 T. w* n/ e, g
同时使用 Open C++ APIs 创建圆弧,获取信息,保存这个文件。 - f# A4 c" R' Q6 \* r* Q! I
3.  具体步骤: " Q" U4 P6 Z/ \% H2 A+ i
1)  通过 Open C++ API 函数 UgSession::initialize()进行 session 初始化,抑或使用 NX Open C++
9 m/ K/ D4 i( ]: @3 R(NXOpen::Session::GetSession())去初始化。 ( Q; A4 r4 j* b& A9 T  x
2)  获取 session 使用 NX Open C++ API, NXOpen::Session::GetSession();
0 Z' E0 F/ m$ g0 T4 P6 Y1 s- a3)  使用 UgPart::create()    Open C++ API  函数创建一个新文件,此时这个文件将是工作
9 j" o. R" [$ @部件。
5 I- h+ [+ O, O- P% e  [. q9 w9 k4)  使用 NXOpen Automation API  的函数 CreateLine()创建直线。
  w' h5 p3 t" g5 p, m" x4 v3 m1 R$ G5)  通过 Open C API, UF_CURVE_ask_line_data()获取创建直线的 object data。通过 Open $ \( T3 s% Y+ ^" t9 Q
C APIs GetTag()  方式去获得这条直线的 tag。 " F/ |9 \2 E9 `; p' a0 m
6)  通过 Open C++ API, UgLine::create()创建直线。
4 d8 e+ }) B$ K, W, n+ M" J6 e7)  通过 Open C++ API, UgArc::create()创建圆弧
/ B+ u! `- \. R. u8)  获取圆弧信息 GetRadius(), GetStartAngle(), GetEndAngle(). : d5 t1 Q+ A0 c$ a$ F
9)  使用 NXOpen automation APIs 保存此文件
7 t$ ^& s( t5 h3 g* U* O10)  使用 Open C, UF_terminate()终止。
9 A  E8 k! s) j/ w0 E: r% c6 M4.  如何 build 程序 ; N+ I/ e% D! i- i- e7 R1 ]2 _* G
1)  是同 Visual Studio –  通过  NX Open AppWizard 创建一个新的项目,使用 wizard 选
" [( z" z9 r$ }0 Y择 external 模式,选择 using C++  和 Open C++ calls
! C4 m. E! n5 ^% }( \+ P2)    增加 the  InteropWithOpenCOpenCPPAndNXOpenCPP.cpp  文件通过选择增加现有的
, A, C& O+ g. M: V5 E3 G文件 select "Add Existing Item...".    选中文件。 7 a+ G# @3 A1 t. ?* ]0 _( J
3)  编译 Build 这个 cpp 通过  "Build Solution" or "Rebuild Solution". % l9 [1 ], j. T1 w& ]% I/ q
这时在 debug 的文件下面会得到 InteropWithOpenCOpenCPPAndNXOpenCPP.exe 文2 v  y) g7 X" ~- r0 [/ e
件。 5 _$ w- a* T6 S* j: z6 V' p
使用 uflink  工具也可以得到这个可执行文件,具体步骤如下:
( E: R8 M/ ~! s) H# f. @1 la)  打开 NX 命令行窗口 NX command prompt ' z1 B8 H+ l3 K6 K/ H; l+ U2 x1 d
b)  将路径设置到包含 cpp 文件的文件夹下
% {( j& q7 Z7 C+ p0 V! e1 p1 V& H& Hc)  使用 uflink  ufexe=InteropWithOpenCOpenCPPAndNXOpenCPP.exe 就可以同样得
8 }" y6 P  a2 \6 K9 [0 s" g3 i到这个 exe 文件。 ! u3 k' l' {+ y$ Y. ?- m. n( e: C
5.  如何运行
4 g& d& U" s" c% Z# q$ D4 X1)  通过  Visual Studio 运行 exe 文件 ' v# s2 _! x5 \4 _6 ?
选择 Debug->Start,这时 InteropWithOpenCOpenCPPAndNXOpenCPP.prt,打开 NX 文
6 v9 j3 c( r4 i件即可查看结果
" i9 @. i& Z) ?1 _: Y2)  通过打开 NX 命令行窗口 NX command prompt 执行,这个我 prt 文件将会自动的保
& y% a. \& F! B' R存在 exe 文件夹下,通过 NX 打开即可观看结果。
* `/ o+ d( [, ^6 [  Z- Q  _
. G8 z* Z; P7 X1 q# Y  J* m. n
$ i' e5 x( \$ s

3 I: u; \8 I! N4 L: \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

简简单单 发表于 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

你好:
$ K# q# a6 g, z9 Y, a7 U% v     有个问题咨询一下:
( s0 d) x1 W' d0 [" M: _     NX OPEN C++ 只能使用 namespace NXOpen 里面的函数吗??
) K5 D3 j2 v6 \; J9 G1 t     NX OPEN .NET 里面不是有很多函数吗,这些NX OPEN C++不能用吗??
. I* c4 E8 b; z+ `: m    比如我想用NXOPEN.UF命名空间里的东西,怎样才行呢??' I% N+ M$ N3 Q% g. v8 z4 Y! v
    还请您指点一下,谢谢!
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了