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

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

  [复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
基于OpenC_OpenCPP_NXOpenCPP二次开发讲解# ^7 r/ b! U2 g+ K3 ]! I2 g

" h; t8 {1 w5 q/ @! ?( \

$ _  t8 Z$ v8 D( y+ M1.  实例目的:
3 s0 T! a: O/ r9 `/ w通过此实例,可以让大家明白如何使用 OpenC OpenCPP NXOpenCPP  混合进行开发,用, ]9 P) z" X, j# E1 l, p% N2 U+ C
户将进行初始化, UG Session  使用 Open C++和 NX Open C++的方式。 3 i  M* [6 s" A, h" J0 U/ J6 t
2.  创建过程: ( z7 b2 o0 o# |8 Q
初始化一个 session,使用 Open C++ API 函数去创建和保存一个文件,同时使用  Open C
2 Y6 s4 |  v6 Q+ P- IAPI 去终止这个 session。用  NX Open C++ API 去创建对象,用  Open C APIs 去获取信息,
- a( S  S/ l% E4 R/ c. x% l再用  Open C++ APIs 通过获取的信息去创建对象。 , U* _- E  L9 h, U, O% W/ v0 W
同时使用 Open C++ APIs 创建圆弧,获取信息,保存这个文件。
# J* ]' {+ U) \: H% s; J5 Q3.  具体步骤:
8 \1 a2 Z: ~! I* C1)  通过 Open C++ API 函数 UgSession::initialize()进行 session 初始化,抑或使用 NX Open C++ . L% f0 `! p3 ?) _2 \
(NXOpen::Session::GetSession())去初始化。
' x2 V: h. X, G" w2)  获取 session 使用 NX Open C++ API, NXOpen::Session::GetSession(); / s3 r' m. C+ x: d, w+ N
3)  使用 UgPart::create()    Open C++ API  函数创建一个新文件,此时这个文件将是工作
  N2 n! w: ?5 b1 o+ U7 t! z部件。
) B' g9 B( X8 _- H+ W. R4)  使用 NXOpen Automation API  的函数 CreateLine()创建直线。 3 w, }: Y& B+ i! }6 k7 [
5)  通过 Open C API, UF_CURVE_ask_line_data()获取创建直线的 object data。通过 Open
# r1 o9 K% G) z+ E0 f: S3 i- A' x' LC APIs GetTag()  方式去获得这条直线的 tag。 ( \  k5 r( h6 I& g; [% N, c
6)  通过 Open C++ API, UgLine::create()创建直线。 6 X* X2 L% y" Q
7)  通过 Open C++ API, UgArc::create()创建圆弧
! Q2 ^* E# l2 k5 M3 ^* n# x( V8)  获取圆弧信息 GetRadius(), GetStartAngle(), GetEndAngle().
4 k2 d9 W1 ~0 h  }# ?9)  使用 NXOpen automation APIs 保存此文件
9 {" s4 t0 c  W% [0 T- \% l: x10)  使用 Open C, UF_terminate()终止。
7 A" v' K# n# v$ d9 w- K. e" h4.  如何 build 程序
. c. s. K! M, k4 v" s8 e1)  是同 Visual Studio –  通过  NX Open AppWizard 创建一个新的项目,使用 wizard 选7 o" l6 a; G% @
择 external 模式,选择 using C++  和 Open C++ calls
0 L' T  u2 l- Y# D* E( U+ p) L) F2)    增加 the  InteropWithOpenCOpenCPPAndNXOpenCPP.cpp  文件通过选择增加现有的8 t  n4 I8 f% e1 I* k
文件 select "Add Existing Item...".    选中文件。
* g1 O2 W# N% U9 K. I5 e3)  编译 Build 这个 cpp 通过  "Build Solution" or "Rebuild Solution". * A& x' u! w4 V0 d+ m
这时在 debug 的文件下面会得到 InteropWithOpenCOpenCPPAndNXOpenCPP.exe 文
! }, ]" ], R; v) P, ^$ n8 d5 Y件。   b% |6 \" Z* q! Q; @1 Z
使用 uflink  工具也可以得到这个可执行文件,具体步骤如下:
5 J- _, G& T! W; A, xa)  打开 NX 命令行窗口 NX command prompt - ]* U: ?9 X0 W% ?! T
b)  将路径设置到包含 cpp 文件的文件夹下 ! }2 L4 o. ~7 q4 v
c)  使用 uflink  ufexe=InteropWithOpenCOpenCPPAndNXOpenCPP.exe 就可以同样得
" d- R) ]; p- ^6 P/ s* {到这个 exe 文件。 ' y% E4 @# E+ e, [& T9 y) _( `" r
5.  如何运行 8 c- B. _4 B4 Z8 U
1)  通过  Visual Studio 运行 exe 文件
4 y4 y: k- n2 B$ m# g选择 Debug->Start,这时 InteropWithOpenCOpenCPPAndNXOpenCPP.prt,打开 NX 文
& e% f- @5 H$ O4 \6 N! j件即可查看结果   q/ r7 P  D$ e. `
2)  通过打开 NX 命令行窗口 NX command prompt 执行,这个我 prt 文件将会自动的保0 ^3 w5 A! J) t* P
存在 exe 文件夹下,通过 NX 打开即可观看结果。 * a( H" m) B6 T' t7 v9 d/ _3 p

$ K$ R7 F1 y8 Q' i; l# Y5 D* S2 ^+ D2 I, {

) V. [2 q. V" n, {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 | 显示全部楼层
你好:
4 q0 q# K  h% p6 @! m0 T     有个问题咨询一下:
9 ?& e8 I* ]- U# M2 V     NX OPEN C++ 只能使用 namespace NXOpen 里面的函数吗??
$ q$ T/ U' P8 X( ?4 \  J* y1 [' q     NX OPEN .NET 里面不是有很多函数吗,这些NX OPEN C++不能用吗?? % A9 R. p1 X+ E2 g+ h: J$ [
    比如我想用NXOPEN.UF命名空间里的东西,怎样才行呢??3 }! P" j2 N& r/ \* H& U: f. @
    还请您指点一下,谢谢!
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了