|
01、选择对象
, m, i9 N, X3 n7 p) Z
( t6 {) `# {2 y! Q2 ?( r' B捕捉7 j, H. y# h7 h& U6 m% m0 h1 j
PointOverlay 是否显示捕捉点/ Q7 S. E; ?) o$ b6 d2 C* z
SmartUpdateOption 智能更新选项
s4 Z5 c& W# J% g6 u, T2 H# U Within Modeling 在建模2 j- `! L& ?; j/ k+ t& C7 T. i, x% n) F
After Modeling 建模后& `/ j/ z& v- Y+ G
After Parent Body 实体父后" {7 H( W% a* i# q: |8 o) r
Mixed 混合; u' a% a4 j: Z$ d
1 w! X! |; o' U4 V) a, A SnapPointTypesEnabled 设置捕捉点类型的可见性
* L- l1 G/ p& d# ?8 M- q3 P SnapPointTypesOnDefault 设置捕捉点类型相关的内容被启用, r, P& k5 B/ N
( j# b4 ~7 Y, }$ D常规; `' m! l. s! Z+ j' _
BlockID 控件id/ \0 b& {: k% P6 a- t+ h6 k
Enable 是否可选/禁用控件
' ^2 @+ O7 Z/ @3 m Group 组2 H, p2 V+ L5 s0 M
Show 是否可见
) X( X! u' u* J/ x: D& ^' Z! g1 o4 B- ?
其它 $ V% ]2 u8 |& E8 k5 _
附着
0 X1 y( I5 i* ] U: g/ K3 K! {9 @ Bottom 底
( ]) n, g6 [) _( V2 p0 N Left 左
/ @# J T( P7 G) Y5 K Right 右
8 U# q$ ~& y8 I8 h5 m. d4 R Top 顶4 x' C: K i1 U1 K7 g
1 C+ H5 D9 b: D
特定于块
5 r1 I- l, ?( n+ G: b* L9 ? AutomaticProgression 选择后焦点是否自动跳到下一个控件, U/ G/ b6 g7 B! Z' F3 W) O
BalloonTooltipImage 动态提示图片(鼠标移动到控件是显示图片)4 [2 U# N4 R8 L1 K: G
BalloonTooltipLayout 动态提示布局- o7 m9 R0 _% j6 }2 Q2 N
BalloonTooltipText 动态提示文本内容
3 f1 e( @. e i0 o Bitmap 指定图片
9 b7 u9 X6 J9 T: A BlendVirtualCurveOverlay 是否显示虚拟交线: X% s( k% ]% V1 \# c: m
CreateInterpartLink 是否显示部件间连接图标在选择条上
7 y, g P0 T7 B; r' I# ^4 N& J Cue 提示! R/ a! `3 j& V7 M" ?' d- K; R
9 z9 J; K; |8 `( P7 n
InterpartSelection 部件间选择设置/ _7 ?2 D2 |$ ?' i v& T
Simple 简单% l7 W: p x Z
Non-associative Interpart Copy Only 只复制部件间非关联' ^5 u' O% x z3 K! c" b) D8 ?9 ^
Associative and Non-associative Interpart Copy 复制部件间关联和非关联& ^. q- s4 z* e# ^
Associative Interpart Copy 复制部件间关联0 P. m0 Y# e. c5 ?% M3 g9 k
7 c1 v5 D6 _6 B LabelString 标签标题# K' E1 i5 ^4 O+ x6 P7 r
MaximumScops 设置选择范围) F1 h: N7 {, x3 J. y
Entire Assembly 所有组件/装配5 J& j( p; L4 p
Within Work Part Only 只是工作部件
2 _! e/ Z$ f+ I8 v u1 m6 i( ~ Within Work Part and Components 工作部件和组件/装配)2 H9 S: \8 k" H4 A; J4 d+ q1 \* c
8 I8 L$ g1 I! d% K. m SelectMode 设置单选/多选 ( b: l+ T3 K' Q# y( h y4 i
Single 单选1 j; J4 y7 n0 m4 E
Multiple 多选
- Y# h+ H5 n0 C- ]4 w) a% [+ [0 _$ g9 W) l$ J
StepStatus 设置确定和应用按钮什么时候高亮 (Required 必需的时候)(Optional 可选的时候)(Satisfied 满意/满足的时候)" {& B' u0 ~1 V) H# ~, ?, L
Tooltip 动态提示文本标题(Bitmap指定图片时,鼠标移动到图片时提示文字)
9 {6 r8 H8 {1 @8 ~7 m- L) U9 j" s) @# i2 w0 i
————————————————————————————————————————————
) a8 P! ?+ v' w, z d. U1 W+ v$ @- u————————————————————————————————————————————1 {4 s- }2 t* X6 d
咧子:获得selection0控件选择的对象
4 A" O* g8 a3 v& r( K1 y. y UF_initialize();
2 R0 g7 m% t8 i( N) @8 t& s- | std::vector<TaggedObject*>objects=this->selection0->GetProperties()->GetTaggedObjectVector("SelectedObjects");, @! M0 |- ^8 C1 d
for ( int i=0;i<objects.size();i++) // size 列表长度,这里指的是 对象个数9 _# X$ y3 ~. S8 C7 l) r1 {
{ o* U: m3 l9 |
UF_OBJ_set_color(objects[i]->Tag(),1);
( M; R2 r& U. f$ [7 U0 x }0 F* `0 B# x' O$ ^& }8 O# l6 i
UF_terminate();, u! J8 O: h# W% C. I
& e& B* z" L5 Z2 O. V( L
————————————————————————————————————————————
: w' b: H+ d4 D$ \5 E* p0 H% m+ H! O咧子:对象加入到selection0选择控件的对象列表( N: M3 G! C! f+ {4 F
, S4 {! D' @6 C7 Z) i. U tag_t obj=NULL_TAG;
% M$ `7 R. D& f double point[3]={0,0,10};
8 }, ^% r( C% N; Z$ c double XYZ[3]={60,50,80}; G( j7 d' I& w7 B/ ?# f0 k
char C[132]="";* Y# ?! i6 d; q1 T
char K[132]="";2 O7 } w$ [& R- r* c
char G[132]="";, C3 j& y# G3 @( w( q7 l
sprintf(C, "%f",XYZ[0]);& ?2 x! a8 k4 M3 D- E% {0 f7 E
sprintf(K, "%f",XYZ[1]); 2 `, B" L; S+ j& `( p
sprintf(G, "%f",XYZ[2]);
5 o/ i: |2 K' B5 [1 f$ R, a/ x9 Z char * edge_len[3]={C,K,G};
& k0 `1 y6 w& U3 n UF_MODL_create_block1(UF_NULLSIGN,point,edge_len,&obj); //创建方
& t' I% A6 y8 _9 m UF_MODL_ask_feat_body (obj,&obj); //从特征中取出实体% Y3 L0 V1 f0 O, q) F5 S
# C3 K ?" K$ x# |( e
Body *body1(dynamic_cast<Body *>(NXObjectManager::Get(obj))); //tag转换给nxopen
# c: M3 @0 B, d3 q) X1 T3 k* n std::vector<TaggedObject*>objects; Z6 N' t; ~* k
objects.push_back(body1); //对象加入到selection0选择控件的对象列表; q ]9 v' `$ b5 |
selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);$ @; e, f9 F8 I
————————————————————————————————————————————& ^: m0 j) x7 B7 X4 h
/ n) w2 p$ j5 A/ D% v2 B6 C//清除对象2 k) i) d. `/ s! {( g, `
std::vector<TaggedObject*>objects;
# F: U9 w; }* X& Uobjects.empty();
, O% e, g5 u6 [8 eselection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);
' X v, Q6 k- D' ^9 t
: z1 j; \4 C- N4 @" l————————————————————————————————————————————
; }7 L: f$ w, a9 M; |6 H, g咧子:只选择面
, F& G2 }7 J: t% x" D; N {0 c: D5 h initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤( B1 [+ f& T3 o& R
* J& Y; X5 v1 u+ }1 i selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式
2 m( t p' j8 W2 C- L; ]9 p) D: i! W- R5 j
//对象选择过滤 只能选表面2 n: l2 \, [0 y! ^4 Y8 V {) D
selection0->GetProperties()->SetString("LabelString","选择表面");
7 V& k, y$ z. v9 t' g8 c- D std::vector< NXOpen::Selection::MaskTriple > maskTriple;+ z1 C& V3 A; U( E, Y6 N
Selection::MaskTriple mask1(UF_face_type,0,0);
0 T9 G% C& n+ U6 t# d' u maskTriple.push_back(mask1);
0 t) v- r x/ E' H5 [4 H7 \! { selection0->GetProperties()->SetSelectionFilter("SelectionFilter", Selection::SelectionAction::SelectionActionEnableSpecific ,maskTriple);
8 q7 V" t4 O! X- A( z; m' U0 ~6 H) O: n# o' g% v
# `) l/ [7 s2 t咧子:只选择面 【UG本身过滤器跟着变】
- w+ r+ H" x; R) D& a2 \ initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤
& U3 R, R$ _- R) ]& c, k- X/ V5 l' |; c
selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式4 `; I! V; O4 y9 d1 v( b
3 q8 \2 U$ r& I. p
std::vector< NXOpen::Selection::MaskTriple > maskTriple;
: n0 @+ n5 S1 u Selection::MaskTriple mask1(UF_face_type,0,0);& k. ^! D4 e; }
maskTriple.push_back(mask1);
! B, V$ `! h0 ~8 `$ q NXOpen::BlockStyler: ropertyList *selComponentProps = selection0->GetProperties();
- _1 p% \5 x9 Y7 l+ {" `) U selComponentProps->SetSelectionFilter("SelectionFilter",Selection::SelectionActionClearAndEnableSpecific,maskTriple);
, r" f) } e8 @6 C delete selComponentProps;
8 |7 O! q' _% F selComponentProps = NULL;& c6 d1 L t3 `9 h9 `/ P3 N
; t* ]' S- e3 Q, ~8 Q8 b) Z/ i |
|