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

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

  [复制链接]

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

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

admin 楼主

2013-10-12 19:31:17

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

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

x
基于OpenC_OpenCPP_NXOpenCPP二次开发讲解' U% K1 i5 L2 L9 q1 j( v

9 b: |% n6 }2 G  E

% Y& I7 u# M4 @2 I+ ~2 t! F( g' P1.  实例目的:
' y- P1 M& C! H' j' o) W7 S9 b& }通过此实例,可以让大家明白如何使用 OpenC OpenCPP NXOpenCPP  混合进行开发,用* y& g/ h4 i& v4 h. k
户将进行初始化, UG Session  使用 Open C++和 NX Open C++的方式。 $ Q: s; e: W0 b1 A* }2 r! U$ E4 |% i
2.  创建过程: $ W3 ~# @1 y$ Q
初始化一个 session,使用 Open C++ API 函数去创建和保存一个文件,同时使用  Open C
3 F' Y8 B. @  f/ xAPI 去终止这个 session。用  NX Open C++ API 去创建对象,用  Open C APIs 去获取信息,
6 ^' T7 \6 u) G, D2 {# h& h再用  Open C++ APIs 通过获取的信息去创建对象。 " Z$ m6 x$ _- R7 E
同时使用 Open C++ APIs 创建圆弧,获取信息,保存这个文件。
1 D7 ^! ^) r4 O: g6 r/ ~4 e3.  具体步骤:
: v* t( {. {& w6 t; D1)  通过 Open C++ API 函数 UgSession::initialize()进行 session 初始化,抑或使用 NX Open C++ 8 Y0 g) E. u  q% W
(NXOpen::Session::GetSession())去初始化。
3 _2 ?4 v) ?+ f3 J" L2)  获取 session 使用 NX Open C++ API, NXOpen::Session::GetSession();
3 x# @0 P: n! Q) i2 k4 k1 r5 b3)  使用 UgPart::create()    Open C++ API  函数创建一个新文件,此时这个文件将是工作4 c5 F0 `% x5 [; D6 D
部件。
! Y" y) ^; B; o. ^. T3 v: f2 K" O4)  使用 NXOpen Automation API  的函数 CreateLine()创建直线。
1 u/ P6 c" J% q$ M/ w5 s5 P5)  通过 Open C API, UF_CURVE_ask_line_data()获取创建直线的 object data。通过 Open ' Z6 I8 Z' B5 G# ~' S* f3 `
C APIs GetTag()  方式去获得这条直线的 tag。
  |/ b' ~) I4 W' B0 t& |6)  通过 Open C++ API, UgLine::create()创建直线。 : N) c3 M. Y1 Z1 o" ~  F
7)  通过 Open C++ API, UgArc::create()创建圆弧 , \7 l, d2 d$ D2 n' A
8)  获取圆弧信息 GetRadius(), GetStartAngle(), GetEndAngle(). " F$ P9 z; @6 T5 l/ s& B
9)  使用 NXOpen automation APIs 保存此文件 : A; b4 @$ r# _; h+ k1 A
10)  使用 Open C, UF_terminate()终止。
' t7 ^" U2 Z( A" `- J4 k: j% I( h( m- x, T& A4.  如何 build 程序
: T: ]" A- A9 k, p+ F: C8 |$ D1)  是同 Visual Studio –  通过  NX Open AppWizard 创建一个新的项目,使用 wizard 选' g. J% e! N6 P+ m' C6 m/ Q' J
择 external 模式,选择 using C++  和 Open C++ calls
7 f# `9 T$ I: S. r2)    增加 the  InteropWithOpenCOpenCPPAndNXOpenCPP.cpp  文件通过选择增加现有的( t- x" }6 J* j  @' k4 b
文件 select "Add Existing Item...".    选中文件。 % p% h$ ?8 n  G# p$ W
3)  编译 Build 这个 cpp 通过  "Build Solution" or "Rebuild Solution". % M0 {* y5 s' W  b' u+ u7 c
这时在 debug 的文件下面会得到 InteropWithOpenCOpenCPPAndNXOpenCPP.exe 文( J  `4 S  |  \8 {
件。
- m  E) B' T' u; m; I& E使用 uflink  工具也可以得到这个可执行文件,具体步骤如下:
3 X, v8 k; |5 ]. _8 w8 T7 la)  打开 NX 命令行窗口 NX command prompt
. x6 c! h0 p6 R  ]( p/ m3 Mb)  将路径设置到包含 cpp 文件的文件夹下 : y+ ~+ m  z5 I* E& z
c)  使用 uflink  ufexe=InteropWithOpenCOpenCPPAndNXOpenCPP.exe 就可以同样得6 ]7 ^) f  w8 r! I
到这个 exe 文件。 # c  T1 V+ K3 J! j2 x2 f  V: J
5.  如何运行 / o' \3 J3 G9 C& Y4 Y
1)  通过  Visual Studio 运行 exe 文件 ) Z6 `; |; O0 b* ~/ y0 r$ B
选择 Debug->Start,这时 InteropWithOpenCOpenCPPAndNXOpenCPP.prt,打开 NX 文
) y/ m$ ?  S% ?1 }2 j件即可查看结果 3 N7 U6 R3 V$ F. U: W" R6 C
2)  通过打开 NX 命令行窗口 NX command prompt 执行,这个我 prt 文件将会自动的保
- N3 D1 o5 ~$ M( |存在 exe 文件夹下,通过 NX 打开即可观看结果。
! p3 q5 `7 \  e, k  Z$ `5 @2 f! D

! R4 z4 }$ u) d) P4 o" W) L5 j

7 X/ L4 o, q! YPLMHome_基于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

你好:
0 |/ {* {: V5 J! x     有个问题咨询一下:3 ]' p0 N# [  v8 G6 V4 P
     NX OPEN C++ 只能使用 namespace NXOpen 里面的函数吗??7 u4 E) K" W8 N( |0 n
     NX OPEN .NET 里面不是有很多函数吗,这些NX OPEN C++不能用吗?? ' O+ m# k3 `" N8 V0 s3 U7 m: Z
    比如我想用NXOPEN.UF命名空间里的东西,怎样才行呢??  q# j) I; a. i2 A
    还请您指点一下,谢谢!
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了