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

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

  [复制链接]

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

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

admin 楼主

2013-10-12 19:31:17

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

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

x
基于OpenC_OpenCPP_NXOpenCPP二次开发讲解9 @& Z  O8 t' ^
- _* H8 M- e- G. D# D. k# h% I; h5 n

- Y7 O" ]' z5 O7 T+ Q) f9 {1.  实例目的: 6 n; _2 V0 A8 }: c( |4 L
通过此实例,可以让大家明白如何使用 OpenC OpenCPP NXOpenCPP  混合进行开发,用* V9 Q0 V' r  d& M
户将进行初始化, UG Session  使用 Open C++和 NX Open C++的方式。
) l- T% c* A, x6 k2.  创建过程: # P8 B9 @2 J4 W; p4 t( W% G. H: f
初始化一个 session,使用 Open C++ API 函数去创建和保存一个文件,同时使用  Open C
5 O+ v. l9 t$ I8 }API 去终止这个 session。用  NX Open C++ API 去创建对象,用  Open C APIs 去获取信息,
4 S) b+ V! o+ p! F5 O再用  Open C++ APIs 通过获取的信息去创建对象。
9 r  }+ V! k" @; C) a( \8 S, r同时使用 Open C++ APIs 创建圆弧,获取信息,保存这个文件。
7 e# ~, C& [4 J# Q% J# g3 q/ X8 ^3.  具体步骤:
) h( ~* Y* x7 H$ {- n0 B3 ]1)  通过 Open C++ API 函数 UgSession::initialize()进行 session 初始化,抑或使用 NX Open C++ 8 d6 p6 O$ ~" k5 b9 L
(NXOpen::Session::GetSession())去初始化。 4 }$ z% p1 k( w+ \
2)  获取 session 使用 NX Open C++ API, NXOpen::Session::GetSession();
5 q+ p$ p0 G. {& s: W; M8 U6 w3)  使用 UgPart::create()    Open C++ API  函数创建一个新文件,此时这个文件将是工作
" T+ Q; p0 P: ^部件。
- Z! r5 N: e. ?4)  使用 NXOpen Automation API  的函数 CreateLine()创建直线。 0 t) U) ~- f- y' S5 F2 Y
5)  通过 Open C API, UF_CURVE_ask_line_data()获取创建直线的 object data。通过 Open - r. F8 ]# k& T" k& z* }' w* E' Q
C APIs GetTag()  方式去获得这条直线的 tag。 7 d2 n! c; Q( R$ e
6)  通过 Open C++ API, UgLine::create()创建直线。
% {1 n; m, e/ j  m7)  通过 Open C++ API, UgArc::create()创建圆弧
( ]1 O2 m5 `4 A$ w2 b8)  获取圆弧信息 GetRadius(), GetStartAngle(), GetEndAngle().
3 O3 T; U5 s3 U7 b8 q& Z9)  使用 NXOpen automation APIs 保存此文件 1 W6 @3 `( ~5 P% `% ?
10)  使用 Open C, UF_terminate()终止。 6 O" g* K" u/ X1 ?# ?- }9 N
4.  如何 build 程序 - c! y. W, H1 q8 a1 Z, l/ [
1)  是同 Visual Studio –  通过  NX Open AppWizard 创建一个新的项目,使用 wizard 选+ C  B( z) u; q" v1 O" z
择 external 模式,选择 using C++  和 Open C++ calls
& w" `  {$ k8 d1 [- @2)    增加 the  InteropWithOpenCOpenCPPAndNXOpenCPP.cpp  文件通过选择增加现有的, I3 @5 A+ [% _1 d# `
文件 select "Add Existing Item...".    选中文件。
1 c* F. l- o1 [4 ]* Y- }4 R* K3)  编译 Build 这个 cpp 通过  "Build Solution" or "Rebuild Solution". " T, j' L& p3 _. T+ _4 }
这时在 debug 的文件下面会得到 InteropWithOpenCOpenCPPAndNXOpenCPP.exe 文
0 i' z. w, T% c: Y; W# _3 x& I# k/ [件。 6 Z: V% P. f' ~3 V+ t, z, n
使用 uflink  工具也可以得到这个可执行文件,具体步骤如下: * T. q0 Y( N- k- |3 w* d
a)  打开 NX 命令行窗口 NX command prompt : f5 b+ F# ?4 n4 G7 |: l2 i0 J
b)  将路径设置到包含 cpp 文件的文件夹下
) M6 h# J: \9 Tc)  使用 uflink  ufexe=InteropWithOpenCOpenCPPAndNXOpenCPP.exe 就可以同样得& r( H6 D  A4 S6 a
到这个 exe 文件。 & S9 c; C& a+ ?3 k
5.  如何运行
+ v& s3 z; ?; O% e% f& b" m1)  通过  Visual Studio 运行 exe 文件 ; P+ H/ t+ }+ k! o4 g
选择 Debug->Start,这时 InteropWithOpenCOpenCPPAndNXOpenCPP.prt,打开 NX 文
( R9 f: ~) h! l; M件即可查看结果
- o5 y; B& H/ o& y! {2)  通过打开 NX 命令行窗口 NX command prompt 执行,这个我 prt 文件将会自动的保) u3 L; t  j' e
存在 exe 文件夹下,通过 NX 打开即可观看结果。
3 C7 t! f$ y: C4 b8 h! N+ R5 G6 D- c+ Y  ?3 m: p1 |# m
& U5 T# j1 m" k& @8 y* F
9 n4 @* @: Z: R& m% 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 网址 www.diantuankj.com/ 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

你好:4 Z* D4 C& M5 N4 l
     有个问题咨询一下:7 x& F3 M- ?2 t/ O" u4 v$ W
     NX OPEN C++ 只能使用 namespace NXOpen 里面的函数吗??* S5 v; Y, C: P- r' d# r5 h/ h( ~
     NX OPEN .NET 里面不是有很多函数吗,这些NX OPEN C++不能用吗??
# W2 f) A+ l1 l0 \    比如我想用NXOPEN.UF命名空间里的东西,怎样才行呢??: m% U$ Q8 V8 z8 F. v1 s4 b3 u3 B
    还请您指点一下,谢谢!
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了