|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
基于OpenC_OpenCPP_NXOpenCPP二次开发讲解
w9 D' x/ p8 i6 a: j8 W+ q- C, Z3 I7 `! h4 F# C
5 b* Q7 `# l* j6 g1. 实例目的:
4 t/ E: U. V3 ~# }7 C3 J2 X通过此实例,可以让大家明白如何使用 OpenC OpenCPP NXOpenCPP 混合进行开发,用
+ b7 |* X2 ]; K+ y7 f户将进行初始化, UG Session 使用 Open C++和 NX Open C++的方式。
0 b- e+ l6 z7 Y( {# I( M. S8 n2. 创建过程:
) j6 r$ s, K# U0 f5 z/ Q初始化一个 session,使用 Open C++ API 函数去创建和保存一个文件,同时使用 Open C . _" x; {0 z; J& o5 {* ]3 r0 Z
API 去终止这个 session。用 NX Open C++ API 去创建对象,用 Open C APIs 去获取信息,
4 z; k7 W. j5 W1 ~& E0 S) ~再用 Open C++ APIs 通过获取的信息去创建对象。 i8 T. w* n/ e, g
同时使用 Open C++ APIs 创建圆弧,获取信息,保存这个文件。 - f# A4 c" R' Q6 \* r* Q! I
3. 具体步骤: " Q" U4 P6 Z/ \% H2 A+ i
1) 通过 Open C++ API 函数 UgSession::initialize()进行 session 初始化,抑或使用 NX Open C++
9 m/ K/ D4 i( ]: @3 R(NXOpen::Session::GetSession())去初始化。 ( Q; A4 r4 j* b& A9 T x
2) 获取 session 使用 NX Open C++ API, NXOpen::Session::GetSession();
0 Z' E0 F/ m$ g0 T4 P6 Y1 s- a3) 使用 UgPart::create() Open C++ API 函数创建一个新文件,此时这个文件将是工作
9 j" o. R" [$ @部件。
5 I- h+ [+ O, O- P% e [. q9 w9 k4) 使用 NXOpen Automation API 的函数 CreateLine()创建直线。
w' h5 p3 t" g5 p, m" x4 v3 m1 R$ G5) 通过 Open C API, UF_CURVE_ask_line_data()获取创建直线的 object data。通过 Open $ \( T3 s% Y+ ^" t9 Q
C APIs GetTag() 方式去获得这条直线的 tag。 " F/ |9 \2 E9 `; p' a0 m
6) 通过 Open C++ API, UgLine::create()创建直线。
4 d8 e+ }) B$ K, W, n+ M" J6 e7) 通过 Open C++ API, UgArc::create()创建圆弧
/ B+ u! `- \. R. u8) 获取圆弧信息 GetRadius(), GetStartAngle(), GetEndAngle(). : d5 t1 Q+ A0 c$ a$ F
9) 使用 NXOpen automation APIs 保存此文件
7 t$ ^& s( t5 h3 g* U* O10) 使用 Open C, UF_terminate()终止。
9 A E8 k! s) j/ w0 E: r% c6 M4. 如何 build 程序 ; N+ I/ e% D! i- i- e7 R1 ]2 _* G
1) 是同 Visual Studio – 通过 NX Open AppWizard 创建一个新的项目,使用 wizard 选
" [( z" z9 r$ }0 Y择 external 模式,选择 using C++ 和 Open C++ calls
! C4 m. E! n5 ^% }( \+ P2) 增加 the InteropWithOpenCOpenCPPAndNXOpenCPP.cpp 文件通过选择增加现有的
, A, C& O+ g. M: V5 E3 G文件 select "Add Existing Item...". 选中文件。 7 a+ G# @3 A1 t. ?* ]0 _( J
3) 编译 Build 这个 cpp 通过 "Build Solution" or "Rebuild Solution". % l9 [1 ], j. T1 w& ]% I/ q
这时在 debug 的文件下面会得到 InteropWithOpenCOpenCPPAndNXOpenCPP.exe 文2 v y) g7 X" ~- r0 [/ e
件。 5 _$ w- a* T6 S* j: z6 V' p
使用 uflink 工具也可以得到这个可执行文件,具体步骤如下:
( E: R8 M/ ~! s) H# f. @1 la) 打开 NX 命令行窗口 NX command prompt ' z1 B8 H+ l3 K6 K/ H; l+ U2 x1 d
b) 将路径设置到包含 cpp 文件的文件夹下
% {( j& q7 Z7 C+ p0 V! e1 p1 V& H& Hc) 使用 uflink ufexe=InteropWithOpenCOpenCPPAndNXOpenCPP.exe 就可以同样得
8 }" y6 P a2 \6 K9 [0 s" g3 i到这个 exe 文件。 ! u3 k' l' {+ y$ Y. ?- m. n( e: C
5. 如何运行
4 g& d& U" s" c% Z# q$ D4 X1) 通过 Visual Studio 运行 exe 文件 ' v# s2 _! x5 \4 _6 ?
选择 Debug->Start,这时 InteropWithOpenCOpenCPPAndNXOpenCPP.prt,打开 NX 文
6 v9 j3 c( r4 i件即可查看结果
" i9 @. i& Z) ?1 _: Y2) 通过打开 NX 命令行窗口 NX command prompt 执行,这个我 prt 文件将会自动的保
& y% a. \& F! B' R存在 exe 文件夹下,通过 NX 打开即可观看结果。
* `/ o+ d( [, ^6 [ Z- Q _
. G8 z* Z; P7 X1 q# Y J* m. n
$ i' e5 x( \$ s
3 I: u; \8 I! N4 L: \PLMHome_基于OpenC_OpenCPP_NXOpenCPP二次开发讲解_plmhome.com.zip(465.46K) |
|