|
01、选择对象
% X J" N& \. `& K9 V9 u2 Y7 K: F+ C& Z' ~; ~6 y$ X
捕捉
9 p' W9 Z( j0 I3 `5 s! ` PointOverlay 是否显示捕捉点! C. _) O- Z" Z& f+ `7 @
SmartUpdateOption 智能更新选项2 E0 P7 [! Y. x
Within Modeling 在建模
" ^: C1 c5 w2 O, P2 z% n% W After Modeling 建模后
5 {4 f; W/ O" m# }4 J; i$ ~ After Parent Body 实体父后
) q3 \; X. ^9 d* T Mixed 混合; Y) a& L+ Y5 j# x6 a' G% M
0 \( w' p9 r, ^+ _- e SnapPointTypesEnabled 设置捕捉点类型的可见性9 q! {4 `3 Q7 q9 |# g* ?
SnapPointTypesOnDefault 设置捕捉点类型相关的内容被启用6 `4 J+ e8 D6 ?
1 S1 [) {3 C4 e$ g; \
常规
3 G6 U, z! o" S, M5 w BlockID 控件id, x/ O! N! v i
Enable 是否可选/禁用控件5 o" A Z/ W- P- b( `, I
Group 组. S$ V: i4 W! ]/ b3 ^# D
Show 是否可见
0 j$ c% i) V+ u9 P2 E) ?5 ?( }* H* |) R. r; C4 v" y
其它 / K) X3 x/ T6 R0 N( z, [
附着
/ v0 b* Y8 ?% b Bottom 底2 v. K* m* w& j% O& a7 E
Left 左/ v% L- I, q% u, L
Right 右: o4 a, a$ s3 ?! \6 R4 X
Top 顶1 X5 d3 K9 v9 Q5 `/ U
5 ~8 T* a. j# E; M8 p9 X/ ]) ]9 ]- k特定于块
! Y# y+ J- i6 @5 p7 H2 ^, S AutomaticProgression 选择后焦点是否自动跳到下一个控件
, U0 y. O. N1 G' b$ {8 r' S: r BalloonTooltipImage 动态提示图片(鼠标移动到控件是显示图片)& s+ |/ ~" k2 ?& j( x# M
BalloonTooltipLayout 动态提示布局7 N5 ~6 v$ b3 n5 w, g. M' n' R, z
BalloonTooltipText 动态提示文本内容
5 _) P- ~5 ]2 P' A/ [6 Y Bitmap 指定图片4 a4 d2 U0 M$ W, h! x
BlendVirtualCurveOverlay 是否显示虚拟交线
9 U. P+ _ ^' _( K/ U Q$ z CreateInterpartLink 是否显示部件间连接图标在选择条上! p P/ x% j5 y/ `
Cue 提示
. o5 Q4 j( G& c
4 W' l& G- ^* e; Z3 J1 R InterpartSelection 部件间选择设置
8 p# M5 g8 w: X: `2 N0 {$ M Simple 简单$ ^. g' j5 k% s) s8 s. _" S: q* K' V
Non-associative Interpart Copy Only 只复制部件间非关联
' s! o' X+ A ~( f) Y Associative and Non-associative Interpart Copy 复制部件间关联和非关联. P0 V+ `6 H! M m0 b* X9 C
Associative Interpart Copy 复制部件间关联8 |1 y% ?" X2 ^ s* ^- J
/ x3 H3 ]1 \9 u' x) _$ c
LabelString 标签标题% Q! Y/ }* z) j. x$ K
MaximumScops 设置选择范围
! l& E* w/ L0 y* T. P Entire Assembly 所有组件/装配
, K- G2 O( d8 }9 m: H& l8 | Within Work Part Only 只是工作部件
/ T# w8 q$ r- y( u2 Y Within Work Part and Components 工作部件和组件/装配)
/ A S% ?6 K$ o0 |4 I; v# B2 N/ n: k9 b2 m7 B! x
SelectMode 设置单选/多选
/ z& z3 w0 P ]9 m+ l, z: Q3 Q Single 单选
1 a! r2 c5 Q( g$ G. n Q+ [ Multiple 多选+ e5 ?1 E+ C) F% I9 |4 _
0 a* E) F/ W8 A
StepStatus 设置确定和应用按钮什么时候高亮 (Required 必需的时候)(Optional 可选的时候)(Satisfied 满意/满足的时候)0 w. O! f) b( e/ n
Tooltip 动态提示文本标题(Bitmap指定图片时,鼠标移动到图片时提示文字)
' n2 S$ `9 r. k; V& a% C
* ]3 ]+ f" i2 V3 G; W {. R: h H————————————————————————————————————————————
( J; Z) E/ P' n0 b% a0 {2 W————————————————————————————————————————————3 Z' L5 k8 |: b0 s5 |# ]& S
咧子:获得selection0控件选择的对象: m, E5 J# E2 V. z+ X7 v& K
UF_initialize(); , M- Y2 Q3 @0 h' E0 X9 E
std::vector<TaggedObject*>objects=this->selection0->GetProperties()->GetTaggedObjectVector("SelectedObjects");
7 o7 i# O g+ C for ( int i=0;i<objects.size();i++) // size 列表长度,这里指的是 对象个数! @. C, W; b. }, Q
{ 1 D/ R& a8 U2 B$ f
UF_OBJ_set_color(objects[i]->Tag(),1);
+ y9 T% L# m* C8 I6 A }
- h' h) O) x; }' k( \. [ UF_terminate();9 s# V3 Y) F8 n2 F* i
* R) J9 t3 Y0 T1 Z6 E3 u————————————————————————————————————————————# a) D0 G9 a& b8 f6 W4 g5 r
咧子:对象加入到selection0选择控件的对象列表
2 y S0 O* ~* j+ J3 y' j o3 u; H* x9 n) O# A5 L
tag_t obj=NULL_TAG;3 }( s& P& b8 p7 p- \
double point[3]={0,0,10};. u8 F" E, K& L! k9 J
double XYZ[3]={60,50,80};1 M7 A- B( h( W5 q
char C[132]="";+ a. ~& O+ {2 M# U& \4 \: B
char K[132]="";
. B, G5 H7 z% d( X6 G char G[132]="";; k/ }! Q6 d9 q: _
sprintf(C, "%f",XYZ[0]);# I d% Y& ^2 k* V4 n
sprintf(K, "%f",XYZ[1]);
9 y3 S) F( {. D# a+ T4 d& B$ } sprintf(G, "%f",XYZ[2]); 2 }, M# n' M1 v. v9 d ]
char * edge_len[3]={C,K,G}; u( L. J3 T, n4 N- ^ F% }
UF_MODL_create_block1(UF_NULLSIGN,point,edge_len,&obj); //创建方
% o, I: I9 w: s! z UF_MODL_ask_feat_body (obj,&obj); //从特征中取出实体
, [2 X" ^2 |& B( C
( l6 j7 t2 `" o4 y/ V Body *body1(dynamic_cast<Body *>(NXObjectManager::Get(obj))); //tag转换给nxopen- E& z, t0 `2 K' t7 x5 i; j% `
std::vector<TaggedObject*>objects;7 _5 M( q5 f1 \. F# r6 V6 U% j
objects.push_back(body1); //对象加入到selection0选择控件的对象列表
5 w! p7 _! q9 m6 W2 c selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);
0 B2 W8 b- A% b) t% X————————————————————————————————————————————7 l, n* x! S/ }/ _
6 [3 E! ^' d/ j0 P) g; R9 K//清除对象
. h. h" h* H& ?# k8 Istd::vector<TaggedObject*>objects;
( v* g* W4 b$ v0 oobjects.empty(); n2 `0 ^5 s1 G D
selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);, [! l1 L, E3 I- z6 M
# `, Z. Y0 I- m% t, c/ z" }$ h————————————————————————————————————————————$ ^6 Y; y! S, O
咧子:只选择面
% ?" O7 `6 ^2 R5 G, z# L initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤 W6 m- N% i7 z5 p. P# E: b. E
! h6 r1 ^6 ?; Y0 p) Q; f
selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式
+ i2 {6 Q. O4 l: S+ e- ~6 n3 X% R* k& c# T0 C) v
//对象选择过滤 只能选表面8 p' }" d, j& C5 y
selection0->GetProperties()->SetString("LabelString","选择表面");
+ g1 c: Q" ]* Z& k+ X: e6 q std::vector< NXOpen::Selection::MaskTriple > maskTriple;6 {: D& Q0 a8 ]( u
Selection::MaskTriple mask1(UF_face_type,0,0);
$ m7 _+ M% S3 { maskTriple.push_back(mask1);
' f! f4 }" {* w# o( j6 f/ _ selection0->GetProperties()->SetSelectionFilter("SelectionFilter", Selection::SelectionAction::SelectionActionEnableSpecific ,maskTriple);
/ _: S/ d4 @! \2 X4 z3 y0 k
7 O" Q6 s( w4 J* ^. F, Y# m3 p0 [1 y2 }
咧子:只选择面 【UG本身过滤器跟着变】
" M" ~! l* a$ u9 S% v initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤 8 C8 s. m+ d0 h3 }7 U! i3 B
0 Q8 z6 }) Y% M$ U% f selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式/ B- F( ?0 I" a- M9 ^
. _7 t& N3 |+ c6 v
std::vector< NXOpen::Selection::MaskTriple > maskTriple;
3 N( b" A( K, J Selection::MaskTriple mask1(UF_face_type,0,0);
/ b! E& p8 N9 [ maskTriple.push_back(mask1);, ~6 p2 i/ G4 _6 `% A
NXOpen::BlockStyler: ropertyList *selComponentProps = selection0->GetProperties();: @9 N% g( ]! I; ~ d, o
selComponentProps->SetSelectionFilter("SelectionFilter",Selection::SelectionActionClearAndEnableSpecific,maskTriple);& y. W0 ~" t% T
delete selComponentProps;
7 y8 A& u; G/ |0 S8 V0 F! w selComponentProps = NULL;- P8 P$ z" |2 S
% a8 \$ z: n" ~* Y" X
|
|