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

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

  [复制链接]

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

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

admin 楼主

2013-10-12 19:31:17

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

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

x
基于OpenC_OpenCPP_NXOpenCPP二次开发讲解
: h& ~2 c3 b* `4 l* u) q3 z  ]  S% G& v- i8 Q1 e$ d" ~

! X. q9 x, P7 `0 z1.  实例目的: ! C6 p- `2 r$ A. h) I
通过此实例,可以让大家明白如何使用 OpenC OpenCPP NXOpenCPP  混合进行开发,用
: l' v9 ]2 j) `8 E% `# b户将进行初始化, UG Session  使用 Open C++和 NX Open C++的方式。
! T3 d0 s3 a$ T1 i5 V# j  G5 M2.  创建过程:
1 G$ r+ T, T5 F; {! ~; W初始化一个 session,使用 Open C++ API 函数去创建和保存一个文件,同时使用  Open C
' L2 C4 S- y6 W  x. AAPI 去终止这个 session。用  NX Open C++ API 去创建对象,用  Open C APIs 去获取信息,. q) A  D6 p+ m" k0 Z- D
再用  Open C++ APIs 通过获取的信息去创建对象。
7 G" g* E3 ^4 F同时使用 Open C++ APIs 创建圆弧,获取信息,保存这个文件。
( f6 ?% S% q: s; f8 P3.  具体步骤:
' c5 n3 v, R1 `% H( V6 k1)  通过 Open C++ API 函数 UgSession::initialize()进行 session 初始化,抑或使用 NX Open C++ 8 l6 j. ^7 C1 ]+ e
(NXOpen::Session::GetSession())去初始化。
5 f: ^: _% j: b+ H- E' C# k2)  获取 session 使用 NX Open C++ API, NXOpen::Session::GetSession();
" ~6 u) ^0 u) W8 C4 D! o3)  使用 UgPart::create()    Open C++ API  函数创建一个新文件,此时这个文件将是工作
" n) M, H/ l% c1 H& u4 g6 S部件。
1 F/ [% s+ ^# T  w4)  使用 NXOpen Automation API  的函数 CreateLine()创建直线。
6 [- ~. E; ^! x  f2 r5)  通过 Open C API, UF_CURVE_ask_line_data()获取创建直线的 object data。通过 Open
) O: v! N. B' V" S) PC APIs GetTag()  方式去获得这条直线的 tag。 1 z  l' e0 I0 _( K& X! @
6)  通过 Open C++ API, UgLine::create()创建直线。   _5 _' S5 [! c5 w8 o. L# `
7)  通过 Open C++ API, UgArc::create()创建圆弧
+ M. c+ H9 X: @% x( t1 Y8)  获取圆弧信息 GetRadius(), GetStartAngle(), GetEndAngle(). , r2 ]' j* |; O7 z' U- j2 N2 `( ~
9)  使用 NXOpen automation APIs 保存此文件 ' B% S1 m+ z1 w$ D- ^
10)  使用 Open C, UF_terminate()终止。
2 n, e( L/ c6 R& \+ @4.  如何 build 程序
) [+ w3 y. a! L9 y8 r1 Q$ P$ \' w% c1)  是同 Visual Studio –  通过  NX Open AppWizard 创建一个新的项目,使用 wizard 选
, t+ c6 U- j3 X$ D) v1 c$ d0 V择 external 模式,选择 using C++  和 Open C++ calls 4 G. C, c/ O% e
2)    增加 the  InteropWithOpenCOpenCPPAndNXOpenCPP.cpp  文件通过选择增加现有的
& q" _5 v: x- n7 x  L4 ^文件 select "Add Existing Item...".    选中文件。
9 O0 {/ N( Y4 D  M" }3)  编译 Build 这个 cpp 通过  "Build Solution" or "Rebuild Solution". 9 E: \. i  t7 {8 H7 i( ~/ N
这时在 debug 的文件下面会得到 InteropWithOpenCOpenCPPAndNXOpenCPP.exe 文
, S# P/ v* _6 h, R5 m. x件。
' u2 S( E& |/ d, ?3 A% X9 M使用 uflink  工具也可以得到这个可执行文件,具体步骤如下:
, l/ x- ^# }% _0 B: A+ R, x' p/ g) Ma)  打开 NX 命令行窗口 NX command prompt
! v! C) }* B( f9 L* B4 Q' kb)  将路径设置到包含 cpp 文件的文件夹下
$ `0 v9 }& z" b- ^: k( l7 Gc)  使用 uflink  ufexe=InteropWithOpenCOpenCPPAndNXOpenCPP.exe 就可以同样得) T) G" P9 W, }
到这个 exe 文件。
5 z' m  j1 y* e; @5 Q5.  如何运行 ! @( K; p- k4 f/ T
1)  通过  Visual Studio 运行 exe 文件 ' y% K: l1 t3 m7 I
选择 Debug->Start,这时 InteropWithOpenCOpenCPPAndNXOpenCPP.prt,打开 NX 文
1 r6 {$ |6 I1 _' q. p件即可查看结果
8 f) v1 c. i; q7 J2)  通过打开 NX 命令行窗口 NX command prompt 执行,这个我 prt 文件将会自动的保5 W+ n# P( c# {1 Q
存在 exe 文件夹下,通过 NX 打开即可观看结果。
- l5 v: K- F# ^# q6 K  R! d, K  L8 _" N$ E% v1 @
. I! q3 p. N+ P' D. R0 G, b
% u3 t& q2 p/ ]% ?: q6 E6 a, m' s
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

你好:
, B8 t7 j! d' T6 E4 q     有个问题咨询一下:( r2 `3 r: ]) T2 x% c, L0 o
     NX OPEN C++ 只能使用 namespace NXOpen 里面的函数吗??( k/ ~4 s: G5 A6 |) U* M
     NX OPEN .NET 里面不是有很多函数吗,这些NX OPEN C++不能用吗??
/ n% B; [8 \7 L# O6 Q    比如我想用NXOPEN.UF命名空间里的东西,怎样才行呢??* M- E; }( B/ I
    还请您指点一下,谢谢!
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了