|
01、选择对象% Q- \( }$ p# V( _: ?
1 x! c; Q( ^' [2 L. b e捕捉) D V' B9 y% S3 N4 h
PointOverlay 是否显示捕捉点
: [& n/ T1 ~5 Y: Q3 J* I7 ]& a' @ SmartUpdateOption 智能更新选项
5 I+ u; P) k8 n5 H Within Modeling 在建模
. Y. n* Z- t8 A After Modeling 建模后
; V9 \/ G3 c; t* H7 J T After Parent Body 实体父后
2 I* |& i/ z, i: B) | Mixed 混合
7 h0 P7 k+ b/ V# J
( `/ D6 r1 v0 e+ x SnapPointTypesEnabled 设置捕捉点类型的可见性
: j9 G' _- L: l( u$ P# c5 x SnapPointTypesOnDefault 设置捕捉点类型相关的内容被启用3 p, o( l! J% c8 Y. D
6 ?( W5 Z3 k. a# ~, p; C) t- L' J3 C常规
3 N) E$ |! h9 {4 M" @) X% B( d* n BlockID 控件id- s( q) M6 k+ m- p5 i0 w% S
Enable 是否可选/禁用控件' w8 D: |+ C6 ~. F6 U& d2 e
Group 组
+ ~. r8 ~! W6 \& D C$ {) o: x Show 是否可见0 W+ _6 [3 j* r. E% b" w
9 k" A5 i, Q' Y9 `3 H
其它
' i2 g" R$ b) I2 B- ~! R9 ~) p 附着& d/ x% I. H1 r5 u4 f
Bottom 底0 K4 w3 j# K2 z2 c) l" ~$ A
Left 左1 c9 e) |) N0 z* H: f
Right 右0 ~6 t! d3 L1 K
Top 顶
# K6 O' J: A0 ?2 \% M, x1 Q' E K* o' n9 u% ]' Z
特定于块9 F; H9 \7 ~+ b" A2 y2 j' }
AutomaticProgression 选择后焦点是否自动跳到下一个控件8 m6 r/ |/ N E/ j
BalloonTooltipImage 动态提示图片(鼠标移动到控件是显示图片)' o8 m4 X8 }, k
BalloonTooltipLayout 动态提示布局
( l9 ^& |0 {9 V2 _. W j BalloonTooltipText 动态提示文本内容. [* R& I" ^9 Y: o1 ]* X
Bitmap 指定图片7 V) L1 t+ K6 y4 P* s0 K8 b% I W
BlendVirtualCurveOverlay 是否显示虚拟交线
+ e2 A; t3 X9 i! x9 T CreateInterpartLink 是否显示部件间连接图标在选择条上1 S8 J8 p6 W# p- v7 B
Cue 提示
) U1 }& x; p6 v) E9 j, E- j1 T$ v
- z' U& O# B3 x: A9 @( s InterpartSelection 部件间选择设置, c; u8 O/ o; G' M; g. v2 y
Simple 简单' P9 l2 U8 F1 j
Non-associative Interpart Copy Only 只复制部件间非关联
; y6 \- E6 Y2 [7 n3 L, ` Associative and Non-associative Interpart Copy 复制部件间关联和非关联
: p b" d& ^6 o4 D# Z3 i4 w/ n Associative Interpart Copy 复制部件间关联
/ g! M/ W2 f0 c: v/ D/ H
6 _+ ~: Q8 W/ @. X& p3 }# {8 J LabelString 标签标题
( m; m6 m4 m+ p/ n2 ~( n- M MaximumScops 设置选择范围5 g+ o/ G# C5 \9 M
Entire Assembly 所有组件/装配
* I0 l/ w4 d/ e6 M- u Within Work Part Only 只是工作部件
6 r$ t2 I& Q: ]6 }! x Within Work Part and Components 工作部件和组件/装配)
w5 P% c. t$ E: t# e2 {( K
: n' G7 w& T+ J7 Q1 H: Y SelectMode 设置单选/多选 : [$ @- _2 |; v3 W
Single 单选) m1 s) I$ J& C4 M/ @+ L
Multiple 多选4 j9 @4 {" q0 j9 j
& R6 j# |" V- y$ S$ q$ o; x
StepStatus 设置确定和应用按钮什么时候高亮 (Required 必需的时候)(Optional 可选的时候)(Satisfied 满意/满足的时候)" ^( u+ I9 j% t9 t( {
Tooltip 动态提示文本标题(Bitmap指定图片时,鼠标移动到图片时提示文字)6 n4 M/ f4 n9 M
$ i, R1 [% @$ r) @8 |————————————————————————————————————————————" R9 D; Y* M& v% p9 X8 f" O: Y
————————————————————————————————————————————1 g) {1 d/ ], N7 E/ w
咧子:获得selection0控件选择的对象- ~' T G6 }% I* E. h
UF_initialize();
4 A @5 T! z6 X std::vector<TaggedObject*>objects=this->selection0->GetProperties()->GetTaggedObjectVector("SelectedObjects");
$ k& m+ l4 L W2 I/ `) P' T for ( int i=0;i<objects.size();i++) // size 列表长度,这里指的是 对象个数% c8 a6 ?7 e! i9 q7 S1 V
{
3 A' P* Q+ Z n& d* S UF_OBJ_set_color(objects[i]->Tag(),1);# D% D# ~9 \* a
}) s/ e7 t+ E& y+ Q' s+ D
UF_terminate();/ d' v3 z+ e y. n( b( Q
( Q9 t( G) W2 T+ m# d, N5 T. ~6 _————————————————————————————————————————————) a, W1 k0 R) c
咧子:对象加入到selection0选择控件的对象列表
6 {$ x/ _% v1 W q' S. N& }, P7 I
' W+ J" z& A5 E9 U tag_t obj=NULL_TAG;
# ~$ ?' I1 U/ Z double point[3]={0,0,10};' ~% ]8 y% U G8 r( v0 ?
double XYZ[3]={60,50,80};' F" b/ K3 b, x+ t% y+ y
char C[132]="";7 V2 y, }; B) ^2 Y
char K[132]="";
% t H/ X" f) }- i0 H8 | Z char G[132]="";
y- P# W1 r, b" L+ C sprintf(C, "%f",XYZ[0]);# J+ Z/ ?# ]) A5 t: J! a& x
sprintf(K, "%f",XYZ[1]); - d; U% a6 x# `9 e' v
sprintf(G, "%f",XYZ[2]);
3 _6 [6 d0 B) f+ H; X: q* ` char * edge_len[3]={C,K,G};
* q1 q. Y1 I/ k8 s2 `8 Z- v5 G$ ]9 U UF_MODL_create_block1(UF_NULLSIGN,point,edge_len,&obj); //创建方
I" l( l! X- H% T UF_MODL_ask_feat_body (obj,&obj); //从特征中取出实体
' ~8 R: p: E0 P2 _$ U* B
( {/ b! X" t8 q- ^" i, R B/ X3 U Body *body1(dynamic_cast<Body *>(NXObjectManager::Get(obj))); //tag转换给nxopen# ~0 x+ F- R! r' ?) v
std::vector<TaggedObject*>objects;
- g# n# ~6 l, ~/ L% F3 i$ D) j* G objects.push_back(body1); //对象加入到selection0选择控件的对象列表
3 ?3 g- J* r" l9 Y9 V3 g selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);
; t; j& v% B+ S" b1 ], T* q————————————————————————————————————————————
8 \. q5 D- _/ ~ ~ U( |# y9 O9 g. e
//清除对象" B" O7 E2 y3 f5 J; P M
std::vector<TaggedObject*>objects;
6 P5 z# g- Y6 robjects.empty();
7 E, }2 W; A/ k6 m6 r8 Kselection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);
@+ T+ H( I# v
$ D' e6 y1 h% D7 ]————————————————————————————————————————————" {* p8 O) ~! e, ^& T7 {
咧子:只选择面
0 {1 V8 d- s! T; l8 \ initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤: p+ ~& S# V& ~5 c4 I y5 L6 h
. E ^6 N J, v, X. v5 z1 H
selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式
0 [) h! a8 Q2 L2 R. u! {, q
5 q" u7 I" X8 ~& d6 k* d" j$ ^ //对象选择过滤 只能选表面
6 c& N# X# D; y. a: J selection0->GetProperties()->SetString("LabelString","选择表面");
9 y$ m% J) t7 a K& F! u \. e std::vector< NXOpen::Selection::MaskTriple > maskTriple;
) p$ G( P0 S, C3 |1 J. Z: h0 W Selection::MaskTriple mask1(UF_face_type,0,0);$ G9 \. H" d e! t% a. H% n9 f
maskTriple.push_back(mask1);1 H, Z6 ^ L% o" u* t0 c- `
selection0->GetProperties()->SetSelectionFilter("SelectionFilter", Selection::SelectionAction::SelectionActionEnableSpecific ,maskTriple);. R. d" f+ ~9 ?, z$ r# j4 q
+ U% v) G t, I: \7 l7 x5 ?
; ^( R# q& z2 R& G: S2 J咧子:只选择面 【UG本身过滤器跟着变】) F: V0 _1 [/ ^4 ^4 H! w0 Y7 O
initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤 # ^ ]9 R, G5 G6 ~- a0 K! S
8 P5 J" Y# P' @. O7 X; x: E
selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式* ~& M7 T2 _! {
& S7 @' M" x4 W( s; L2 x+ Q: ]
std::vector< NXOpen::Selection::MaskTriple > maskTriple;
% u4 R ~6 c* {' E/ \5 U, ] Selection::MaskTriple mask1(UF_face_type,0,0);
s: `2 L8 ?$ q/ I) [& U maskTriple.push_back(mask1);
?9 V( ?+ k) J W, Y$ r& D NXOpen::BlockStyler: ropertyList *selComponentProps = selection0->GetProperties();9 i: w: @; ]1 E g0 |
selComponentProps->SetSelectionFilter("SelectionFilter",Selection::SelectionActionClearAndEnableSpecific,maskTriple);
) d$ I' S+ O7 t' U1 B# f; V delete selComponentProps;
0 ]; N. y; b0 @& [ selComponentProps = NULL;( w9 {* [8 g9 N& C( s' h" w) I
2 X% I+ R, n- X1 m6 {9 s; i |
|