|
|
01、选择对象( i# \: Q, w: d; s$ ~
2 |: a" @% _' i9 `捕捉( _$ {$ y0 ?0 g/ S/ a
PointOverlay 是否显示捕捉点
2 ~# {. _7 j/ _ SmartUpdateOption 智能更新选项
- T! V* _, O/ t, W+ V' S5 ]) n Within Modeling 在建模/ v& g; R# ?$ k! t- Z
After Modeling 建模后1 f* ]6 ?% a+ M9 i' O$ C" `% I3 ^
After Parent Body 实体父后
5 P$ v9 e V, m- k$ @. g Mixed 混合
2 g' m# \) [( s. n: a
' T1 S+ s; C* _8 i2 P6 b. s" n SnapPointTypesEnabled 设置捕捉点类型的可见性2 h w# F7 j: i
SnapPointTypesOnDefault 设置捕捉点类型相关的内容被启用) _* M3 r' `9 W) ]
j7 H* r9 x1 Y5 M2 L* D常规9 K9 N' c4 C2 _) L1 ^$ c* n
BlockID 控件id% c1 T! L6 Z) _; D2 Z6 T
Enable 是否可选/禁用控件
. S* n& o2 y! C& \& q4 q1 Y5 ^ Group 组, U# K+ o. P+ k4 b- c
Show 是否可见
. T& [3 U7 L. V
~4 h! }/ w$ H, ^7 Z其它
8 D& H. u: |' b! Y6 H: I! N 附着
! |+ _) G( [! o& h# p- `8 R# Y Bottom 底
" X' I7 @9 s' u; x. s Left 左' N1 t! C. R7 U' _6 t
Right 右/ Q$ d3 n- z% V& R
Top 顶
( Z! o" ~% P# W8 \ l( ^$ t
9 s/ R- |: K- K* O特定于块
; e& y* q0 D3 ^ AutomaticProgression 选择后焦点是否自动跳到下一个控件0 u* L) o5 _/ s. J2 f9 F; @( w- g
BalloonTooltipImage 动态提示图片(鼠标移动到控件是显示图片)
- N& _/ i1 Y4 T0 t) E9 o4 j& K W BalloonTooltipLayout 动态提示布局% |, o; @. \; p) \/ ] j
BalloonTooltipText 动态提示文本内容
! H4 p( J9 | R: ^1 ]" B) x' J Bitmap 指定图片: t9 @7 v8 {' A! k9 d) G8 O
BlendVirtualCurveOverlay 是否显示虚拟交线
+ w C" O7 O- f P" H6 o: ? CreateInterpartLink 是否显示部件间连接图标在选择条上3 M1 I! D* q) G* l) ^9 H3 I
Cue 提示- F7 Z7 l- \) u6 U& u# z
7 ^0 m3 K3 w: O4 F7 \1 W0 a" T" A InterpartSelection 部件间选择设置! ]) W _7 s0 B( m6 U' U% e
Simple 简单: Y: x3 e# G# v" N9 }9 R! z
Non-associative Interpart Copy Only 只复制部件间非关联: W" {- y" c$ E4 ]) z% d" U' j
Associative and Non-associative Interpart Copy 复制部件间关联和非关联# Z+ D( Q1 D& X( P6 n: o
Associative Interpart Copy 复制部件间关联
$ j' H3 s1 g& Z, m+ ^% n; { {( T: y. |2 C6 T2 E
LabelString 标签标题
1 N+ |4 P9 T8 l" Y8 { MaximumScops 设置选择范围
, q! S& o- n+ ?0 S Entire Assembly 所有组件/装配
! f" n! E/ @, O% U! F/ \+ ]# E: } Within Work Part Only 只是工作部件
3 A- L$ Z+ d/ o0 p, C4 W3 J" D Within Work Part and Components 工作部件和组件/装配)
4 A% ~- v1 L7 t/ F2 I8 y4 `- X A- a# h3 {" }4 ~
SelectMode 设置单选/多选 - }- F u0 u! ~0 q& x K
Single 单选8 ]. T5 s' H; N0 Z
Multiple 多选& Y6 F+ {' v ]
! n7 I- A# l+ O& _& @ StepStatus 设置确定和应用按钮什么时候高亮 (Required 必需的时候)(Optional 可选的时候)(Satisfied 满意/满足的时候)( c7 C2 h+ H1 ?+ I
Tooltip 动态提示文本标题(Bitmap指定图片时,鼠标移动到图片时提示文字) z7 P) r# d; C
3 [( C" ? O$ n+ k1 I/ `8 T7 M/ z5 K
————————————————————————————————————————————. N& t: W8 b" q* ?6 r% C
————————————————————————————————————————————
# ^7 k8 J/ T. r s! V咧子:获得selection0控件选择的对象
7 d( \7 X- |, `$ m UF_initialize();
+ s/ z3 \' @% ]0 O( W std::vector<TaggedObject*>objects=this->selection0->GetProperties()->GetTaggedObjectVector("SelectedObjects");
3 }* T% q# P7 N4 A# p" S! Q9 Y for ( int i=0;i<objects.size();i++) // size 列表长度,这里指的是 对象个数0 A* H1 T. T* x: A
{
0 S$ e* B( c2 V7 Y d9 A/ `6 K2 e UF_OBJ_set_color(objects[i]->Tag(),1);. C! h. `7 ]0 g1 ^$ I
}
2 R% B Z) ]4 v) z3 n, n5 I- \ UF_terminate();
% \( t& Z( |1 L
5 f0 X8 M7 ~; J3 e a————————————————————————————————————————————
, K3 T% d% d: ~8 U$ p/ m咧子:对象加入到selection0选择控件的对象列表
: i; I$ t: z. g- j, {6 S) _- q% R. U) k
tag_t obj=NULL_TAG;
: | i. }/ }7 v7 E7 c double point[3]={0,0,10};
$ ^/ i5 ?+ A' o/ J! C. J3 }) j double XYZ[3]={60,50,80};1 p. g( f, ^8 i9 a0 W
char C[132]="";
1 h8 g, H9 b. V9 @1 `% e* M char K[132]="";
, Z, I: a1 [. N4 C) j" a& H char G[132]="";
7 K; D- I4 L/ k4 Y: w- m/ N sprintf(C, "%f",XYZ[0]);
( G4 G5 d# \ b: ~. M sprintf(K, "%f",XYZ[1]);
& w9 \/ q p1 H sprintf(G, "%f",XYZ[2]); " ~/ g$ Y1 a7 f/ z) ]4 ?) |
char * edge_len[3]={C,K,G};
( I+ T3 W9 m8 [$ Z" I UF_MODL_create_block1(UF_NULLSIGN,point,edge_len,&obj); //创建方" F" ?5 s6 Y! }
UF_MODL_ask_feat_body (obj,&obj); //从特征中取出实体' x/ c9 |# ~3 g; r
2 D2 O( a9 F0 A: x Body *body1(dynamic_cast<Body *>(NXObjectManager::Get(obj))); //tag转换给nxopen
- l Q' I: L: t1 B2 g std::vector<TaggedObject*>objects; i) C6 m& B1 G3 J+ a
objects.push_back(body1); //对象加入到selection0选择控件的对象列表
4 X7 j" g- l; x" W) F, X selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);2 q" j1 T i0 r
————————————————————————————————————————————
2 o& f- K. O0 C* K
- l. t0 A7 B$ R6 \, D5 V//清除对象
4 T( A3 x8 X! u, D( s. bstd::vector<TaggedObject*>objects;$ f! k Q2 o* N
objects.empty();* s. t' P7 s" L+ q
selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);
: ~: T9 P5 h+ J& x4 V& ^8 L
5 D4 M _7 ]* H( W( v5 o) h% G————————————————————————————————————————————
3 `1 K. \' B/ b, k" y9 o: ?咧子:只选择面
: l- {7 g8 K ?! G1 y initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤
" e/ [' v, W5 U" }
! ]% ^; D4 o2 E+ ^ selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式
( n$ S1 v& S# [5 R+ O& P6 g3 |) K3 L* W% G, _% {5 c& p v" y
//对象选择过滤 只能选表面# D! E7 X1 T; x/ @
selection0->GetProperties()->SetString("LabelString","选择表面");( h% i3 S, m, W2 E4 Y6 M# f
std::vector< NXOpen::Selection::MaskTriple > maskTriple;; Q) K3 G1 K6 G' r! G4 [0 j
Selection::MaskTriple mask1(UF_face_type,0,0);$ b+ o) Z' ]4 f
maskTriple.push_back(mask1);
3 z4 |1 k, S! c# h4 z. X+ w ` selection0->GetProperties()->SetSelectionFilter("SelectionFilter", Selection::SelectionAction::SelectionActionEnableSpecific ,maskTriple);
3 x/ K2 E5 h3 v# t( Q( L5 Q) Q4 }7 A/ j/ m4 y/ @5 `
& L5 w3 A/ o3 F! }6 n7 K
咧子:只选择面 【UG本身过滤器跟着变】0 C6 T n& T# C2 C
initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤
4 d" ?" C2 w5 q# ?2 V& g3 o5 V! ~& R$ ~% a! \/ i4 _8 _3 S
selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式( ?* Z4 M- ?& P1 g* o3 z
4 k b0 p* ^1 V8 X7 \
std::vector< NXOpen::Selection::MaskTriple > maskTriple;
1 U! g+ T% o2 R4 f& P/ S Selection::MaskTriple mask1(UF_face_type,0,0);
: v! i8 v4 r) p; p* p2 Z. Z. @' H maskTriple.push_back(mask1);
; h' `8 b2 f, Q( G) K NXOpen::BlockStyler: ropertyList *selComponentProps = selection0->GetProperties();4 w6 g% ^% t. D! M2 Q0 f" x
selComponentProps->SetSelectionFilter("SelectionFilter",Selection::SelectionActionClearAndEnableSpecific,maskTriple);( S7 `# l3 B4 e
delete selComponentProps;
5 ~' J# i" |+ g0 b; Q* l) q selComponentProps = NULL;: _' Q! D! n8 [, R* Y3 H
8 m0 r* X6 ^+ ?, A. B
|
|