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

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

  [复制链接]

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

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

admin 楼主

2013-10-12 19:31:17

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

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

x
基于OpenC_OpenCPP_NXOpenCPP二次开发讲解
7 n' Q2 ], `( a! f* o! |, M- F' C3 ?7 i: V% h# ?. r+ d" O/ X
, R" g6 R3 [) X6 B$ f
1.  实例目的:
' t' |* N; a# [3 B9 y' ?通过此实例,可以让大家明白如何使用 OpenC OpenCPP NXOpenCPP  混合进行开发,用4 ]  I  R  [; G1 W
户将进行初始化, UG Session  使用 Open C++和 NX Open C++的方式。 / X8 |8 c! M2 G& P5 q, h" ]
2.  创建过程:
4 F! x9 |' }( w& h5 o, |初始化一个 session,使用 Open C++ API 函数去创建和保存一个文件,同时使用  Open C
5 \1 ~0 {6 ~" j% LAPI 去终止这个 session。用  NX Open C++ API 去创建对象,用  Open C APIs 去获取信息,) [8 \! Z* Z# v6 {& Q8 c
再用  Open C++ APIs 通过获取的信息去创建对象。 ; Q) J5 g; d0 d6 Z( F8 v1 D  H0 L
同时使用 Open C++ APIs 创建圆弧,获取信息,保存这个文件。
1 n$ Z6 K& q: X3.  具体步骤:
9 D2 R. _1 N- J" P/ C1)  通过 Open C++ API 函数 UgSession::initialize()进行 session 初始化,抑或使用 NX Open C++ ( b% f* r2 u. a' P8 @0 \
(NXOpen::Session::GetSession())去初始化。 4 W, V/ N  r/ i" a. T8 A5 t
2)  获取 session 使用 NX Open C++ API, NXOpen::Session::GetSession();
6 `; R! r7 q9 S, I2 E4 o! p/ j0 \3)  使用 UgPart::create()    Open C++ API  函数创建一个新文件,此时这个文件将是工作5 g2 ?# N  Y$ {) c. R* T, C: N
部件。
* `8 T" y4 b. X4 T" x1 [8 o2 g' K4)  使用 NXOpen Automation API  的函数 CreateLine()创建直线。
/ O" W: D+ u* s+ D4 h0 O* o5)  通过 Open C API, UF_CURVE_ask_line_data()获取创建直线的 object data。通过 Open
* }( \/ _$ [0 y* E2 M4 T8 A; I$ x; `C APIs GetTag()  方式去获得这条直线的 tag。 " ?4 o2 n- j0 W, \6 P* c
6)  通过 Open C++ API, UgLine::create()创建直线。
7 |5 {# a3 @, o6 h3 f7)  通过 Open C++ API, UgArc::create()创建圆弧
2 D, ?5 [' o) V6 F7 R+ [  z8)  获取圆弧信息 GetRadius(), GetStartAngle(), GetEndAngle().
& w  O& X8 j: [; U9 s4 m9)  使用 NXOpen automation APIs 保存此文件
# k; |* l' q4 [% S* X* G4 T10)  使用 Open C, UF_terminate()终止。 4 o4 {$ ]5 t2 v" N8 v/ A& m4 `& y
4.  如何 build 程序
1 m) l( K2 S' }4 {- S$ O1)  是同 Visual Studio –  通过  NX Open AppWizard 创建一个新的项目,使用 wizard 选
1 ~/ Z7 K9 t5 Z  H- {5 E  |择 external 模式,选择 using C++  和 Open C++ calls
0 ?& L& t8 m6 Y- L9 r5 `, R9 ]. S3 w2)    增加 the  InteropWithOpenCOpenCPPAndNXOpenCPP.cpp  文件通过选择增加现有的
1 A! U$ T4 i9 F) V6 k文件 select "Add Existing Item...".    选中文件。 % E. x; x" g7 S" q2 o! v6 D
3)  编译 Build 这个 cpp 通过  "Build Solution" or "Rebuild Solution".
; c6 R( U% `6 _3 O1 m0 ^) p8 r这时在 debug 的文件下面会得到 InteropWithOpenCOpenCPPAndNXOpenCPP.exe 文
; G2 S4 R6 m# o, h件。
: p3 A* `8 e& t+ D使用 uflink  工具也可以得到这个可执行文件,具体步骤如下:
' K7 T6 X- R$ ?* w: q8 y& u& Xa)  打开 NX 命令行窗口 NX command prompt / I" q. U# j9 ?# l! v2 E! S
b)  将路径设置到包含 cpp 文件的文件夹下
7 q) Q1 @: F" l# pc)  使用 uflink  ufexe=InteropWithOpenCOpenCPPAndNXOpenCPP.exe 就可以同样得3 @- J1 E: f  A3 c; c1 d7 l( N- T
到这个 exe 文件。 . @  [! [+ {. k3 m9 v
5.  如何运行
9 F! S1 f5 j8 Q; J1)  通过  Visual Studio 运行 exe 文件 2 B9 @1 u" Q. y' I- S9 \
选择 Debug->Start,这时 InteropWithOpenCOpenCPPAndNXOpenCPP.prt,打开 NX 文
8 I4 N& Q5 k: f9 n* X1 M) W6 ^/ F件即可查看结果 + T& b: B. i" A0 N0 i4 Z8 ?5 x/ Q
2)  通过打开 NX 命令行窗口 NX command prompt 执行,这个我 prt 文件将会自动的保" d, ]+ I7 K& G9 a, g4 j2 s2 o
存在 exe 文件夹下,通过 NX 打开即可观看结果。
. j4 x' V! F3 L5 x7 o) n% ~
+ P8 n' T8 S) z# Q. d
8 z3 U% w2 x$ L- x

6 z2 d9 N3 V/ l* p: V# e* U! PPLMHome_基于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

你好:
. ?2 T4 ?3 E2 N- X+ _     有个问题咨询一下:2 g7 F: D; A+ M1 Q- B; ?
     NX OPEN C++ 只能使用 namespace NXOpen 里面的函数吗??
6 R- l& a7 R3 D2 Y: g( \" \; O     NX OPEN .NET 里面不是有很多函数吗,这些NX OPEN C++不能用吗?? " X- S! G  {7 d& `  Y* ^3 I; J
    比如我想用NXOPEN.UF命名空间里的东西,怎样才行呢??. a! T: R2 N8 E1 d$ j3 Q
    还请您指点一下,谢谢!
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了