PLM之家PLMHome-工业软件与AI结合践行者

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

  [复制链接]

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

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

admin 楼主

2013-10-12 19:31:17

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

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

x
基于OpenC_OpenCPP_NXOpenCPP二次开发讲解
  b$ b5 S3 G* ]7 J( v" U
( D) n3 P. e; t, |

2 t, A% m6 K0 q  g$ ~5 f5 [1.  实例目的: 8 R* F6 V  ]( f* S, `) c. X$ H( @
通过此实例,可以让大家明白如何使用 OpenC OpenCPP NXOpenCPP  混合进行开发,用
3 i) d3 w' a" F% ]% |户将进行初始化, UG Session  使用 Open C++和 NX Open C++的方式。 ) ], t5 d8 y2 ]5 U1 l* B. {( c
2.  创建过程:
" X* E) R. G2 W) n2 t初始化一个 session,使用 Open C++ API 函数去创建和保存一个文件,同时使用  Open C , Y- k7 ]* G* J9 [2 k
API 去终止这个 session。用  NX Open C++ API 去创建对象,用  Open C APIs 去获取信息,' o2 a6 Z8 U  X) o6 `1 y2 c
再用  Open C++ APIs 通过获取的信息去创建对象。
; m( t$ o4 A: c* r) m/ j1 z同时使用 Open C++ APIs 创建圆弧,获取信息,保存这个文件。 ; [! w9 n" ^  R. v: M" p
3.  具体步骤:
: \1 L* Q( d( T/ z, [: t. W7 i1)  通过 Open C++ API 函数 UgSession::initialize()进行 session 初始化,抑或使用 NX Open C++ ) F, Z1 J7 o# s5 p, \) n! Y
(NXOpen::Session::GetSession())去初始化。 ! U3 C- J" N$ A  Q! ?
2)  获取 session 使用 NX Open C++ API, NXOpen::Session::GetSession(); - U6 o; ~: |. N9 Q
3)  使用 UgPart::create()    Open C++ API  函数创建一个新文件,此时这个文件将是工作/ e9 v2 K; a4 q
部件。 ( Q, M% s0 S2 K2 \) l* Q% f4 L
4)  使用 NXOpen Automation API  的函数 CreateLine()创建直线。
0 G  \% P2 _6 d2 N. N; m5)  通过 Open C API, UF_CURVE_ask_line_data()获取创建直线的 object data。通过 Open
; r$ O; }$ Y+ c9 F2 OC APIs GetTag()  方式去获得这条直线的 tag。 8 y6 o% l2 |" M9 s5 A0 g( R
6)  通过 Open C++ API, UgLine::create()创建直线。
: j+ w7 V) `. d7 _, C8 S4 ~7)  通过 Open C++ API, UgArc::create()创建圆弧 ' v" o: G* s) z: o, I6 n5 K0 Q1 h" i
8)  获取圆弧信息 GetRadius(), GetStartAngle(), GetEndAngle(). 6 Z0 k9 H) v- }/ T- ?
9)  使用 NXOpen automation APIs 保存此文件 & x) a; z$ Q" L6 r2 Z  R
10)  使用 Open C, UF_terminate()终止。 1 J, Q2 Z3 _6 Y  |2 Q! G! Z$ g
4.  如何 build 程序
! k$ D" P9 w- v7 U& \0 l" o1)  是同 Visual Studio –  通过  NX Open AppWizard 创建一个新的项目,使用 wizard 选
' L& }  n5 j0 o7 p0 w( p! W择 external 模式,选择 using C++  和 Open C++ calls
9 [. s& g' F; {3 s/ _  w- P2)    增加 the  InteropWithOpenCOpenCPPAndNXOpenCPP.cpp  文件通过选择增加现有的
8 ^" C6 b% ]; T3 m, H/ `1 C文件 select "Add Existing Item...".    选中文件。 4 C; K# ^6 g& h! R4 S1 I, m
3)  编译 Build 这个 cpp 通过  "Build Solution" or "Rebuild Solution".
, W* |, ?. ^* A这时在 debug 的文件下面会得到 InteropWithOpenCOpenCPPAndNXOpenCPP.exe 文" r7 N" M  a% l% G5 y4 E
件。 & j3 s6 q$ n$ k+ _
使用 uflink  工具也可以得到这个可执行文件,具体步骤如下:
1 K7 q1 o: c5 K" I( a( ~a)  打开 NX 命令行窗口 NX command prompt
" j' Y5 o# ]$ ^# H- q* Mb)  将路径设置到包含 cpp 文件的文件夹下
2 \2 S) r. K, p: D0 tc)  使用 uflink  ufexe=InteropWithOpenCOpenCPPAndNXOpenCPP.exe 就可以同样得
* ~1 W6 o9 X8 X0 F% _, U2 \到这个 exe 文件。
* C2 Q7 T; _" U5 k5.  如何运行
% P" B. A( z* n1)  通过  Visual Studio 运行 exe 文件 4 D( K% }; u& q0 Y; M3 `6 T2 X
选择 Debug->Start,这时 InteropWithOpenCOpenCPPAndNXOpenCPP.prt,打开 NX 文
: r+ k9 _1 S* q  P4 j件即可查看结果 6 o) f. Q2 k7 b0 G
2)  通过打开 NX 命令行窗口 NX command prompt 执行,这个我 prt 文件将会自动的保
1 x- F: [8 n* z0 i: d. `* j存在 exe 文件夹下,通过 NX 打开即可观看结果。
% n' P  o# B$ }3 U
1 a# q5 b' t; b4 @9 d4 M2 D! y
0 a* @2 _# N" a+ T

9 T7 c8 |  G9 o5 U  Q- k) l( m. mPLMHome_基于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

你好:' ]+ s! J. ~4 o3 ?
     有个问题咨询一下:
6 j/ p; ]8 `  t, M( Y8 l" ?/ R7 P     NX OPEN C++ 只能使用 namespace NXOpen 里面的函数吗??& J6 X4 ^! O1 P) ]0 Q' B7 E; i
     NX OPEN .NET 里面不是有很多函数吗,这些NX OPEN C++不能用吗??
! r7 A% G& _. }2 I' A4 G8 @    比如我想用NXOPEN.UF命名空间里的东西,怎样才行呢??
' ^3 ~% Y% ?7 Q7 n1 C3 \0 m    还请您指点一下,谢谢!
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了