请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
【PLM之家-NX9.0二次开发实例视频】15 UIStyler生成C++创建block
% q3 C6 q3 Z" g6 d$ W; s' q/ x& ` 内容:通过使用uistyler界面进行block创建 目的:熟悉uistyler界面的使用和C++ code生成 使用C++生成的模版,在对控件进行获取值的适合,方便快捷,代码量少,但是好像生成的模版不太稳定。
UIStyler生成C++创建block
; G; [2 w/ w6 @: E/ C, n: e N3 z, x 在上面的例子中,通过生成C进行了block特征的创建,这个例子使用同样的UI,生成C++的代码模版,使用C++模版进行block 的生成!
, b/ u% X/ C3 [+ Q7 K : E% @5 U3 |" x3 y9 G
可以看出使用C++生成的代码实际上是NXOpen 下面的UIStyler类的很多方法实现的,对话框的赋值方便快捷!
. Z3 [" W0 X1 i7 A* d6 N! M3 Z' l
! n/ @6 w) o3 |关键代码分享:4 h5 O0 U3 s, U) b) W) i* g/ S
-
' `. H) B. x4 s2 [1 v2 H: Z1 s2 n - try
* q1 a3 n9 r. v3 M - {
, J+ o1 ^, Z5 I: S r& N* Q - if(!UF_initialize())
0 Y& d. f) c9 i y - {, C2 a' H" e4 \9 A+ @& w& ?5 s5 B y
- double corner[]={0,0,0};3 G1 P' Y8 y+ |! y/ ^" ?, K D
- char *edge[3]={NULL};) o( a% |% F1 c& l6 Y: t
- tag_t block_tag=NULL_TAG;5 K* V) D1 R: ~3 D
- int error = 0;0 D7 h' P; D) V# Q. z) H" l& y
- double length =this->plmhomeL->ItemValue();
1 C+ c8 {) t5 `& T& f - double width = this->plmhomeW->ItemValue();
* q: f! @6 s" |+ Q) I( H - double height = this->plmhomeH->ItemValue();
9 o3 ]- i0 ~% O9 Y2 E
! s3 z% c0 B/ ~# v3 T% T7 V6 m% r, w- edge[0]= (char *)UF_allocate_memory(256*sizeof(char),&error);
2 @* w8 v6 B" Q - edge[1]= (char *)UF_allocate_memory(256*sizeof(char),&error);# ^& P5 s+ L# M$ `3 a" D
- edge[2]= (char *)UF_allocate_memory(256*sizeof(char),&error);/ k+ |$ Y8 ]& f ~5 F9 c w) v" ]
- sprintf(edge[0],"%f",length);
) f+ v8 p/ m$ `3 B0 i9 d* u - sprintf(edge[1],"%f",width);% H$ n4 `: p0 A: ~# K1 @4 }5 e
- sprintf(edge[2],"%f",height);
G$ l+ `2 O2 D% m) q0 y" ? - UF_MODL_create_block1(UF_NULLSIGN,corner,edge,&block_tag);! o3 j t7 C1 I0 W! Q
- UF_free(edge[0]);
$ `* M6 v# r. ]/ E3 T - UF_free(edge[1]);3 y! S9 O/ j% O ~5 h9 N. U
- UF_free(edge[2]);
. `+ ^' y$ ^" }* n: D( m - }
# z' b1 }9 o+ J1 y* ` - UF_terminate();
/ ^4 n4 J B3 }3 i4 v; ]; J - }8 \! {( H8 k2 y/ g2 u D
复制代码
' K1 m9 D) G" I V8 R; y- c. L( v- [7 r1 r
8 _. Q0 F" o3 ^ c# t. e
% _4 _/ V5 G1 y# } m
高清视频请关注楼下:
, Y/ ~4 Q- p3 p: C/ s( v
& N$ Z. u( W! V9 J* s* ~4 `) F+ X8 v+ l0 ^9 k0 s' f
2 U9 i& L5 D( |0 t9 W! h |