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

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

  [复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
基于OpenC_OpenCPP_NXOpenCPP二次开发讲解# {3 S2 ?, i+ \9 Z

3 ~% Q. j. z$ g7 r4 W' [

. ?% c4 i/ n% Z9 @* X8 t1.  实例目的: , H2 G# k  Y- f9 @
通过此实例,可以让大家明白如何使用 OpenC OpenCPP NXOpenCPP  混合进行开发,用6 @2 J& o3 T! ^7 F0 y
户将进行初始化, UG Session  使用 Open C++和 NX Open C++的方式。 - }6 ]$ D/ I. H. j) A* V; C( A3 x
2.  创建过程:
. c+ c- h& }6 Y7 N/ R初始化一个 session,使用 Open C++ API 函数去创建和保存一个文件,同时使用  Open C # U7 e8 E, I: o1 l0 ~
API 去终止这个 session。用  NX Open C++ API 去创建对象,用  Open C APIs 去获取信息,
+ J) g( A/ Z/ c2 Y; C: c再用  Open C++ APIs 通过获取的信息去创建对象。
4 X/ e; r# w4 S- f9 p4 Z同时使用 Open C++ APIs 创建圆弧,获取信息,保存这个文件。
2 d" g/ v, J: t3 s% U! X$ ~3.  具体步骤: & S. }+ b3 H: S! G# h% E
1)  通过 Open C++ API 函数 UgSession::initialize()进行 session 初始化,抑或使用 NX Open C++ 0 u& ]& K1 ~3 a# W( Z- g8 |2 g
(NXOpen::Session::GetSession())去初始化。 & C" \6 s3 T6 }2 z2 Q
2)  获取 session 使用 NX Open C++ API, NXOpen::Session::GetSession(); ) E; p& w5 x3 t  M0 B
3)  使用 UgPart::create()    Open C++ API  函数创建一个新文件,此时这个文件将是工作" }: _2 F( }, m7 H& f# g
部件。   h) g7 t% m, ^( p* N* Q! S
4)  使用 NXOpen Automation API  的函数 CreateLine()创建直线。 3 \* n0 v% V; b* O' L/ V7 R
5)  通过 Open C API, UF_CURVE_ask_line_data()获取创建直线的 object data。通过 Open
9 m. b! \# Z" Q) f1 BC APIs GetTag()  方式去获得这条直线的 tag。 ( |& U. w' }$ k4 x& _# K
6)  通过 Open C++ API, UgLine::create()创建直线。
8 ]: e! H0 S8 v7)  通过 Open C++ API, UgArc::create()创建圆弧 5 h) k; W8 l6 f/ B0 C
8)  获取圆弧信息 GetRadius(), GetStartAngle(), GetEndAngle().
2 n1 h& L+ l1 E' R0 L0 K. Z- v% c, O9)  使用 NXOpen automation APIs 保存此文件 6 J$ H+ S6 C% i# l  Q% \
10)  使用 Open C, UF_terminate()终止。
4 w' x' m+ _8 Z, I! e, I7 |6 [0 ^4.  如何 build 程序
/ n! j) [0 w9 K+ U6 i; B1)  是同 Visual Studio –  通过  NX Open AppWizard 创建一个新的项目,使用 wizard 选
) p% e6 ?7 I# y/ E  q6 N择 external 模式,选择 using C++  和 Open C++ calls 0 ]2 p6 c8 R# G$ P( N* c7 @
2)    增加 the  InteropWithOpenCOpenCPPAndNXOpenCPP.cpp  文件通过选择增加现有的
- I8 y* v! L4 L+ o6 @: K8 P文件 select "Add Existing Item...".    选中文件。 ' c+ y5 h* i" B
3)  编译 Build 这个 cpp 通过  "Build Solution" or "Rebuild Solution". ; W! A8 M/ Y. A+ B; h) r' Z( G
这时在 debug 的文件下面会得到 InteropWithOpenCOpenCPPAndNXOpenCPP.exe 文
% t# a% }6 x! X' z) F3 G件。 " K2 M- v$ ^; z
使用 uflink  工具也可以得到这个可执行文件,具体步骤如下: 1 P. l$ L! r# M
a)  打开 NX 命令行窗口 NX command prompt
: C8 ~- i1 ~9 q. v& k3 p3 H, K4 Z. V0 M( V1 `b)  将路径设置到包含 cpp 文件的文件夹下
7 [0 C% z+ z( u. O4 {* ic)  使用 uflink  ufexe=InteropWithOpenCOpenCPPAndNXOpenCPP.exe 就可以同样得
% e+ z) @  ]  C9 o到这个 exe 文件。 . z/ d* O$ y8 l$ e: L; G
5.  如何运行
& g$ A: g* h4 b' P3 M% P1)  通过  Visual Studio 运行 exe 文件
8 s( H9 M: C" p9 X7 A9 X选择 Debug->Start,这时 InteropWithOpenCOpenCPPAndNXOpenCPP.prt,打开 NX 文
" A# c, S( Z" ~/ l. n. I件即可查看结果
$ P( u' g& b5 a: M$ N2)  通过打开 NX 命令行窗口 NX command prompt 执行,这个我 prt 文件将会自动的保
& \& S6 \! _  E+ p存在 exe 文件夹下,通过 NX 打开即可观看结果。
8 B3 P  O! t" n, X$ M7 a0 _2 |, x9 x! n/ T& \* G/ _- y' I0 o7 A/ I" m
- U% j9 ~5 X$ U, N. ~( s. l* }( ^+ v1 |/ l% w

' t. K' w1 P4 o3 W$ }- l- vPLMHome_基于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 | 显示全部楼层
你好:& S" k0 V4 h, c' u) V- V
     有个问题咨询一下:% Y6 c6 V% T% S1 X9 g
     NX OPEN C++ 只能使用 namespace NXOpen 里面的函数吗??6 X5 o, d( c& [$ ~8 _+ ?2 Y9 v0 z
     NX OPEN .NET 里面不是有很多函数吗,这些NX OPEN C++不能用吗?? 4 f  D/ ~7 r* h$ L+ L
    比如我想用NXOPEN.UF命名空间里的东西,怎样才行呢??
' \2 R* y% {! A/ F+ B    还请您指点一下,谢谢!
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了