|
01、选择对象
1 A" P! r# X- R
- X3 @, w" i" }; R捕捉- M1 m* {; @* d6 B/ p1 I# n) l; t8 B' s
PointOverlay 是否显示捕捉点' O5 ]- b$ t* k1 `
SmartUpdateOption 智能更新选项2 j# v$ g1 Q: y, {% U! q7 O' `
Within Modeling 在建模 T' R# ]8 M5 R- r- p8 ]$ t0 a7 R! [
After Modeling 建模后
! k3 }* R8 z* U/ D7 F, N After Parent Body 实体父后+ J& o+ f# V' b$ B2 _9 ?
Mixed 混合/ f; M; q$ A3 P- P& R6 T& L; Q4 q
% ^) h5 y1 N4 ^, p; O4 M
SnapPointTypesEnabled 设置捕捉点类型的可见性
: p& [5 o' W" g/ c! p, @' k7 J; _- H SnapPointTypesOnDefault 设置捕捉点类型相关的内容被启用8 E! ]' j0 k- r
( [: [, ^! J5 f4 b常规1 i4 T4 {* U4 L! c
BlockID 控件id
5 ]0 g3 G5 r/ H Enable 是否可选/禁用控件+ z& E9 g- o% W
Group 组
Z& {0 \: ^# u9 @, L2 W Show 是否可见9 C6 V$ v. }1 I
5 c' T- Q; l$ n. A9 k$ v其它 / a0 m- ]0 x8 Q. z; b
附着1 ^1 G. Y$ b" @7 d
Bottom 底( ^/ l+ E% E3 u- Z; |* p0 F
Left 左' F7 G7 @ y% p2 a3 r" r) E2 w0 c
Right 右
[0 R2 e" ^7 u1 l Top 顶# E- }0 F! g" [- c
8 v3 }& d) b, N, i6 w5 f- b特定于块
+ ]( n3 m2 g: j: c AutomaticProgression 选择后焦点是否自动跳到下一个控件* X, y0 H% W) n) Z' n# S
BalloonTooltipImage 动态提示图片(鼠标移动到控件是显示图片)
5 `6 ~, {& o, ~5 K5 d BalloonTooltipLayout 动态提示布局0 v+ {' a" `8 V
BalloonTooltipText 动态提示文本内容
* G! y4 H( ]* w" Y6 e; ]) b: \ Bitmap 指定图片
& b( |- }2 i# R! }! N$ Q BlendVirtualCurveOverlay 是否显示虚拟交线
1 F7 }; l& b9 N% S5 I, u CreateInterpartLink 是否显示部件间连接图标在选择条上
. _& R3 H ^' N$ P Cue 提示' _' j5 d& b" Y1 S8 z* h: m, B/ Z: {
5 |( I# r# P& U$ p
InterpartSelection 部件间选择设置; T# u3 q- ?8 x3 Y
Simple 简单. R8 r# a( w7 x; k; k) ~
Non-associative Interpart Copy Only 只复制部件间非关联
. t+ n& L" ^, F# j3 |# J! }0 W Associative and Non-associative Interpart Copy 复制部件间关联和非关联
! T) V1 Y: N1 h' \" ] Associative Interpart Copy 复制部件间关联5 b+ A1 p6 H |$ F3 l) F
9 U0 K( ^; u8 d5 H0 ^3 U
LabelString 标签标题
, x9 `6 C; i# z! s" B MaximumScops 设置选择范围$ k+ o. G! k: E' P) o& U) w0 N$ Y6 q0 m
Entire Assembly 所有组件/装配) z3 w. t! X- @, @3 I
Within Work Part Only 只是工作部件, X7 s5 n) G F; ]2 @! C" ?' ]. D
Within Work Part and Components 工作部件和组件/装配)1 C) I7 |: F4 p7 S# E; p
, f0 j M i) @1 C% {6 } SelectMode 设置单选/多选 , P" o; {5 D/ v% v
Single 单选
$ R6 q; u2 _) ~# |- j) a/ m. C Multiple 多选( H% C0 J+ @0 }! J( L
( m1 p; D' {1 { StepStatus 设置确定和应用按钮什么时候高亮 (Required 必需的时候)(Optional 可选的时候)(Satisfied 满意/满足的时候)+ q, k6 ^' B4 L) E6 E
Tooltip 动态提示文本标题(Bitmap指定图片时,鼠标移动到图片时提示文字)
1 h0 U1 F- `4 |( b% f) \
" x- L& l6 d4 d: I& w# h, V) ?————————————————————————————————————————————
2 @% Y5 {; ^& B+ E( _————————————————————————————————————————————8 ]4 | v, t6 `+ @# F7 q
咧子:获得selection0控件选择的对象
2 e( j7 }0 _ Z# E* V$ o9 s" K UF_initialize(); ' I( V. J5 ?" }& L
std::vector<TaggedObject*>objects=this->selection0->GetProperties()->GetTaggedObjectVector("SelectedObjects");
* @5 M4 R# a3 S. U( T for ( int i=0;i<objects.size();i++) // size 列表长度,这里指的是 对象个数
& V- L% |; J% h2 { {
* U2 o) q2 ~1 M* o UF_OBJ_set_color(objects[i]->Tag(),1);& a& L# e+ T `
}
- L2 \% W: o7 l5 \0 \9 | UF_terminate();! @* \' ^! V% B
3 u- U- ?9 T2 g0 j6 h; B4 ~4 N————————————————————————————————————————————3 y1 @( ^4 b, w, E7 i. x0 c
咧子:对象加入到selection0选择控件的对象列表8 s4 H( d$ Q1 R8 t, c/ k
: ]* k; k- x+ G4 N tag_t obj=NULL_TAG;0 n% R# q0 Q4 x/ j; v: b: x- z+ n* n
double point[3]={0,0,10};) Y2 K# n+ L& ]' [
double XYZ[3]={60,50,80};
. ~+ O- K# `6 Z* ^+ o char C[132]="";
$ i" O- V% q$ Q! b( U* q char K[132]="";
( E2 l, e& i& N: ^! } char G[132]="";
" _2 q0 ?9 _# x9 j9 \0 I. o, ? sprintf(C, "%f",XYZ[0]);
0 f- b3 D6 g t$ Z! J3 g sprintf(K, "%f",XYZ[1]); 0 A" i% u# d# q( [+ h4 [8 P
sprintf(G, "%f",XYZ[2]); ; {) C3 c5 ], u5 @( x4 \
char * edge_len[3]={C,K,G};
/ x. o6 W4 u. N. o0 L- J UF_MODL_create_block1(UF_NULLSIGN,point,edge_len,&obj); //创建方/ ?& X3 p3 N. m" e+ V* i. V
UF_MODL_ask_feat_body (obj,&obj); //从特征中取出实体" O+ Y9 W, r& Q/ J0 D6 j5 Z
8 a& U& O) H/ [. G) ? Body *body1(dynamic_cast<Body *>(NXObjectManager::Get(obj))); //tag转换给nxopen
2 c+ D; M& M* C5 {; Z std::vector<TaggedObject*>objects;& l& N0 Z4 b% O7 p% x' l$ @
objects.push_back(body1); //对象加入到selection0选择控件的对象列表
4 s' N, k$ I: f) p selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);
) D7 A& ~4 [1 h( D————————————————————————————————————————————6 q2 ^* p! ^; x0 ?) _
) V2 u2 _" t, O d0 I$ @//清除对象
, \% N# ^, s( V/ k6 jstd::vector<TaggedObject*>objects;
: O- s* _; D" ^" M5 jobjects.empty();1 ?( L7 e3 S9 [4 j' ^+ @1 {/ ~
selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);+ k. i* ]9 J, G" Y
" S! y: y1 N- ~& \- P————————————————————————————————————————————
8 O$ |# R& z8 x咧子:只选择面7 i& c/ _5 S1 c* c8 M/ X! e0 o# a
initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤
6 @2 m5 S! ?1 I3 t; c( G' i+ m% X, D$ Y1 j
selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式
5 r7 B$ J7 g: y0 J* n6 o i8 k. }9 X3 y% K: U) V* b2 W4 Q/ \
//对象选择过滤 只能选表面& U; }2 x5 e* d; W; l; }( b- g
selection0->GetProperties()->SetString("LabelString","选择表面");8 x3 ~! T0 d- r0 a
std::vector< NXOpen::Selection::MaskTriple > maskTriple;
r# q v( L+ f% g' U' D Selection::MaskTriple mask1(UF_face_type,0,0);
+ a& ^' F( M0 V8 s& }6 g! p maskTriple.push_back(mask1);
) `. `) }( a' ^ selection0->GetProperties()->SetSelectionFilter("SelectionFilter", Selection::SelectionAction::SelectionActionEnableSpecific ,maskTriple);( ]! c: M) K3 v
; y& ]5 _7 X$ j8 [4 j$ b. ~! L. [$ i3 C
咧子:只选择面 【UG本身过滤器跟着变】
! i0 r1 |) ^2 R y initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤
9 R2 r. o/ I) \; }3 c% n7 K7 I) F F2 q
selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式. s; i ~4 H J7 }( O
# B) B( c: g. s( T" g
std::vector< NXOpen::Selection::MaskTriple > maskTriple;
+ [" k% g: ?! |1 t5 ^( k5 W) d& D Selection::MaskTriple mask1(UF_face_type,0,0);
* Z. x( h- N) l% i maskTriple.push_back(mask1);% b/ ~, s1 \1 v% a
NXOpen::BlockStyler: ropertyList *selComponentProps = selection0->GetProperties();
6 j( T1 A( r% k' a0 I! N9 k selComponentProps->SetSelectionFilter("SelectionFilter",Selection::SelectionActionClearAndEnableSpecific,maskTriple);% ?7 x2 [& z! J% X& x* q" X
delete selComponentProps;* L5 T E7 M$ n) T- A
selComponentProps = NULL;
) b1 u2 M* Q) Y$ o% x# z. T P0 `- p8 M; Q* Z
|
|