|
01、选择对象
. N& g) @0 E9 t: g$ V ~6 X0 x7 Y. L/ {
捕捉
; C1 w; h+ Z* v9 ` PointOverlay 是否显示捕捉点" T1 s8 @- Y0 {: U% g
SmartUpdateOption 智能更新选项
! t$ A' I$ G2 j9 e( H7 z Within Modeling 在建模
. r9 x U1 Y1 Q' S2 z3 @7 M" k7 J After Modeling 建模后$ v) r" Q. ^8 b0 C) x3 {
After Parent Body 实体父后! o3 y; x: S7 l4 W2 d
Mixed 混合
7 E. f7 l3 s, t) _ E$ ?3 m
: {/ M7 P0 g' ^9 d# b( Z) ?5 O2 A4 A SnapPointTypesEnabled 设置捕捉点类型的可见性 q6 [% `; l" V# C
SnapPointTypesOnDefault 设置捕捉点类型相关的内容被启用
* m* N7 x# _7 O; E; T2 H3 Z
) f: f; a2 b( U0 u& ?( n. ~常规
: |7 w* j# ^! n( V0 `# I BlockID 控件id
+ ^! e9 J! I+ O/ { Enable 是否可选/禁用控件
# U# F4 x! ?/ j( f Group 组3 H5 ]4 P; t) y S- I0 d# k$ Z
Show 是否可见6 G3 ]" i4 }; R( o: {
, S, C2 A7 X$ j4 ~8 C
其它
. B% P; L/ o5 e 附着
3 o1 q. J! e7 M. m- {& Y Bottom 底
9 R- A6 d% n8 m% s8 P7 T& G Left 左
4 {9 J6 C, f1 o# ^5 b Right 右1 a3 D! f8 h q3 O: e2 ~8 z
Top 顶
& u$ m5 x4 l |5 r# t8 m6 E
3 u' V. S, G2 y5 B, V4 y( b特定于块
; o0 a6 U5 ^0 J" E# |3 s6 B; S AutomaticProgression 选择后焦点是否自动跳到下一个控件& `+ J+ w' w1 B4 x+ u& B
BalloonTooltipImage 动态提示图片(鼠标移动到控件是显示图片)
) ~' Q r: k6 P9 d5 F9 y BalloonTooltipLayout 动态提示布局
8 T$ i1 h0 ~ X, ` BalloonTooltipText 动态提示文本内容4 [& b. Z% D# {/ i
Bitmap 指定图片) G& q& X7 \( y$ s; g2 N2 L
BlendVirtualCurveOverlay 是否显示虚拟交线+ @- A4 I2 Y; j
CreateInterpartLink 是否显示部件间连接图标在选择条上$ f! M7 [* f/ X1 j
Cue 提示 f3 U- A7 Z( y0 p) s$ `
: g6 T9 [7 f( H0 a( I3 O O InterpartSelection 部件间选择设置2 c, T& q# S* R' {( M
Simple 简单1 _" ?$ g5 ]. F9 r% h; Q. I( L. Y% g
Non-associative Interpart Copy Only 只复制部件间非关联3 G( P4 o* P: } U, C4 \9 i
Associative and Non-associative Interpart Copy 复制部件间关联和非关联4 ]- M3 |6 ~, a. V- o6 Z. V
Associative Interpart Copy 复制部件间关联3 ?' _! f" Q8 ~/ T
# y' B8 [) O7 ~2 ~ LabelString 标签标题. g0 J, L' G6 p' B" X% L
MaximumScops 设置选择范围8 Q* r, [$ s" m, T, c% I9 V W
Entire Assembly 所有组件/装配8 c/ N X3 `- s8 }, i6 Z# @
Within Work Part Only 只是工作部件7 |$ s! t) z' f& B3 P- G
Within Work Part and Components 工作部件和组件/装配)4 d/ ~# T$ V) _
) u# Z. S7 O; n- X3 V SelectMode 设置单选/多选
1 F, A; r6 \/ k# t6 F& d- [ Single 单选% ]( [( ?, e3 c) p- ]
Multiple 多选& \; i. G( e8 h& }
! d. L; e0 h2 b: i# Z! g2 w9 K StepStatus 设置确定和应用按钮什么时候高亮 (Required 必需的时候)(Optional 可选的时候)(Satisfied 满意/满足的时候)
; s2 r/ l9 t b& a/ I( z Tooltip 动态提示文本标题(Bitmap指定图片时,鼠标移动到图片时提示文字)
1 `" C( v5 N9 A- E4 x2 {$ G
4 ^+ G" O! z3 j) ~+ A# j; @" c- g5 R————————————————————————————————————————————
$ H. M" s% _5 F1 z; q D3 l————————————————————————————————————————————
* B% w) O# {2 s# t% B咧子:获得selection0控件选择的对象
' j. O/ G/ O9 T: w UF_initialize(); ; {9 ?6 V" U! O" H: r
std::vector<TaggedObject*>objects=this->selection0->GetProperties()->GetTaggedObjectVector("SelectedObjects");$ f9 u- D1 Q: M. c7 I* g6 f
for ( int i=0;i<objects.size();i++) // size 列表长度,这里指的是 对象个数: F4 q) y1 r$ H. L) R
{ : {( N6 O" V. Z/ z) w% h
UF_OBJ_set_color(objects[i]->Tag(),1);
3 s9 u1 X* g& \1 M }* e( K8 W2 ~' m5 E
UF_terminate();# D$ i4 ], n& G2 e7 s
$ D4 _4 J: I! ~# f————————————————————————————————————————————
# K. \$ }5 c7 p ^$ ?咧子:对象加入到selection0选择控件的对象列表
! N6 {: a0 ^$ P3 U/ e
6 O8 H' P) P$ Y; _' W2 b1 Q tag_t obj=NULL_TAG; \6 S9 o6 M6 _; P/ b% j# @
double point[3]={0,0,10};( T3 h" g+ d5 b9 U' x
double XYZ[3]={60,50,80};
3 ]! r9 u7 V; p' B char C[132]="";
: v; o) F$ P9 y' \9 q char K[132]="";
0 G6 E2 U& E" z4 f; i1 r3 @ char G[132]="";
]) |3 M B* @# z, I sprintf(C, "%f",XYZ[0]);
* C3 _2 J- X7 E8 B( r sprintf(K, "%f",XYZ[1]);
! M7 ]4 G- v$ Q, j' P# q' d6 @4 E2 U+ @ sprintf(G, "%f",XYZ[2]);
9 _6 K2 c7 k" {" y) D# O: {3 ? char * edge_len[3]={C,K,G};* h# p. K% n: N7 ]9 [
UF_MODL_create_block1(UF_NULLSIGN,point,edge_len,&obj); //创建方
S- \1 I5 |) I) t7 o UF_MODL_ask_feat_body (obj,&obj); //从特征中取出实体+ h5 p1 m7 z, t8 r
, l. R! n: a7 m1 j+ c Body *body1(dynamic_cast<Body *>(NXObjectManager::Get(obj))); //tag转换给nxopen
- C( U7 t+ a+ }/ `: o5 v std::vector<TaggedObject*>objects;: Y: k9 D7 g- _7 w' T
objects.push_back(body1); //对象加入到selection0选择控件的对象列表* T x; C z3 e# S8 Y( A2 a8 M
selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);1 K% z% g( `& ]
————————————————————————————————————————————7 h0 G; Q6 f9 k6 v4 G1 x; n
; J& \- D6 J$ U, w2 {//清除对象
8 Q0 i: [8 Y/ \8 ^: `8 h5 @std::vector<TaggedObject*>objects;" ?9 k+ Q4 @5 w; k% A
objects.empty();
1 X" D$ z% H4 ]5 q/ l. o' v8 u; Tselection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);* j! g! f: I* b! P5 ^) p% k4 X7 H
" B' ^: Z" o- y
————————————————————————————————————————————; A; r) P# n1 f) _' |* q- o
咧子:只选择面8 B8 D) p4 }) n. ~6 N
initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤# a; Q5 {- X# _; j7 B) b& m: @) b& K
! w% o( s3 i4 U' E
selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式
3 L9 j( J" y1 i+ L0 b. J( |7 @2 k# Q. J" a% f
//对象选择过滤 只能选表面
$ c4 D" a S8 a' U selection0->GetProperties()->SetString("LabelString","选择表面");
* ?+ Z# Y0 C0 H; V; N std::vector< NXOpen::Selection::MaskTriple > maskTriple;
" i4 _8 V L+ d# \* s! a* W, G7 j G5 H Selection::MaskTriple mask1(UF_face_type,0,0);, O4 P) k9 ~' Q* L2 n8 `
maskTriple.push_back(mask1);
0 V1 N8 D6 }& V- t7 o selection0->GetProperties()->SetSelectionFilter("SelectionFilter", Selection::SelectionAction::SelectionActionEnableSpecific ,maskTriple);# t. @4 {0 h7 f8 k/ ]$ c3 O) G. T+ A
* ?, W7 W2 c# p7 q. m
0 {' [* T& a3 @1 U
咧子:只选择面 【UG本身过滤器跟着变】) X5 i0 B, S5 f9 R. A" F
initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤 1 B" v8 h+ U. a& J
1 I3 n' a9 `: O: B! g. ] selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式
1 Z: q5 N; n( E4 S# T
8 r9 w" \) ]$ L j7 N; s( l std::vector< NXOpen::Selection::MaskTriple > maskTriple;+ O, z& @; T7 ?% ?; G: ^5 q) j
Selection::MaskTriple mask1(UF_face_type,0,0);2 C, T4 R8 z; X' D* N
maskTriple.push_back(mask1);
M; l/ c5 `1 y M NXOpen::BlockStyler:ropertyList *selComponentProps = selection0->GetProperties();
8 w2 N+ z0 u- D selComponentProps->SetSelectionFilter("SelectionFilter",Selection::SelectionActionClearAndEnableSpecific,maskTriple);" p4 h: t* h+ g1 p# N3 o
delete selComponentProps;
( U% t; ?& h8 H6 t selComponentProps = NULL;% f* Z9 u/ |3 p$ h+ }! n
; Y5 Y$ ^- o' L% P* v0 ~
|
|