PLM之家PLMHome-国产软件践行者

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

  [复制链接]

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

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

admin 楼主

2013-10-12 19:31:17

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

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

x
基于OpenC_OpenCPP_NXOpenCPP二次开发讲解
/ q) Z4 z9 g- L" v  o( y# y: s7 b2 J1 F: I2 p% r3 J  H% i
- J% Q8 c) F% {* {7 _
1.  实例目的: $ o; v5 k$ I" w# I7 O
通过此实例,可以让大家明白如何使用 OpenC OpenCPP NXOpenCPP  混合进行开发,用
/ M6 G4 s8 O1 Y" i, p户将进行初始化, UG Session  使用 Open C++和 NX Open C++的方式。
( n, |# I. D/ Y1 C6 E2.  创建过程:
9 z' l, x- T; v! k' ?初始化一个 session,使用 Open C++ API 函数去创建和保存一个文件,同时使用  Open C * H( e* _* n8 _/ G8 ]- m
API 去终止这个 session。用  NX Open C++ API 去创建对象,用  Open C APIs 去获取信息,
0 F, ]& H- m0 |6 t4 k再用  Open C++ APIs 通过获取的信息去创建对象。 0 a% c8 G- U: n* Q$ g
同时使用 Open C++ APIs 创建圆弧,获取信息,保存这个文件。 9 E( W7 \% k. [2 l/ k9 t) r
3.  具体步骤:
1 Z- q2 j( q$ r% o& T# U1)  通过 Open C++ API 函数 UgSession::initialize()进行 session 初始化,抑或使用 NX Open C++
; x- i& T0 g9 Q- j7 K/ f1 P+ X(NXOpen::Session::GetSession())去初始化。
2 S& A$ u6 o1 X, y1 x2)  获取 session 使用 NX Open C++ API, NXOpen::Session::GetSession();
1 {. }2 z+ z$ e# F& y3)  使用 UgPart::create()    Open C++ API  函数创建一个新文件,此时这个文件将是工作* F' a" ?( _) {
部件。
0 J$ ]- Y6 e# c* e4)  使用 NXOpen Automation API  的函数 CreateLine()创建直线。 3 G3 Z+ f5 v+ j& ]3 s/ k! w
5)  通过 Open C API, UF_CURVE_ask_line_data()获取创建直线的 object data。通过 Open
( |' s  E- K0 c3 S' y9 |6 uC APIs GetTag()  方式去获得这条直线的 tag。 2 d8 W4 ]% g: d! t! W
6)  通过 Open C++ API, UgLine::create()创建直线。
4 b. W3 P+ ]/ p7)  通过 Open C++ API, UgArc::create()创建圆弧 % z+ y/ ~  h$ f$ y, }3 p! A
8)  获取圆弧信息 GetRadius(), GetStartAngle(), GetEndAngle(). % _; g4 t; F0 b1 Z( k
9)  使用 NXOpen automation APIs 保存此文件
/ Q- @; e  l+ t9 M0 `10)  使用 Open C, UF_terminate()终止。 1 a- X. m$ ]5 L% {( k
4.  如何 build 程序 0 A; q4 G1 c. M$ E- x; f9 w
1)  是同 Visual Studio –  通过  NX Open AppWizard 创建一个新的项目,使用 wizard 选
' I2 \: ?( W% {: r+ d" w' [择 external 模式,选择 using C++  和 Open C++ calls 9 i9 q, r9 Q# S* J+ }+ R4 [) C
2)    增加 the  InteropWithOpenCOpenCPPAndNXOpenCPP.cpp  文件通过选择增加现有的
* ], A. y# v& `4 ~1 K: E; Y文件 select "Add Existing Item...".    选中文件。
- \5 h5 \- ]- D3)  编译 Build 这个 cpp 通过  "Build Solution" or "Rebuild Solution".
+ X" a: z( ^( a! E. [$ W" O) I这时在 debug 的文件下面会得到 InteropWithOpenCOpenCPPAndNXOpenCPP.exe 文
) m) K5 N2 Q! }件。 4 S6 j! ^7 u9 U9 U0 k* ]
使用 uflink  工具也可以得到这个可执行文件,具体步骤如下: ; v; I  c! U6 v) T
a)  打开 NX 命令行窗口 NX command prompt ; u% U8 N$ p- {; T3 M; _& l
b)  将路径设置到包含 cpp 文件的文件夹下 , z0 E' z. [' Q- T% E
c)  使用 uflink  ufexe=InteropWithOpenCOpenCPPAndNXOpenCPP.exe 就可以同样得0 m- i. `( F1 \, W0 @/ T* Q
到这个 exe 文件。
2 ?8 t4 P. ^1 ~1 i  h+ C1 L6 W* o5.  如何运行
+ q$ ~  Q' m  n# `% s7 S. K. l1)  通过  Visual Studio 运行 exe 文件
. c6 N& j9 x. i" ]8 [: z0 k选择 Debug->Start,这时 InteropWithOpenCOpenCPPAndNXOpenCPP.prt,打开 NX 文
( ]( [! D# j! {' @; D件即可查看结果
1 T0 N9 o6 m3 U! b/ `) W4 c+ Y2)  通过打开 NX 命令行窗口 NX command prompt 执行,这个我 prt 文件将会自动的保5 Y) e& D, ?3 e: G5 H; @
存在 exe 文件夹下,通过 NX 打开即可观看结果。 9 H6 B6 s$ _$ X. M
1 g6 R, V6 G2 d0 b" u/ m; f2 L

' Q9 W; E% f, e: t- w

& h# M& o" q5 g; Z* ~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

你好:$ C" z1 Z! L# p: K/ `9 V( b
     有个问题咨询一下:
2 h" M3 C$ H% B7 ]     NX OPEN C++ 只能使用 namespace NXOpen 里面的函数吗??
" C' B9 S( ]) F8 w! k     NX OPEN .NET 里面不是有很多函数吗,这些NX OPEN C++不能用吗?? & C1 G8 w% G1 m) \/ l% N. J
    比如我想用NXOPEN.UF命名空间里的东西,怎样才行呢??
' E4 X  [% `6 z2 l    还请您指点一下,谢谢!
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了