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

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

  [复制链接]

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

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

admin 楼主

2013-10-12 19:31:17

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

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

x
基于OpenC_OpenCPP_NXOpenCPP二次开发讲解
" C, u; `' R( W4 n. W
# W( u9 {7 V) |; L' _1 D: L9 e# _

9 F) \, ^1 M/ M* \3 e1.  实例目的:
$ P' p, K$ g8 [2 {  E$ G% z  Z* x通过此实例,可以让大家明白如何使用 OpenC OpenCPP NXOpenCPP  混合进行开发,用1 W$ V0 d% H( i$ D% S$ s# N
户将进行初始化, UG Session  使用 Open C++和 NX Open C++的方式。
  E8 p. z4 ^1 C# V: z. H2.  创建过程: 6 q4 ?* v: {2 R  [
初始化一个 session,使用 Open C++ API 函数去创建和保存一个文件,同时使用  Open C
$ i7 ^: @3 x# a( pAPI 去终止这个 session。用  NX Open C++ API 去创建对象,用  Open C APIs 去获取信息,
6 `  i0 Y2 u1 f- W* v" J再用  Open C++ APIs 通过获取的信息去创建对象。 ( x8 N/ L8 ]& [# ?( }0 p
同时使用 Open C++ APIs 创建圆弧,获取信息,保存这个文件。
* ]; _( n$ @2 |6 c' I, r3.  具体步骤: 1 V7 H  N4 p: |' f* }- O4 e' b
1)  通过 Open C++ API 函数 UgSession::initialize()进行 session 初始化,抑或使用 NX Open C++ $ @) h6 f- n# c6 u5 m/ g) k% k
(NXOpen::Session::GetSession())去初始化。 3 p! H, |8 x# F& R  z; d
2)  获取 session 使用 NX Open C++ API, NXOpen::Session::GetSession(); 0 z: f( N" B) r: v5 P
3)  使用 UgPart::create()    Open C++ API  函数创建一个新文件,此时这个文件将是工作/ q1 @0 R( q" D) ^1 U0 R# i4 F
部件。 ! d5 b1 [" ?! ?2 r5 |, t
4)  使用 NXOpen Automation API  的函数 CreateLine()创建直线。 ( u5 A2 d) N9 k3 V
5)  通过 Open C API, UF_CURVE_ask_line_data()获取创建直线的 object data。通过 Open
' R/ Q; u. K% m7 SC APIs GetTag()  方式去获得这条直线的 tag。 / J" }4 j8 N" F. ~) y7 c6 M
6)  通过 Open C++ API, UgLine::create()创建直线。
& J7 D. j' t( t" I7 f1 j1 l+ _7)  通过 Open C++ API, UgArc::create()创建圆弧
6 \7 T- J( V$ e9 ]5 T* s9 y8)  获取圆弧信息 GetRadius(), GetStartAngle(), GetEndAngle(). , ]% T: u8 n' {6 p" Q% R- @0 ^
9)  使用 NXOpen automation APIs 保存此文件
4 ^+ m, i4 Y6 u$ H' S& o( {  Z7 D10)  使用 Open C, UF_terminate()终止。 : E, E5 @; ]9 _4 o8 q% `8 b
4.  如何 build 程序
& O+ F/ L# `' |4 B/ e1)  是同 Visual Studio –  通过  NX Open AppWizard 创建一个新的项目,使用 wizard 选
2 x3 r. u) v0 v& S% E! E择 external 模式,选择 using C++  和 Open C++ calls " N# p7 i- j% C& S! z  l
2)    增加 the  InteropWithOpenCOpenCPPAndNXOpenCPP.cpp  文件通过选择增加现有的
6 D  M0 ^) x3 K% h5 b. @! s文件 select "Add Existing Item...".    选中文件。 ; A$ h6 R& X( H
3)  编译 Build 这个 cpp 通过  "Build Solution" or "Rebuild Solution". , t5 ^# k; V( z7 [8 B. j3 N
这时在 debug 的文件下面会得到 InteropWithOpenCOpenCPPAndNXOpenCPP.exe 文
# C7 Z+ r5 Y5 }1 K8 V3 a' ^2 C件。
) U0 X/ Z2 E. W8 l0 J' V$ T! Q使用 uflink  工具也可以得到这个可执行文件,具体步骤如下: 5 y- ]! }" w  b
a)  打开 NX 命令行窗口 NX command prompt 0 P5 j2 b2 F/ Q/ B- H
b)  将路径设置到包含 cpp 文件的文件夹下
& u0 S0 R; ~1 K: Z" Oc)  使用 uflink  ufexe=InteropWithOpenCOpenCPPAndNXOpenCPP.exe 就可以同样得- F2 b1 F% I7 `$ T/ t
到这个 exe 文件。
+ {2 T# |  F' }! x" l9 n5.  如何运行
8 ]4 C: [6 Y2 E1)  通过  Visual Studio 运行 exe 文件 $ h2 ~7 r6 l% Z' e3 h
选择 Debug->Start,这时 InteropWithOpenCOpenCPPAndNXOpenCPP.prt,打开 NX 文
, ~6 ~/ [0 C8 S% ~件即可查看结果
) d* `  ^: I! p& K9 I  o: y2)  通过打开 NX 命令行窗口 NX command prompt 执行,这个我 prt 文件将会自动的保$ T2 K$ j6 e: O5 X
存在 exe 文件夹下,通过 NX 打开即可观看结果。 ; I& T. ^0 v% D0 {7 d

3 f$ T6 E% a: l
. X6 Q- |$ d$ G& f, q

) t9 `3 q0 C* P8 |4 GPLMHome_基于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

你好:
  A3 S3 @$ B- y! `     有个问题咨询一下:
9 v  V3 i  c+ e# c+ k2 N8 J+ H* ?     NX OPEN C++ 只能使用 namespace NXOpen 里面的函数吗??
! l# k5 c$ [( z* M1 s     NX OPEN .NET 里面不是有很多函数吗,这些NX OPEN C++不能用吗??
$ X* i  K, B7 F0 m: a, D9 Z    比如我想用NXOPEN.UF命名空间里的东西,怎样才行呢??) ?7 @' `( l  y: ]
    还请您指点一下,谢谢!
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了