|
01、选择对象
% ~8 `& ]5 u$ A; k% T* |" T$ W4 R/ c4 Y1 ~; y
捕捉8 {$ E) G7 \8 z" |% p( N
PointOverlay 是否显示捕捉点
# w9 W! X0 a# P3 _* h/ D SmartUpdateOption 智能更新选项
, n( _% k6 d0 v, o. q; T3 g, M Within Modeling 在建模
J" u, |, N9 M6 t6 S1 S After Modeling 建模后
0 [ _' q* N0 n- y5 _ After Parent Body 实体父后" F3 k' c$ w% J ]
Mixed 混合
: L1 J' x2 L, w% X! c. d6 I7 H8 y$ Q+ O8 C( n" ~
SnapPointTypesEnabled 设置捕捉点类型的可见性) C6 i9 w$ r/ X. y* l" C; C9 ?" I
SnapPointTypesOnDefault 设置捕捉点类型相关的内容被启用( n# w# Z8 G7 M) A ^' r1 p
# ^- h: }% y/ T2 F3 }* V N4 Z常规% P% t3 c# y, r5 v3 Q) \+ o
BlockID 控件id
& m0 Z$ b1 G( l8 V- Z Enable 是否可选/禁用控件
$ z* p6 f' I5 w4 H, c% V Group 组
/ r/ C1 x( z$ Z- ]$ T- S) W( S2 e3 i Show 是否可见* X0 b" u& a9 ?7 f, Z# _- g2 D
9 Q9 f% W+ G0 i# W K! M8 l
其它 ! x8 m$ X7 i. {7 [" `' M% Q! k1 G
附着% B' y8 @) ]7 f4 n3 ?7 i0 M
Bottom 底
6 f0 M2 t. }4 q# ^* e0 Q7 _ Left 左1 T7 n+ p) ?" p6 o! S8 U8 S
Right 右
. `3 E' e0 t# n9 d- k Top 顶, Q# \( Z& P7 T
. S8 G# T% n: w$ u' Q特定于块" u6 ^+ i- L; E
AutomaticProgression 选择后焦点是否自动跳到下一个控件
! N% q' {, W$ Z BalloonTooltipImage 动态提示图片(鼠标移动到控件是显示图片)
9 k. ]" b! r1 n, L BalloonTooltipLayout 动态提示布局
g. p2 W$ I9 n, G7 ^) w BalloonTooltipText 动态提示文本内容& S9 j R s3 w
Bitmap 指定图片
) H1 L. b5 _8 D" `6 g BlendVirtualCurveOverlay 是否显示虚拟交线5 r9 V* n1 T1 |# E; d" ?1 l% \
CreateInterpartLink 是否显示部件间连接图标在选择条上
0 D p! g! t* w' F# i4 o' \& } Cue 提示 a; ?+ U7 p8 Z" J1 O; T
8 n2 i. X8 Z4 K, ? f7 p6 [
InterpartSelection 部件间选择设置' N9 V. ^! k- Y1 X& J
Simple 简单! ~) U2 V( U' h2 z1 k6 f
Non-associative Interpart Copy Only 只复制部件间非关联
8 e' C4 J e; R& s( R4 K$ Q Associative and Non-associative Interpart Copy 复制部件间关联和非关联6 n' V a' [) y* j/ ^% w; `) C$ G
Associative Interpart Copy 复制部件间关联. F$ B9 j6 f$ B* @( N
8 |# c1 p7 G9 l5 ~+ B s: G LabelString 标签标题4 M- g' A1 l; u# H$ E2 M
MaximumScops 设置选择范围8 _ u# V' H' E& K% _* g3 j/ u
Entire Assembly 所有组件/装配) e3 P. C5 {$ x) U, V6 q1 U' ^0 R
Within Work Part Only 只是工作部件 H9 i7 i. e9 p$ e$ f8 G
Within Work Part and Components 工作部件和组件/装配). c5 p- R, J6 k3 g
- W3 Q% a* W% j" j! p
SelectMode 设置单选/多选
3 O& b/ ^1 I$ l; C$ N' C$ j5 z Single 单选
& \1 `% V7 K$ [( w0 U Multiple 多选! I8 X5 ~% W; X6 ~$ V# c# g
( | f5 p l. R4 v5 R/ b5 i StepStatus 设置确定和应用按钮什么时候高亮 (Required 必需的时候)(Optional 可选的时候)(Satisfied 满意/满足的时候)1 |5 K, _$ `9 k/ B
Tooltip 动态提示文本标题(Bitmap指定图片时,鼠标移动到图片时提示文字)
1 j. @2 u6 f: q" G
- b/ c |/ Q+ h0 k* m. ? K1 }————————————————————————————————————————————
1 u3 f9 m! ?" i+ h————————————————————————————————————————————+ y& F1 W" X3 ^% U5 F" M7 Z
咧子:获得selection0控件选择的对象& s! {0 b- Q# v
UF_initialize(); 2 L* S4 L0 P+ Q
std::vector<TaggedObject*>objects=this->selection0->GetProperties()->GetTaggedObjectVector("SelectedObjects");
I# a4 Z1 c" C( W for ( int i=0;i<objects.size();i++) // size 列表长度,这里指的是 对象个数2 _" q) o* o% ]# d2 H2 `
{
8 U5 _7 O" z1 V+ F, h UF_OBJ_set_color(objects[i]->Tag(),1);
2 w6 W; c% F0 s' C3 ? }
, n6 |% e6 v( o% j4 { UF_terminate();
2 G, ]% G3 z) y: e0 S" m8 N
7 O) C6 Z2 B( y) X+ X1 l. [5 }————————————————————————————————————————————
8 B$ X3 u2 z% b6 i9 ` s咧子:对象加入到selection0选择控件的对象列表2 ]+ O9 \2 I6 @
: Z# n2 B3 t2 I/ w/ [ ~: z tag_t obj=NULL_TAG;
. x' M& Y" p/ |, z+ T' G9 b double point[3]={0,0,10};
1 b1 a4 j) x$ K, b double XYZ[3]={60,50,80};2 F% Y! e. V$ c' J4 s M1 i
char C[132]="";
. {; u1 I3 B5 _ char K[132]="";- L; |4 ^2 Q% K. K, W ?
char G[132]="";) @3 N4 O; p) e# W* F. `2 ^; K6 P
sprintf(C, "%f",XYZ[0]);6 l8 v9 N+ u7 |8 N6 q
sprintf(K, "%f",XYZ[1]);
( g0 I6 g* r% ?3 d" f0 P4 h sprintf(G, "%f",XYZ[2]);
2 Z$ r1 q! H% Z; M char * edge_len[3]={C,K,G};- V' T0 }( e2 P1 @4 c+ T
UF_MODL_create_block1(UF_NULLSIGN,point,edge_len,&obj); //创建方( b8 ]& k' z a2 }, ?6 `1 I4 [
UF_MODL_ask_feat_body (obj,&obj); //从特征中取出实体
1 _% ?( v0 z# G$ \* y. [5 R! w: S+ R4 i# q0 w
Body *body1(dynamic_cast<Body *>(NXObjectManager::Get(obj))); //tag转换给nxopen
8 w8 d% y: x5 _7 q& E2 i std::vector<TaggedObject*>objects;: i" E- ]/ m- [ Q
objects.push_back(body1); //对象加入到selection0选择控件的对象列表$ p( P+ B5 P s7 P
selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);! N% [1 \" d9 \' x9 [, g5 _
————————————————————————————————————————————
7 M% Q( J" v& U( f
* ^" a1 t0 g! w9 x4 t; F+ E) {) ]//清除对象( l/ m& L* {) |4 Y9 }+ b* ?) c ?
std::vector<TaggedObject*>objects;
. u8 S7 Q7 ^1 P( f6 `+ V4 z Vobjects.empty();' Y/ d( [7 q- x- a. b \
selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);
" v4 M" N# R3 f" T
p: d. {( v8 Z# b+ ?————————————————————————————————————————————
( k- ~6 T y! Q. {; J咧子:只选择面7 P. N1 J) k2 z9 C
initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤
" c. _- ~* N2 [$ K
; m9 L9 q4 u h0 t selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式
* i* @' V# c! Z4 T! c( \3 H' t3 P( l5 K6 K: m+ h# y" Y7 a' n8 u
//对象选择过滤 只能选表面7 O: a& r5 y) F8 n
selection0->GetProperties()->SetString("LabelString","选择表面");
, q6 K1 m+ @" E std::vector< NXOpen::Selection::MaskTriple > maskTriple;
1 {$ n) z; C8 G- u Selection::MaskTriple mask1(UF_face_type,0,0);% B- }. }5 ]. Y! ~+ n. V4 ~
maskTriple.push_back(mask1);
3 l* ?7 U' \/ p+ O+ A( @! y selection0->GetProperties()->SetSelectionFilter("SelectionFilter", Selection::SelectionAction::SelectionActionEnableSpecific ,maskTriple);
, Q; Q( G8 R* C) s+ U( p( e3 N* S6 m$ K' \& I0 b: {. X
R0 m/ X: }$ b; z6 W( V+ s3 x
咧子:只选择面 【UG本身过滤器跟着变】* l8 T' |, ?, D0 K' ~! w& f+ A5 Z0 g3 [
initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤 ; p" [: A6 {. `) U9 P' S8 T
4 p7 E2 y! M1 U% t8 i selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式" f' y% y" ^2 s/ p d/ A6 q
- D; ?* z" g5 k! O n/ s1 z% Z std::vector< NXOpen::Selection::MaskTriple > maskTriple;( V4 Y( {7 j2 o
Selection::MaskTriple mask1(UF_face_type,0,0);
, p9 k5 q) e: G: }. j9 s/ I maskTriple.push_back(mask1);% i* m6 @" J: K$ p
NXOpen::BlockStyler: ropertyList *selComponentProps = selection0->GetProperties();* `) Z* J* z9 }/ h! V
selComponentProps->SetSelectionFilter("SelectionFilter",Selection::SelectionActionClearAndEnableSpecific,maskTriple);
; }5 z, H9 |1 q) @ delete selComponentProps;
5 J I6 d2 G/ s& G- |" R/ |- r selComponentProps = NULL;
. T) I1 [6 w9 Y8 u
! @5 R8 V2 i8 x, I d/ w0 e |
|