请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
【PLM之家-NX9.0二次开发实例视频】16 Block UI创建block特征
8 j9 r- A' P1 n本视频分四部分:- _. i! P" |- m6 p; s
PLM之家-NX9.0二次开发实例 16 使用Block Styler创建Block(1)UI设计
3 A. P$ B$ t$ H% M: P, V iPLM之家-NX9.0二次开发实例 16 使用Block Styler创建Block(2)代码模版分析
( k4 Z& `4 }! l$ U, [, IPLM之家-NX9.0二次开发实例 16 使用Block Styler创建Block(3)特征创建8 T1 F- w1 Z8 Z- x' S$ I V
PLM之家-NX9.0二次开发实例 16 使用Block Styler创建Block(4)创建完成
_8 Q ]0 n w% j9 p内容:通过使用Block Styler界面进行block UI创建 目的:熟悉BlockStyler界面的使用和C ++ code生成代码,以及如何对Block Styler的double类型进行取值;熟悉通过NXOpen C++的方式创建特征!
Block Styler创建block特征
: E" [' F3 g5 D* G, N: U4 x* Y' ]/ R+ e3 s" m c2 u/ Z' `4 _- r
使用新的Block Styler UI 的方式创建UI,直接,方便,快捷,在UI设计的时候,方便快捷,同时可以对UI的很多属性直接在界面上进行设定(当然,你也可以通过代码,简单的set属性进行设置)。% j# D* ~+ W( K% [! p: \ ?
5 H0 G3 t# A$ L0 \! s
在对不同的控件进行参数定义的时候,可以参考Block UI的参考手册!' w1 X& H) R: b& X# P3 w+ C
我们在后期的视频教程中,无例外的话,均使用最新的Block UI进行交互对话框设计!
' ?) s/ W+ U6 {' ]+ ?! u. z 5 C9 a; p# B/ p# X0 }' H
关键代码分享:/ C+ N+ V+ c. M8 \' N
: W" `# ?! \7 R9 u! w" x ]: ?- //get the session: [* Q' ?6 v) W' |, M1 k
- Part *workPart(theSession->Parts()->Work());
" ~. K" ^* ~0 s! H$ d- b* Y* t. R - NXString length,width,height;1 _5 C( }4 p( q
- //get the block UI values9 U" L3 s4 K! ~% a" A. Q, K) V$ X1 f
- - ]% p/ v: m2 I( J% Y R
- Point3d origin = this->pointorigin->GetProperties()->GetPoint("Point");
) ?" T3 x: A7 R- ` - double lengthValue = this->doubleLength->GetProperties()->GetDouble("Value");5 U. X+ H! ]3 v. q4 K' {
- double widthValue=this->doubleWidth->GetProperties()->GetDouble("Value");/ O7 j/ W; F: ^: q7 ?
- double heightValue=this->doubleheight->GetProperties()->GetDouble("Value");
0 f) r; u8 ~) s8 D
, r0 O8 C. _$ e1 q& w- // convert double to string
* V/ |* Z! C, ^% E$ c - std::stringstream slength;$ y4 E; U' u7 Z) _
- slength << lengthValue;
+ _! r t$ K/ w, P - length = slength.str();
8 f/ K* U3 s6 y! h6 W! P/ @
. q# I* @, L9 V5 o- std::stringstream swidth;
! y" x+ T# e" f7 K$ V0 |8 z e - swidth << widthValue;( v* `' f' {( N. w0 Z% f' H
- width = swidth.str();
2 \% S. F V+ O" b [1 D - 3 Z' @7 B. R6 ]4 n+ L- B
- std::stringstream sheight;. I1 v( h+ G1 G* }8 f- N
- sheight << heightValue;
x1 Q+ X" r# c2 c' O: S3 p2 ~# J( U# | - height = sheight.str();+ I6 F/ b0 c& G; V- a) W
; K3 @# A3 \( H& S8 u8 H- Features::Feature *null_block_feature(NULL);! B9 R* O5 _8 m3 d
- Features::BlockFeatureBuilder *blockFeatureBuilder;
v0 ^$ m& w5 k9 f0 V" I - blockFeatureBuilder = workPart->Features()->CreateBlockFeatureBuilder(null_block_feature);* i( E: f# }# K; E1 E
- //parameters settings
9 _3 ]) C% P0 k/ S+ o - blockFeatureBuilder->SetOriginAndLengths(origin,length,width,height);* M) D& v* y: Z% S0 k
- //commit
/ T' @: I4 Z. s$ H - blockFeatureBuilder->CommitFeature();
# N! x8 c4 \( z' Y - //destory
' d d! V8 c' M* L" _" z - blockFeatureBuilder->Destroy();
, ~5 w5 ~+ l7 z/ S% V
复制代码 ~; ~$ ?, z* O
# W* |! ]2 n* g. p6 ~/ _6 n+ d. l7 z高清视频分享:
3 D6 @1 t* I/ A i6 w. ?! k
& Z* Y, }, e8 |% k8 r I, Y
; ]' e& `7 T# A- D( T |