请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
【PLM之家-NX9.0二次开发实例视频】16 Block UI创建block特征
4 ^! v6 f7 ]3 [( V本视频分四部分:
9 P' n. {0 I* x& ^4 y3 q8 bPLM之家-NX9.0二次开发实例 16 使用Block Styler创建Block(1)UI设计
2 L! a, F; G: [1 z/ A$ a! |PLM之家-NX9.0二次开发实例 16 使用Block Styler创建Block(2)代码模版分析
# K' c2 d2 }: a# S3 r8 d/ HPLM之家-NX9.0二次开发实例 16 使用Block Styler创建Block(3)特征创建
- s" \$ k# K' }' [PLM之家-NX9.0二次开发实例 16 使用Block Styler创建Block(4)创建完成
" E1 L3 t3 G& F+ D) y# Y2 ?9 Z [内容:通过使用Block Styler界面进行block UI创建 目的:熟悉BlockStyler界面的使用和C ++ code生成代码,以及如何对Block Styler的double类型进行取值;熟悉通过NXOpen C++的方式创建特征!
Block Styler创建block特征
6 w H# u( I& a! e8 K4 p- \1 \# s' R3 `/ d! ?5 \+ b
使用新的Block Styler UI 的方式创建UI,直接,方便,快捷,在UI设计的时候,方便快捷,同时可以对UI的很多属性直接在界面上进行设定(当然,你也可以通过代码,简单的set属性进行设置)。
: H- G9 Y( }; X* ~5 U, [0 Q. W
4 S3 e1 |' p2 b. y9 A0 Q8 q在对不同的控件进行参数定义的时候,可以参考Block UI的参考手册!
5 t6 H2 a' G2 }3 V9 D4 U4 @* G我们在后期的视频教程中,无例外的话,均使用最新的Block UI进行交互对话框设计!
$ K' P& o8 v6 a3 i" O1 y " Y) ?% G6 e( G9 e. A+ ^
关键代码分享:- v6 K8 ^! v3 Y. P& j
0 v$ {. z( [: @1 l- g- //get the session! U% d5 B, r5 S& A
- Part *workPart(theSession->Parts()->Work());6 J3 U) ^3 z0 C6 O/ G- g& n
- NXString length,width,height;
+ K6 ?0 ~6 n& q& V, Z3 x - //get the block UI values
8 a3 S$ U/ T! L" B
4 G3 z! s1 T8 P3 e- c$ t' W- S5 I- Point3d origin = this->pointorigin->GetProperties()->GetPoint("Point");1 s# U" o& v% q9 u
- double lengthValue = this->doubleLength->GetProperties()->GetDouble("Value");
0 @6 r, H9 Z4 v- v+ R - double widthValue=this->doubleWidth->GetProperties()->GetDouble("Value");
. p& Y7 b) j. C7 {! ]" H; O1 ^2 \ - double heightValue=this->doubleheight->GetProperties()->GetDouble("Value");
' ~5 I8 ^: Y; j8 L1 T v6 c2 y
1 u- a8 r8 ]; C& P( U- // convert double to string7 S$ k- p6 u0 w
- std::stringstream slength;( b" q( }3 R3 y# |) d: V# p: Z- ]
- slength << lengthValue;% L, S* i/ T& E4 p
- length = slength.str();
% O7 a& }6 x) t- [: |, G
" F' a+ F8 E+ h% m$ J- std::stringstream swidth;
* I+ R* e3 p+ i - swidth << widthValue;/ T# T2 S. {( j
- width = swidth.str();
, Y* h% \. Z: D8 f - 4 M) I3 p" x/ i- h2 R9 ]: _
- std::stringstream sheight;; U* \: G! F/ y! r3 T9 R
- sheight << heightValue;: Q' b) a% X6 f" A9 C
- height = sheight.str();3 Z. b9 `/ ]$ k8 q. ?9 V& ~% y" G3 j+ ]
- % p; f, P$ B. ?+ Z$ i7 x% N
- Features::Feature *null_block_feature(NULL);
. O$ H. R8 R# R+ H: ?% K( w - Features::BlockFeatureBuilder *blockFeatureBuilder;. a* P( U1 w+ v C+ r. `
- blockFeatureBuilder = workPart->Features()->CreateBlockFeatureBuilder(null_block_feature);
- I5 u4 k: w; C! V - //parameters settings
7 y) O- N" a2 T5 a. P$ h - blockFeatureBuilder->SetOriginAndLengths(origin,length,width,height);. T! z1 k; S3 ^9 r
- //commit . I/ q) [" C3 s& G3 d
- blockFeatureBuilder->CommitFeature();
* d' l& Z* A# S - //destory
% q/ C$ S. _ t) ?% M - blockFeatureBuilder->Destroy();
0 j0 t: U. D }( |6 |1 t
复制代码 $ ^4 @. L- I: ]+ s O3 E; T
# S, C p; \( a3 u高清视频分享:; I. h1 H& L2 b3 q
( |4 J3 b! D# C* @% W# E/ h, j
|