|
|
01、选择对象
' n: n* t! D) i; k: [6 J& m( o1 E' K
2 i `+ Y' M3 a捕捉
, b# `" `6 H: q PointOverlay 是否显示捕捉点* f6 i4 J' n$ p) b& E @
SmartUpdateOption 智能更新选项
. c0 n7 e: b5 I Within Modeling 在建模+ y3 x6 v7 m8 |& _7 T& f. ?
After Modeling 建模后
. a" ?: g% a; r) Q6 h# l/ e After Parent Body 实体父后
" c/ J5 D c5 r7 B) I( t Mixed 混合/ D0 s6 Z" @& f
! {) _8 J3 \" ? SnapPointTypesEnabled 设置捕捉点类型的可见性
" i3 p3 S* o( G; u* L SnapPointTypesOnDefault 设置捕捉点类型相关的内容被启用/ ?4 H! O( V* {8 d& D7 b
6 I4 Z# N% |1 G* i7 B) ]
常规5 e" a- L |8 Y$ p" b
BlockID 控件id# `( d! d' X( }* X
Enable 是否可选/禁用控件5 e8 w2 r ^) I" g
Group 组" ^4 P- N5 K x8 {+ k
Show 是否可见0 _9 [, Z1 h: K* W( z/ e
& `& s2 H/ i; H9 Z ]0 t+ l其它
% I8 p4 Y, ^% a7 ] 附着+ I$ L0 y& a& ?
Bottom 底% e5 u4 Z! R5 k! A
Left 左
& l, T+ m1 p+ D* [ Right 右
' z3 B' ?; V% D& i Top 顶( P+ s0 @& D q
?. k) G* O3 l特定于块
7 e. V9 X# G* W* ^, z& i AutomaticProgression 选择后焦点是否自动跳到下一个控件
7 o: e$ Z' N! \3 U# ] BalloonTooltipImage 动态提示图片(鼠标移动到控件是显示图片)7 R' B7 }6 Q0 O6 S4 r
BalloonTooltipLayout 动态提示布局; ]; a; C; a6 I7 f( {& a+ [/ y; Y3 V
BalloonTooltipText 动态提示文本内容
2 p0 E5 _1 D' A( | Bitmap 指定图片
/ s6 w, g8 R/ v4 U) ^ s- G2 O BlendVirtualCurveOverlay 是否显示虚拟交线
( ]9 ]7 e3 [' X( s CreateInterpartLink 是否显示部件间连接图标在选择条上. h8 r& \" }4 Z3 [+ T6 p
Cue 提示+ J" c8 G! ?/ q- E0 o7 E9 w |/ X
: h4 T9 M& i3 B, f: ?, Q& J6 J0 R
InterpartSelection 部件间选择设置4 ?/ f- v6 d5 i4 b, y5 c9 ?
Simple 简单% l4 R2 m- I- O: S6 H
Non-associative Interpart Copy Only 只复制部件间非关联2 a1 }( U( `$ p7 M5 b+ X4 G# Z
Associative and Non-associative Interpart Copy 复制部件间关联和非关联
% d# B6 P7 h7 _5 r: ` Associative Interpart Copy 复制部件间关联
) b& ^8 u8 m `+ b# \2 \) }% a8 N
LabelString 标签标题
) n& h9 `# `& I ^7 K% W MaximumScops 设置选择范围
; F4 @$ M7 ^9 b0 b5 u5 F$ K0 o* A Entire Assembly 所有组件/装配
9 o, ~7 x/ I' q Within Work Part Only 只是工作部件* e: r" T8 M& Q, ^. C6 G
Within Work Part and Components 工作部件和组件/装配)
6 k; _5 N4 X. \- ~+ d( L! M
% i( P0 A* p* S9 C& n SelectMode 设置单选/多选 + l: p9 B" a& }$ j9 r K( ?% y! u
Single 单选2 M" q& Q- h( T9 x
Multiple 多选
7 B- t" k" \+ l% ?" C: @4 x5 j8 |+ E; z* d7 S2 f/ n
StepStatus 设置确定和应用按钮什么时候高亮 (Required 必需的时候)(Optional 可选的时候)(Satisfied 满意/满足的时候)
f0 m& Y' a3 }% g t! h Tooltip 动态提示文本标题(Bitmap指定图片时,鼠标移动到图片时提示文字)
& F3 @; U3 F2 Z N; x7 f6 H' w6 R3 i: p; w# r# l" B7 x
————————————————————————————————————————————- P1 i0 @9 ?3 I1 `
————————————————————————————————————————————4 T, ]; h: L1 O4 P+ P
咧子:获得selection0控件选择的对象
8 b3 I, h9 P" I$ `, n7 ]( G UF_initialize(); ; B' h9 T0 H) Q+ r+ L, l8 r
std::vector<TaggedObject*>objects=this->selection0->GetProperties()->GetTaggedObjectVector("SelectedObjects");% X$ G& c6 s% }! g
for ( int i=0;i<objects.size();i++) // size 列表长度,这里指的是 对象个数
/ D* Y, M c7 `! Y {
5 V) u0 L5 d2 ?& p4 K& `7 _$ \ UF_OBJ_set_color(objects[i]->Tag(),1);
) m: R! H4 g' W }( Z" @' J, D3 A
UF_terminate();
0 w. t$ u: _& @# W5 _+ k$ I: q- n+ Z K* A) r$ J$ G ^: n
————————————————————————————————————————————
; h+ ~3 l1 L" X3 v4 o咧子:对象加入到selection0选择控件的对象列表
; ^7 C2 z) \/ s& f/ ^
2 h% \2 Y% N. C1 K# q0 b0 ~ tag_t obj=NULL_TAG; x: G& o2 S7 @% j' B7 n& @. G
double point[3]={0,0,10};
! }: J; `& L. l8 Y. q double XYZ[3]={60,50,80};( a! e }& c) h: |, k
char C[132]=""; x3 H1 N, p0 {% x% W$ s
char K[132]="";
2 Z3 g0 @/ I7 s3 D char G[132]="";: s4 O" O. Y( G- _
sprintf(C, "%f",XYZ[0]);
( z6 s4 H* {, S \4 ^( w q sprintf(K, "%f",XYZ[1]); ! {" C+ r+ B1 R( t: @# [5 ] D
sprintf(G, "%f",XYZ[2]); + M5 |4 t& R- R, z, |2 n
char * edge_len[3]={C,K,G};; F' i" n9 A$ G4 i: D
UF_MODL_create_block1(UF_NULLSIGN,point,edge_len,&obj); //创建方8 q; f/ \* e, o) a
UF_MODL_ask_feat_body (obj,&obj); //从特征中取出实体3 }3 n7 q, U4 ~. `0 ]0 A
$ L: X6 }! ]% P) ]
Body *body1(dynamic_cast<Body *>(NXObjectManager::Get(obj))); //tag转换给nxopen8 b9 h4 \( e1 E' v" ?! h
std::vector<TaggedObject*>objects;, i1 p' \- {6 ]. S! X1 u8 z/ G* j+ u
objects.push_back(body1); //对象加入到selection0选择控件的对象列表3 f' Y& _5 h! T; G! j" I& M
selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);0 ?" y7 ^$ z6 ^! {0 u/ @5 m
————————————————————————————————————————————! k: b% m5 E! h" f
# S3 N! b3 B" F- p1 Z+ \) d [* n8 Z//清除对象+ Z0 _! V3 Q" {" O
std::vector<TaggedObject*>objects;
$ L0 Y. d# B( f8 c5 I q( sobjects.empty();
$ n$ J/ S; L7 G* Jselection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);" B2 P6 V% N7 m; }- s2 C
8 J/ s; |1 S& }% `: {" L————————————————————————————————————————————$ g) N+ g, P! S9 E) v4 E# n; Y
咧子:只选择面- T) R) x' o. B) n5 b
initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤6 x2 a+ p( s$ d& f. m1 ^$ _
5 q, X: u g* g& h$ w5 O8 d# K2 V4 V0 I5 k
selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式
2 M; E r* H2 o3 b x2 }% p4 Y4 ?
8 U2 X2 W4 e3 d& O //对象选择过滤 只能选表面
, q G v; i. d- C selection0->GetProperties()->SetString("LabelString","选择表面");4 N1 W6 r( a& b+ C! a! Y2 J8 h
std::vector< NXOpen::Selection::MaskTriple > maskTriple;6 _" R* h* B' g& l; q$ h% P9 o
Selection::MaskTriple mask1(UF_face_type,0,0);0 w) U: J1 r/ L, ]+ a3 u9 \ Q
maskTriple.push_back(mask1);
: K2 r8 a3 @7 F2 O selection0->GetProperties()->SetSelectionFilter("SelectionFilter", Selection::SelectionAction::SelectionActionEnableSpecific ,maskTriple);. ?4 C2 ~8 U+ t
1 C4 t: o" _$ y5 @7 B9 f5 s+ M1 X1 Q3 B$ y4 q- R8 c
咧子:只选择面 【UG本身过滤器跟着变】, E! N& k( M8 b4 \ K: v
initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤
2 f0 I5 c' a0 D7 C v+ t( \( ~) m# a6 W! L" _, R
selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式
( a& K. w. T& i' M- u$ O
8 C. C* u, |2 u9 B2 T8 f std::vector< NXOpen::Selection::MaskTriple > maskTriple;
1 j4 v. N. |5 F9 M I5 B6 ^$ g! e Selection::MaskTriple mask1(UF_face_type,0,0);
4 I$ v# c- t% u) g8 W3 D l: p; K+ v maskTriple.push_back(mask1);
# Z% N3 U' G* w% D NXOpen::BlockStyler: ropertyList *selComponentProps = selection0->GetProperties();1 b" A6 W- n4 B: M. {& R* l
selComponentProps->SetSelectionFilter("SelectionFilter",Selection::SelectionActionClearAndEnableSpecific,maskTriple);
3 ?3 {$ Q$ C3 M; c8 P* l9 h delete selComponentProps;
/ I, O2 g2 s* I3 M selComponentProps = NULL;
6 Z) L$ j6 E% g. b5 K- s; L
Q$ k: c/ j3 Z0 W3 K1 `" m |
|