|
|
01、选择对象
) T$ m; H# D2 z5 {7 w4 V9 G" X0 X7 }& |
捕捉
: ? N4 x1 Q g& W% K' P, {' N PointOverlay 是否显示捕捉点
3 c. E* l; t. \6 N% J. S SmartUpdateOption 智能更新选项/ x+ D: w' }" H; |# [$ y5 l" n6 X
Within Modeling 在建模1 e' _' V8 z: [% c1 a) }2 m8 H
After Modeling 建模后
: W8 q5 H6 M/ `3 Y2 S. k After Parent Body 实体父后
7 u; {; |; H- i, F: ]& D Mixed 混合
" s: d& F: l, u. Z' ] m+ S5 C
( A; K% S( K0 }$ |" [ SnapPointTypesEnabled 设置捕捉点类型的可见性
2 q5 c# e, L9 f8 Z SnapPointTypesOnDefault 设置捕捉点类型相关的内容被启用
8 O' z; k6 \! S" \/ f, k; C% K! p. l% Z2 ?/ l T6 L4 P" B! d
常规8 h9 Y1 P/ Z) P
BlockID 控件id
D# k. N: A5 P. W- q Enable 是否可选/禁用控件0 p% n( N3 p9 B$ ?
Group 组" \$ `- \% d- G, \0 ?' C+ T
Show 是否可见* K \' p, \. o5 L' m1 x
$ H; P( C1 h( C
其它 1 b3 e* i) @! v# _" c$ M- T; d r% g
附着
/ x8 b0 G( P5 B" `* G1 P7 F! G Bottom 底# E2 r- v: @: W% f9 G# e# H7 F
Left 左
7 F. v) b7 h& X# t, | Right 右
+ B* t3 M1 K- U5 e# a- j5 U Top 顶% E+ A$ h$ F, [! E0 e% N
7 |6 L4 f) ] _% V. W$ j+ V特定于块. `1 Z. `2 _. _1 C' v! G# n( [
AutomaticProgression 选择后焦点是否自动跳到下一个控件; u, M3 H4 w4 w @
BalloonTooltipImage 动态提示图片(鼠标移动到控件是显示图片)9 @; f. T/ r8 t; ^
BalloonTooltipLayout 动态提示布局. h$ J3 `8 W k( z
BalloonTooltipText 动态提示文本内容
% e! `8 Z$ w1 n) w* x Bitmap 指定图片
3 s$ B+ @" U: o+ S+ n BlendVirtualCurveOverlay 是否显示虚拟交线3 v8 b# Q2 J# z6 ~6 e$ N! c' b- r2 t# `
CreateInterpartLink 是否显示部件间连接图标在选择条上
. k/ }1 W& I1 k- X- D" U Cue 提示
: T7 X8 P" _3 O7 n: D0 s+ s- j& [: [
& B2 P, e2 S. O. ~ InterpartSelection 部件间选择设置
- u7 ]0 E; v! R: C" w8 z4 u0 } Simple 简单. \7 h6 g. \% |' E. l1 v2 p$ W; F
Non-associative Interpart Copy Only 只复制部件间非关联# b3 z' X2 g* j) w0 W6 }% E& O& m1 k0 {
Associative and Non-associative Interpart Copy 复制部件间关联和非关联
F( P/ ~; t' Z x) b H1 u' A! l Associative Interpart Copy 复制部件间关联- w; r% M+ i o
3 T8 C, k' P/ G- t1 z: ? l
LabelString 标签标题
5 D& @6 f( }6 m, I MaximumScops 设置选择范围0 X9 h& V8 _& {# `! V
Entire Assembly 所有组件/装配+ \- [7 u/ [7 u; V
Within Work Part Only 只是工作部件5 [- J6 I) o: n* U! \
Within Work Part and Components 工作部件和组件/装配)
- v& r+ o" u3 C- t. T8 v& Y, w5 W" m3 a+ k( e' C4 `
SelectMode 设置单选/多选 ! G1 D* c& L( Z7 y# E
Single 单选! C$ @' ]( Q/ z2 N/ A
Multiple 多选$ D8 `% W/ k9 w2 U; [" q
2 Q; [6 @( g) c6 p$ ^ StepStatus 设置确定和应用按钮什么时候高亮 (Required 必需的时候)(Optional 可选的时候)(Satisfied 满意/满足的时候)+ w/ A# y8 E% n; a
Tooltip 动态提示文本标题(Bitmap指定图片时,鼠标移动到图片时提示文字)
( t) o% z8 n, H" M% r8 Q' @; e
' b9 K6 k, S/ y0 b: l3 }————————————————————————————————————————————
- d2 v: ^0 ~ A) u————————————————————————————————————————————
# l& h) T! m! I+ x6 i! O咧子:获得selection0控件选择的对象
# j0 D0 Y/ V8 A; w. [% u UF_initialize();
& i# d) N* P; M6 T* H$ I% m! e std::vector<TaggedObject*>objects=this->selection0->GetProperties()->GetTaggedObjectVector("SelectedObjects");
( E) \6 @9 k7 |6 ] for ( int i=0;i<objects.size();i++) // size 列表长度,这里指的是 对象个数
: U1 Y; l7 u W! Y9 |, z1 M8 s' o {
$ x+ c5 E% @+ g1 q UF_OBJ_set_color(objects[i]->Tag(),1);
& e0 `% |5 t, p( @ }4 I& M8 V3 H+ i" q/ Y- T, t* ]
UF_terminate();+ x( M: R; S& e# n: Q
7 S( s) e: ]' e7 X0 u, F
————————————————————————————————————————————
2 z3 t5 }" j' E: r咧子:对象加入到selection0选择控件的对象列表
; X8 P9 o5 |- X, D9 T7 a7 V
7 z7 B3 r& O" I- h; h4 a tag_t obj=NULL_TAG;
& u$ n6 @1 D) C) H double point[3]={0,0,10};
. ~( ]2 V: k0 s9 j5 b8 |$ E double XYZ[3]={60,50,80};
( ]( x, g5 j% I, E char C[132]="";" H; q: Z3 N' F2 L( W
char K[132]="";3 S8 R" F. {; o6 I7 K
char G[132]="";
8 ]/ {! ~5 X% x6 I9 W sprintf(C, "%f",XYZ[0]);. X( Q Z) w. E' ?
sprintf(K, "%f",XYZ[1]);
$ L R8 j1 \5 D: X; d sprintf(G, "%f",XYZ[2]); 1 I# k0 h. ]7 D/ F/ U8 l; }
char * edge_len[3]={C,K,G};. ^# S4 \# m( T( T- f- b/ A
UF_MODL_create_block1(UF_NULLSIGN,point,edge_len,&obj); //创建方7 J$ v8 k5 b; {( M: j r* _9 j/ ]
UF_MODL_ask_feat_body (obj,&obj); //从特征中取出实体
( a+ l3 T' x. f& k& K
+ J& P! `# T" M! ~" u8 O Body *body1(dynamic_cast<Body *>(NXObjectManager::Get(obj))); //tag转换给nxopen+ Q& v R5 T) t( S" W9 j
std::vector<TaggedObject*>objects;
0 W+ ]8 U( I- _. F9 |8 k objects.push_back(body1); //对象加入到selection0选择控件的对象列表
& f& n$ U7 L/ L; v5 H. S selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);! l2 c q/ M1 Y: G# y7 L' S
————————————————————————————————————————————
( w$ f4 J. i" L' y' W! `' j( c: C, A* Q
//清除对象
( Q' e( z3 |; m: X3 b" k( ?std::vector<TaggedObject*>objects;: _5 F7 z T: r- \& I2 b& ^- y: A' K
objects.empty();) V$ N$ F" ~% f$ I0 w+ r
selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);5 T& s# n2 Z# ^& M0 y/ i
3 R& G, |1 n" `1 |" R
————————————————————————————————————————————
3 i7 E- T% r' d; X2 O* _* }咧子:只选择面3 a& \8 U! `. Q: q5 N9 k* C
initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤" p. M8 ^ E, `, @% p
# [6 {/ ]8 [9 ]% q# p) n3 e0 p selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式6 \8 E" p& m0 B: e! w. _
1 W. L7 C3 b' R8 o //对象选择过滤 只能选表面
. g! u1 D! F" V% S! W( N$ r selection0->GetProperties()->SetString("LabelString","选择表面");. X4 j1 h0 o. z3 a
std::vector< NXOpen::Selection::MaskTriple > maskTriple;8 c) A. _5 n6 V7 t, H: r8 ~8 `
Selection::MaskTriple mask1(UF_face_type,0,0);, i& ]" E$ S, Y' s1 k2 a [/ r
maskTriple.push_back(mask1);
6 }# g7 q8 Q) o( r& W( r7 Z selection0->GetProperties()->SetSelectionFilter("SelectionFilter", Selection::SelectionAction::SelectionActionEnableSpecific ,maskTriple);6 a; [7 L$ Q0 S# `, V6 X. \
) J# T/ N" C! M: j( ]
. t- Y. g6 j7 Q. V2 K- g3 T. ^, `咧子:只选择面 【UG本身过滤器跟着变】
3 ]- v* g7 D# {. l initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤 & _- _* `2 I5 {4 T* w( V1 w- A/ L# \
# ~) d( D4 t5 f" E/ Y selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式
5 I( p. l& z4 |- M/ A, M
, C3 y4 f- Z' f# x std::vector< NXOpen::Selection::MaskTriple > maskTriple;
W* `. w# ^' G" D; z( D, F- E Selection::MaskTriple mask1(UF_face_type,0,0);
3 S6 x% y- l# c1 X( h maskTriple.push_back(mask1);
6 z. l+ X$ Q/ n/ h+ C: |* x/ Y NXOpen::BlockStyler: ropertyList *selComponentProps = selection0->GetProperties();
- c @ f/ B, V/ _6 S: g( v selComponentProps->SetSelectionFilter("SelectionFilter",Selection::SelectionActionClearAndEnableSpecific,maskTriple);
% @' w+ R) M1 \6 z' J! ]- a0 F delete selComponentProps;* a5 }2 |4 f) |9 T
selComponentProps = NULL;
! V) c: e& i0 ]/ g( @) B/ z2 x6 [+ ]
|
|