|
|
01、选择对象
) U, k2 w0 H0 D0 g3 B& P+ [( s0 F
* P- i% M) x/ t1 c' E: e2 s捕捉
8 k. u0 D" \% S7 m4 c PointOverlay 是否显示捕捉点) d* J4 n- {4 r3 y
SmartUpdateOption 智能更新选项
" ~* X$ ]0 Y. u7 a Within Modeling 在建模
; `3 x$ N" T/ D1 i2 e8 { After Modeling 建模后5 U( {. M' R6 s
After Parent Body 实体父后
6 k6 h% L) }; g8 ? Y Mixed 混合
x6 I; D. K; I, Q0 W, w! v! I" D4 U- q0 D0 a1 Q
SnapPointTypesEnabled 设置捕捉点类型的可见性
% Z1 O+ X$ s+ m& q! B1 e$ R SnapPointTypesOnDefault 设置捕捉点类型相关的内容被启用0 A& f) S5 A( y+ f# P3 c+ P, j
: e4 l' Z: j) R常规
* k8 U" l8 Q& a! b BlockID 控件id- }/ P/ k" u- `- S- e' x
Enable 是否可选/禁用控件+ m$ p" l7 F. d5 ]' ~
Group 组) I% p# C+ d5 o# r' F% w/ e
Show 是否可见
4 o2 o: P1 b6 i: L% w/ S# z; y5 p P# D
其它
4 F& E! E* P3 _0 F 附着
2 o; [/ y# w* R: _; T+ t: R Bottom 底8 k" P2 o. Q+ a. [9 W; g+ {
Left 左
* [. O; w$ O _; K% L6 \* i Right 右/ ~4 V" n$ I) M! K ?7 G4 K5 s s
Top 顶2 C/ F9 K9 s/ j) C9 d. ?- D
, t& q7 z/ {7 T8 s- Q$ V特定于块, F& A) G! d: X9 A$ y4 q$ H
AutomaticProgression 选择后焦点是否自动跳到下一个控件
1 f2 z, k) d; Y5 r- O) i4 V; Z BalloonTooltipImage 动态提示图片(鼠标移动到控件是显示图片). W0 m1 Y: \( [8 t# w7 O+ C' y6 ]
BalloonTooltipLayout 动态提示布局4 h) c. N O" w- w9 v1 K* h0 l% H
BalloonTooltipText 动态提示文本内容& v& ~! a2 w. f" M
Bitmap 指定图片
- `1 r! M' g8 {1 ?1 q* e* x BlendVirtualCurveOverlay 是否显示虚拟交线
# ]% s, C" ~' y# b7 j7 L" } CreateInterpartLink 是否显示部件间连接图标在选择条上
$ W4 Z4 f& ` o Cue 提示
4 A' R) y3 [# ^2 ?9 W0 U8 G% |" n0 p. z7 _- ?
InterpartSelection 部件间选择设置& G4 _8 |% D9 y1 z9 |
Simple 简单1 |' W- O8 O, [8 H [
Non-associative Interpart Copy Only 只复制部件间非关联
b& ^# H% }. T% F( I$ Q! f Associative and Non-associative Interpart Copy 复制部件间关联和非关联4 j; r( M( q) K% K# J$ x" s, C* Q9 g- T, v
Associative Interpart Copy 复制部件间关联
( Q' ~' ]+ c% ]/ F6 q! `5 J+ j/ I
8 x- c/ \' o) a" G( o$ | LabelString 标签标题
T/ b) Z N/ N" y3 } MaximumScops 设置选择范围
M& d* M o H- q6 H Entire Assembly 所有组件/装配
, b4 G+ C3 x9 W! e9 F Within Work Part Only 只是工作部件$ m; h9 @( h# [0 `
Within Work Part and Components 工作部件和组件/装配)
) f+ _$ ]- E5 {3 v' ?; p8 P0 L2 x* P7 J( F, ?( ]
SelectMode 设置单选/多选
7 t* M# }9 u2 r# t# n Single 单选8 K$ H A+ N" e, X9 Z
Multiple 多选
3 S' N9 W, F% X( v* q6 {9 l# w% }! X% I: C2 }' W
StepStatus 设置确定和应用按钮什么时候高亮 (Required 必需的时候)(Optional 可选的时候)(Satisfied 满意/满足的时候). D; H# B" b$ H4 M% |5 |
Tooltip 动态提示文本标题(Bitmap指定图片时,鼠标移动到图片时提示文字)
P4 q3 X% |, o! y& F
/ Q* @; o1 L* W8 m! y4 O, j————————————————————————————————————————————
( z. ^1 w( N0 c, E) F: X————————————————————————————————————————————5 Q* i4 `& k' U% b- [
咧子:获得selection0控件选择的对象
9 H) W$ V Q, G2 A9 C3 c1 V UF_initialize();
! j7 d2 Z7 J/ e& { std::vector<TaggedObject*>objects=this->selection0->GetProperties()->GetTaggedObjectVector("SelectedObjects");
% I9 W" Q; ]+ w. e1 S3 [+ L5 ] for ( int i=0;i<objects.size();i++) // size 列表长度,这里指的是 对象个数; A' D; ]& S0 W$ m3 s% d
{ 9 v' M' h3 A9 ^$ X9 {- i
UF_OBJ_set_color(objects[i]->Tag(),1);
3 @; H* Z& g1 A, [& Z9 k }
0 U' ~/ c( w( r6 L! p- v5 b UF_terminate();8 S1 r2 g, r6 ~2 X; R
' [' t8 W& }, w1 r+ N* D
————————————————————————————————————————————* d5 X7 O! Q) E6 Q' y' K, t; h
咧子:对象加入到selection0选择控件的对象列表3 h- G* r% O5 g# z
# L+ V; r: Z& x0 @- Z8 ] tag_t obj=NULL_TAG;
7 T) |8 e$ H" V0 X, Y9 x double point[3]={0,0,10};
* F& d( K: O* Y$ k double XYZ[3]={60,50,80};
/ \1 Q4 q$ V6 ^9 x char C[132]="";+ |. ^- R2 L6 \4 j# \
char K[132]="";
+ d$ P I( }. b; {6 d) a char G[132]="";
) |% P& O: h1 c( u3 I& D1 q sprintf(C, "%f",XYZ[0]);
+ ~& U7 C2 P- J2 J1 o sprintf(K, "%f",XYZ[1]);
, g! y8 E. X" d& w- E$ k sprintf(G, "%f",XYZ[2]); 7 q0 ?5 U" x& u
char * edge_len[3]={C,K,G};. N0 N. W$ }: E- Q6 N5 o& p
UF_MODL_create_block1(UF_NULLSIGN,point,edge_len,&obj); //创建方& ]9 @1 b3 P" V( d. c/ [
UF_MODL_ask_feat_body (obj,&obj); //从特征中取出实体+ g4 h X3 U: D6 U' s9 F
9 y0 S o/ e/ M8 t+ O8 E Body *body1(dynamic_cast<Body *>(NXObjectManager::Get(obj))); //tag转换给nxopen
$ b G. d1 J0 T3 A std::vector<TaggedObject*>objects;
! m t! H- w$ ^! g( G objects.push_back(body1); //对象加入到selection0选择控件的对象列表
" m; V& U7 Z! E( N0 B* b, J selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);
2 ~# M E; i& K/ Y5 {. \2 }8 o& T————————————————————————————————————————————7 K6 B* m* l5 [3 x
l' v; M/ |' U t1 ]
//清除对象
" u: r# @' n9 w+ Wstd::vector<TaggedObject*>objects;
9 m+ [2 m* d$ F! ]+ ^objects.empty();# u9 y& @. j# ^+ y! K
selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);% x# [0 K! v3 g) m3 }
, O0 f! g. g" T& I2 i1 y
————————————————————————————————————————————
: ^- O- {8 L: J/ {& w9 `咧子:只选择面2 l9 b8 P3 L' Q
initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤9 X: m# V% x( P4 g) |, ^
6 A2 B1 h( g% m; @. w0 i
selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式
3 z3 \) _0 F0 T k; `
7 V* b% b. S/ W a* m //对象选择过滤 只能选表面
" w; ` v& ?$ l+ D7 H' i. ^( j selection0->GetProperties()->SetString("LabelString","选择表面");
' R9 `: w [0 v std::vector< NXOpen::Selection::MaskTriple > maskTriple;
" h, i) F# E; | Selection::MaskTriple mask1(UF_face_type,0,0);
2 u# X4 B' B# m+ B2 O maskTriple.push_back(mask1);
) E# |0 N' H9 r- D selection0->GetProperties()->SetSelectionFilter("SelectionFilter", Selection::SelectionAction::SelectionActionEnableSpecific ,maskTriple); R6 P9 S! u' f6 C2 | u: t8 R) \
" u% b. p/ P; F! m. b2 C, `* v7 r$ s) H
咧子:只选择面 【UG本身过滤器跟着变】; ]( n. V& q' N2 [/ I
initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤 5 l9 f+ ~7 C' B+ b3 b3 O
, R m$ W! _+ K+ }0 O l; O selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式
0 ~( K" C& I* b4 W" K2 z5 t. O' {: ^
std::vector< NXOpen::Selection::MaskTriple > maskTriple;6 \0 t. }/ P7 e
Selection::MaskTriple mask1(UF_face_type,0,0);
: Y: J4 f7 G9 U3 T) P+ w" R7 s maskTriple.push_back(mask1);
) T* I$ ?: ^1 t7 R' G& ^ NXOpen::BlockStyler: ropertyList *selComponentProps = selection0->GetProperties();
, g9 u8 N; H; K0 E$ j selComponentProps->SetSelectionFilter("SelectionFilter",Selection::SelectionActionClearAndEnableSpecific,maskTriple);7 a! S \; s: R4 t# o$ ~. }
delete selComponentProps;0 }1 Q- _! E; g/ D1 g) [
selComponentProps = NULL;
1 ~! [ d% T# y
9 y" z7 X. j# P: c |
|