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

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

  [复制链接]

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

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

admin 楼主

2013-10-12 19:31:17

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

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

x
基于OpenC_OpenCPP_NXOpenCPP二次开发讲解8 n3 T# s' f! ~6 P' Y
% Z. v$ F4 k' i( G* ]3 e

- S1 }' `$ a) W9 |6 t1.  实例目的:
: G) t) o; n2 u# o, a( R8 y7 n通过此实例,可以让大家明白如何使用 OpenC OpenCPP NXOpenCPP  混合进行开发,用
0 N2 R3 Z5 i/ e8 E% f! {户将进行初始化, UG Session  使用 Open C++和 NX Open C++的方式。 0 f% W- B6 s" h6 ]5 U3 k& H
2.  创建过程:
+ `- x9 u* l+ K9 r  U初始化一个 session,使用 Open C++ API 函数去创建和保存一个文件,同时使用  Open C " ?6 _  g- w' j9 R- E  ]
API 去终止这个 session。用  NX Open C++ API 去创建对象,用  Open C APIs 去获取信息,
$ H; L3 Q1 A; C再用  Open C++ APIs 通过获取的信息去创建对象。
9 F3 Y7 r1 g3 e; Q( ?3 z同时使用 Open C++ APIs 创建圆弧,获取信息,保存这个文件。 / J8 G5 L) ^. w9 z6 ~: n) {8 C" _) ]5 S, D
3.  具体步骤: & J$ u1 P4 L% s! _5 g4 R" N& p( w
1)  通过 Open C++ API 函数 UgSession::initialize()进行 session 初始化,抑或使用 NX Open C++   P' ]+ @$ B$ r9 |  ?! K
(NXOpen::Session::GetSession())去初始化。
/ ^9 F/ b" I' K8 |; G2)  获取 session 使用 NX Open C++ API, NXOpen::Session::GetSession(); - s2 Z6 d  P2 ~3 H+ |
3)  使用 UgPart::create()    Open C++ API  函数创建一个新文件,此时这个文件将是工作) A) }0 H" ~! u) v- U' q0 V+ w
部件。 * S( V+ Y6 s# w; k) s
4)  使用 NXOpen Automation API  的函数 CreateLine()创建直线。
/ z  V+ L8 |  U7 ^" `6 j' j5)  通过 Open C API, UF_CURVE_ask_line_data()获取创建直线的 object data。通过 Open
% g5 b' }. i! g& f7 ?: s) fC APIs GetTag()  方式去获得这条直线的 tag。
$ x" R" b% E  y1 u' F; s6)  通过 Open C++ API, UgLine::create()创建直线。
5 m$ }% }) M% J9 M, x1 K* q! |1 K: l7)  通过 Open C++ API, UgArc::create()创建圆弧 ! ?. ~. r# Y- [
8)  获取圆弧信息 GetRadius(), GetStartAngle(), GetEndAngle().
8 @/ E! ~8 X+ `9)  使用 NXOpen automation APIs 保存此文件 8 m. V9 D5 u( o
10)  使用 Open C, UF_terminate()终止。 . I3 S; D4 Y! v( t0 f+ U4 w4 Z3 O; J( ^
4.  如何 build 程序
, p# z$ r1 [7 T- z; p2 P6 w$ ^7 W1)  是同 Visual Studio –  通过  NX Open AppWizard 创建一个新的项目,使用 wizard 选
/ r5 k- X$ }7 P& k& Z择 external 模式,选择 using C++  和 Open C++ calls 9 e3 O& Q9 y* j( a9 s2 z* d  E
2)    增加 the  InteropWithOpenCOpenCPPAndNXOpenCPP.cpp  文件通过选择增加现有的) P4 v3 a7 y/ I
文件 select "Add Existing Item...".    选中文件。 ' I" T- D" o5 X& g
3)  编译 Build 这个 cpp 通过  "Build Solution" or "Rebuild Solution". 7 O1 T" c* v6 x: ^0 O- U
这时在 debug 的文件下面会得到 InteropWithOpenCOpenCPPAndNXOpenCPP.exe 文
$ d. S# y9 @& x件。 , ?1 v) L3 b- {9 F) T/ y
使用 uflink  工具也可以得到这个可执行文件,具体步骤如下: 0 G4 F4 r+ l8 f+ G$ l
a)  打开 NX 命令行窗口 NX command prompt
' |4 h$ `6 c4 r; m( A) E, {2 \b)  将路径设置到包含 cpp 文件的文件夹下 " k" w% t' @: `+ O2 [
c)  使用 uflink  ufexe=InteropWithOpenCOpenCPPAndNXOpenCPP.exe 就可以同样得+ U7 m: O/ c' i# q% y- r. \6 [  g
到这个 exe 文件。
- g4 b% i( V- O: d- N: x/ N- ^5 p5.  如何运行
2 [3 I) Y, ~  O+ ^* [1)  通过  Visual Studio 运行 exe 文件
1 b. z' m8 o  ]: [6 t选择 Debug->Start,这时 InteropWithOpenCOpenCPPAndNXOpenCPP.prt,打开 NX 文8 v; Y# q/ c$ c5 T4 y( Z' [
件即可查看结果
9 i8 {2 F/ S0 e) ?& R2)  通过打开 NX 命令行窗口 NX command prompt 执行,这个我 prt 文件将会自动的保
6 T9 Q& ?+ \/ u) x: q, G& e存在 exe 文件夹下,通过 NX 打开即可观看结果。 ! M! L7 w$ v/ S
8 i: i# Y* X; E

( E" @3 w. C  {- P4 Z
: Z- M/ G4 E- e$ w% g/ h0 y' i
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

你好:
. n' m& x. Y/ R" y  J     有个问题咨询一下:
( n. @* Q% i% Q0 u' Z     NX OPEN C++ 只能使用 namespace NXOpen 里面的函数吗??
, o* E$ I0 N; U/ e! k0 E     NX OPEN .NET 里面不是有很多函数吗,这些NX OPEN C++不能用吗?? 6 W, t2 `3 }2 O1 j. m( a0 m, B
    比如我想用NXOPEN.UF命名空间里的东西,怎样才行呢??2 P/ k' O. p1 g
    还请您指点一下,谢谢!
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了