请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
【PLM之家-NX9.0二次开发实例视频】16 Block UI创建block特征
! h# A; F8 ^4 I+ D" w本视频分四部分:
2 y- S! d6 o( APLM之家-NX9.0二次开发实例 16 使用Block Styler创建Block(1)UI设计
" }' M |- o# ?, O8 e0 b. n) NPLM之家-NX9.0二次开发实例 16 使用Block Styler创建Block(2)代码模版分析8 D1 l8 w8 t0 S$ L r0 G
PLM之家-NX9.0二次开发实例 16 使用Block Styler创建Block(3)特征创建2 ~' v V3 \9 e" T
PLM之家-NX9.0二次开发实例 16 使用Block Styler创建Block(4)创建完成, d' d! B3 g8 E* y' b
内容:通过使用Block Styler界面进行block UI创建 目的:熟悉BlockStyler界面的使用和C ++ code生成代码,以及如何对Block Styler的double类型进行取值;熟悉通过NXOpen C++的方式创建特征!
Block Styler创建block特征
5 Y& R7 j- U) _# @* D- i6 O+ m
! S! D! |% i: [% O使用新的Block Styler UI 的方式创建UI,直接,方便,快捷,在UI设计的时候,方便快捷,同时可以对UI的很多属性直接在界面上进行设定(当然,你也可以通过代码,简单的set属性进行设置)。
2 M8 n6 s, y0 B 4 V9 u' j5 D8 G
在对不同的控件进行参数定义的时候,可以参考Block UI的参考手册!5 O3 R, S3 z# s, P, j5 @0 g: v9 u6 R
我们在后期的视频教程中,无例外的话,均使用最新的Block UI进行交互对话框设计!
( ^7 l4 d4 e$ J* E' s/ \ - P& a9 j" @" B( p2 P9 H
关键代码分享:
# P& H* D2 Z& d+ k! O1 v- I+ q
; V F" ~8 Y7 M- y- //get the session& d2 I9 L8 }! o* }# ^0 y( A) h
- Part *workPart(theSession->Parts()->Work());
# s1 Q3 Z& x$ e5 Y2 H - NXString length,width,height;
9 k2 F7 v* W( h3 a - //get the block UI values
; A3 L- \0 x, J/ ?7 M/ ` K. r7 U - J2 e- h% \ q2 u- [7 _+ S5 y
- Point3d origin = this->pointorigin->GetProperties()->GetPoint("Point");/ `5 }, v w" v. w' w
- double lengthValue = this->doubleLength->GetProperties()->GetDouble("Value");
( b; W2 j( M5 K' J9 o - double widthValue=this->doubleWidth->GetProperties()->GetDouble("Value");, t$ R4 c9 p' X3 y: [ |
- double heightValue=this->doubleheight->GetProperties()->GetDouble("Value");
" x5 J- Z' m: x9 ^. q: j4 g0 d
( }4 }9 G5 w3 x. s L2 A$ a! M- // convert double to string/ |; @( p% B! R9 l+ E1 w
- std::stringstream slength;
& f- M: Z, I+ |5 k6 O - slength << lengthValue;0 A) u% M& `) F# W6 u
- length = slength.str();1 k0 G8 T- g6 h- z# {( k
- 4 V8 p: l: i4 u
- std::stringstream swidth;
5 o) o' E' ?3 b+ W: S8 @$ ^8 Y$ H - swidth << widthValue;% f' e% M' p( t
- width = swidth.str();
+ @* M% p% W/ D2 k! b& H
( D4 \( u) W: V) p3 d9 j" U8 k- std::stringstream sheight;" r# {- k+ `1 G( a+ E3 P n; W
- sheight << heightValue;
3 U, ~0 c/ o1 |1 w% S - height = sheight.str();5 J5 G! `* P6 ^& w1 D
! d6 x* P1 T1 |9 Q$ _: o- Features::Feature *null_block_feature(NULL);* I1 c9 U; W0 @5 j% ^
- Features::BlockFeatureBuilder *blockFeatureBuilder;& G% V/ L- m3 q; A& a3 O/ r+ R9 m
- blockFeatureBuilder = workPart->Features()->CreateBlockFeatureBuilder(null_block_feature);
- e4 c4 Z5 J1 P+ Q0 c - //parameters settings7 v6 ~) F; K4 x2 R# _0 _& @$ p5 P
- blockFeatureBuilder->SetOriginAndLengths(origin,length,width,height);7 D* a$ R& B8 A4 c* H
- //commit 3 {% u- C& e+ }. p/ H# B" V
- blockFeatureBuilder->CommitFeature();8 l2 ]! e, A' W7 p$ z
- //destory
- W8 `) I7 m/ ~" o - blockFeatureBuilder->Destroy();# z* \ X$ L. I$ ^
复制代码 7 ?$ i$ m$ E, ]- V
$ C+ c, W: ^; W1 Z n高清视频分享:
g# _/ A' Z4 I: D4 I( Z- s2 p8 R; n- t" P* i6 U
/ V/ Q8 O0 [; D* h3 x) H |