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

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

  [复制链接]

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

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

admin 楼主

2013-10-12 19:31:17

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

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

x
基于OpenC_OpenCPP_NXOpenCPP二次开发讲解7 K1 c; r3 s* k" Y/ C- ~' s

. O2 r2 e4 i) @) {9 w
$ v, Y4 ]. d- w* }
1.  实例目的: 8 Y% {1 [9 j& q/ P% w$ ^
通过此实例,可以让大家明白如何使用 OpenC OpenCPP NXOpenCPP  混合进行开发,用$ f1 a" B/ C$ J( d8 D, V# l
户将进行初始化, UG Session  使用 Open C++和 NX Open C++的方式。
9 P9 X9 g* r( m; e# L2.  创建过程: $ d$ M0 @& p/ _! c2 N
初始化一个 session,使用 Open C++ API 函数去创建和保存一个文件,同时使用  Open C 3 v! k# t7 O8 T' _+ y$ n
API 去终止这个 session。用  NX Open C++ API 去创建对象,用  Open C APIs 去获取信息,! v5 |2 y7 t) ?- U, t
再用  Open C++ APIs 通过获取的信息去创建对象。 5 V4 p8 T3 J! E# f- b8 k
同时使用 Open C++ APIs 创建圆弧,获取信息,保存这个文件。 / g- F- S" Q- |" _% M/ p* ~
3.  具体步骤: # b; X/ g% \9 N% H1 i! t/ D
1)  通过 Open C++ API 函数 UgSession::initialize()进行 session 初始化,抑或使用 NX Open C++
- j0 R1 f; e; Q4 e; J(NXOpen::Session::GetSession())去初始化。 7 t5 g( V7 h- }
2)  获取 session 使用 NX Open C++ API, NXOpen::Session::GetSession();
1 l( C6 T) }2 g5 I3)  使用 UgPart::create()    Open C++ API  函数创建一个新文件,此时这个文件将是工作
7 f6 o+ N0 P* [% f# [- v. J部件。 . R1 z+ C1 K8 B( Q# W# Y# S5 ^7 h4 L$ i
4)  使用 NXOpen Automation API  的函数 CreateLine()创建直线。 * u5 `. Y7 ?5 o" V% D# R" m
5)  通过 Open C API, UF_CURVE_ask_line_data()获取创建直线的 object data。通过 Open
2 i( K1 N4 h, G7 a* J" A+ hC APIs GetTag()  方式去获得这条直线的 tag。 % e1 ]- ^. M2 d# E  Q3 E% Y( G
6)  通过 Open C++ API, UgLine::create()创建直线。
( G7 n8 a  E( D7)  通过 Open C++ API, UgArc::create()创建圆弧 + D0 {; ~" {& n# Q
8)  获取圆弧信息 GetRadius(), GetStartAngle(), GetEndAngle().
. m' ?8 c' }+ ~" Q2 P( i' \7 o9)  使用 NXOpen automation APIs 保存此文件
9 g: {) @" ^0 |, B6 r2 B10)  使用 Open C, UF_terminate()终止。 ' X* o# {( X% \! f) \3 b" U- ?
4.  如何 build 程序 & x" {0 @" K5 o
1)  是同 Visual Studio –  通过  NX Open AppWizard 创建一个新的项目,使用 wizard 选  `0 q$ C/ N7 X
择 external 模式,选择 using C++  和 Open C++ calls
: D2 G5 R. }+ c$ q! z$ L. n, F# ]2)    增加 the  InteropWithOpenCOpenCPPAndNXOpenCPP.cpp  文件通过选择增加现有的/ A1 i) a" h2 R
文件 select "Add Existing Item...".    选中文件。 : \+ o2 ^8 u1 L$ \/ I9 Q9 Z! X
3)  编译 Build 这个 cpp 通过  "Build Solution" or "Rebuild Solution". ) u8 Q/ N8 M6 I" c6 L) ^) t
这时在 debug 的文件下面会得到 InteropWithOpenCOpenCPPAndNXOpenCPP.exe 文, w2 f' v3 O; m# i# R7 b
件。 # O) H$ \$ p( Z9 E
使用 uflink  工具也可以得到这个可执行文件,具体步骤如下: $ i% j8 V5 S1 d/ L( P! l2 F0 ]
a)  打开 NX 命令行窗口 NX command prompt
- c* G0 m5 B* D4 i, `) n- D9 eb)  将路径设置到包含 cpp 文件的文件夹下 1 Y; z/ i1 M, F. O( c& Z# E
c)  使用 uflink  ufexe=InteropWithOpenCOpenCPPAndNXOpenCPP.exe 就可以同样得- Z& F5 o  A  I& b, D
到这个 exe 文件。
' W/ `& U  t$ V/ V0 q5.  如何运行 & D0 F0 K) K) j! B9 q2 z% Z
1)  通过  Visual Studio 运行 exe 文件
; Q/ H2 u0 k# G7 \: R% ]! z: U1 h选择 Debug->Start,这时 InteropWithOpenCOpenCPPAndNXOpenCPP.prt,打开 NX 文5 v4 F7 y+ a5 _" ^* t( V: J1 R
件即可查看结果
5 q  o, m; L* K* O2)  通过打开 NX 命令行窗口 NX command prompt 执行,这个我 prt 文件将会自动的保: a: Q6 E+ |/ K, I) D- w6 n8 v3 I
存在 exe 文件夹下,通过 NX 打开即可观看结果。 0 z+ |5 L( T/ k7 t  |+ i4 ~9 ?

! U2 K3 \" D2 Z8 ^- g: q
" Y7 j0 M: H7 y+ W2 j# }6 K, A1 K6 c

- y' c8 i" x# Y  ]: tPLMHome_基于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

你好:
% \6 w8 q7 n2 H! ~" Y+ F( v     有个问题咨询一下:. J" `# Q$ M& }! f
     NX OPEN C++ 只能使用 namespace NXOpen 里面的函数吗??
6 K0 z& _. _' V: }8 a" s% N     NX OPEN .NET 里面不是有很多函数吗,这些NX OPEN C++不能用吗??
7 G1 p9 @8 x' g& K    比如我想用NXOPEN.UF命名空间里的东西,怎样才行呢??$ x, y2 j1 f1 {7 [. Z3 U* t
    还请您指点一下,谢谢!
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了