|
01、选择对象
8 Q9 w9 l# c0 @# h9 P% }+ i
, J; u$ m p& O) \捕捉9 d# }( d2 x# }6 v) i- F5 [7 i
PointOverlay 是否显示捕捉点
( y I D1 ~! ?4 t) r- F SmartUpdateOption 智能更新选项
) e: |) O0 A: D0 _ Within Modeling 在建模$ q* f7 W& \+ p
After Modeling 建模后 O; j1 a/ o' J: \8 e
After Parent Body 实体父后
( g; |. H8 }6 W Mixed 混合
; A! L5 g) {" q+ Y& K
P6 s0 j4 e; ?% s9 @3 C SnapPointTypesEnabled 设置捕捉点类型的可见性
3 n6 _% t* H0 ^ SnapPointTypesOnDefault 设置捕捉点类型相关的内容被启用
5 L6 S u3 X0 g7 A1 O8 ~7 V. g( {3 I# Y5 Z/ C% D2 [$ _
常规
4 Y% K" y9 z- M! c5 P6 ^1 d BlockID 控件id: {* V+ w4 E/ O4 X4 m1 R. x" I+ {
Enable 是否可选/禁用控件
, s/ C% |7 G' Y. m% {9 T* h3 p2 M Group 组6 n8 {) ~. K* Q0 Z9 F; C
Show 是否可见$ d$ g+ N+ F2 X; f, @% `
$ p/ t' g8 g/ U6 \其它
$ Q: |1 ?) S6 E) K7 M9 j1 @$ g% D 附着1 [& n- Y) J7 k/ ?
Bottom 底) V" e. `0 }, ?! c2 r
Left 左
/ U" Q' e( w H$ j& L7 d Right 右! c9 N3 B7 \. g) A* ?1 \0 p& Y: [& N
Top 顶! @2 t4 e+ K2 V1 S( n9 g
3 q3 \; P; p0 _3 \' D5 e
特定于块+ g o- O2 l4 n5 Z/ W1 ^
AutomaticProgression 选择后焦点是否自动跳到下一个控件" Z- `: c8 R0 e) Z0 |5 I4 D& E+ I
BalloonTooltipImage 动态提示图片(鼠标移动到控件是显示图片)
9 ~% }" [ s J8 D BalloonTooltipLayout 动态提示布局
4 t4 p6 H6 X8 I BalloonTooltipText 动态提示文本内容+ w3 f7 z, V- n& V" u/ }
Bitmap 指定图片
0 G9 ]6 p/ J- \ BlendVirtualCurveOverlay 是否显示虚拟交线- ~) {- T n$ ]+ O
CreateInterpartLink 是否显示部件间连接图标在选择条上, y" y7 p# ^' f2 R
Cue 提示+ f4 x2 T( C3 D. t) @6 C/ |
- {$ V/ n* V M+ X# X1 }
InterpartSelection 部件间选择设置
|( o" F! P. D6 P2 `; s Simple 简单
" X, Z5 }3 G2 X6 B T$ I' I Non-associative Interpart Copy Only 只复制部件间非关联
- | h6 ^3 W( @6 L3 \. Y Associative and Non-associative Interpart Copy 复制部件间关联和非关联( y' f- |9 T9 X+ R
Associative Interpart Copy 复制部件间关联 ~8 u. }8 y! \$ b
/ F, I9 E# W+ q8 }- W; {
LabelString 标签标题
7 y0 R9 X# P/ k9 w MaximumScops 设置选择范围
, d& y0 ]+ t5 V* B Entire Assembly 所有组件/装配
# {+ T# T) i* I+ T: ? Within Work Part Only 只是工作部件( V4 ?6 x- _ z8 V) X- F
Within Work Part and Components 工作部件和组件/装配)
8 Q4 V' L* {7 S9 _/ e, j( B% v8 e4 ], j) m) y
SelectMode 设置单选/多选 A5 u' ?. u+ f! Y0 {0 }- n
Single 单选
* E/ L0 h# g3 P/ b Multiple 多选$ L! R7 O* k, }" z8 G
. }4 _8 ?5 ?, ?8 g! Q1 p
StepStatus 设置确定和应用按钮什么时候高亮 (Required 必需的时候)(Optional 可选的时候)(Satisfied 满意/满足的时候)! q+ b. r' \2 N( G5 o6 L( x
Tooltip 动态提示文本标题(Bitmap指定图片时,鼠标移动到图片时提示文字)
+ ]7 s: u6 ]4 |: w3 ^7 a
) O* Y. |; A3 K————————————————————————————————————————————
( C$ P: i- r9 n) e" G————————————————————————————————————————————
; I& @# r% A: R咧子:获得selection0控件选择的对象" o9 ]- @, D; b9 u
UF_initialize();
/ b7 W0 E F8 z y std::vector<TaggedObject*>objects=this->selection0->GetProperties()->GetTaggedObjectVector("SelectedObjects");4 C! p$ V) h& i
for ( int i=0;i<objects.size();i++) // size 列表长度,这里指的是 对象个数
0 u1 }0 i& r& N7 M4 b+ U { 4 Y/ }, a% N0 \8 S7 l
UF_OBJ_set_color(objects[i]->Tag(),1);
% L' J. M* R5 b0 G }- `/ H6 q' y- I( ~
UF_terminate();
2 ^$ i: o4 p; x% P7 v& O
0 {6 I6 d+ B; e; L* d————————————————————————————————————————————" B/ ?8 M+ V3 I0 q, l
咧子:对象加入到selection0选择控件的对象列表* {- v2 r H" S# }9 ?* f
6 C' ~& ^; B9 }9 \" s& b tag_t obj=NULL_TAG;
1 @/ A1 \) ]9 t; G$ I' I" y/ x double point[3]={0,0,10};( z0 T% J" L" d' U1 Q
double XYZ[3]={60,50,80};
& z4 c( U. F( A% V, |* Q char C[132]="";/ N5 u3 \6 T! c$ q% D, o* y
char K[132]="";
+ g1 k" {7 K$ ~ char G[132]="";
: `3 d, V) Y+ D0 x3 P' w4 T sprintf(C, "%f",XYZ[0]);
- c5 \! e L* q7 ?3 n$ V sprintf(K, "%f",XYZ[1]);
' M u* L* t; n8 |/ W) C sprintf(G, "%f",XYZ[2]);
1 \2 B2 S; G. ~6 W, j! I char * edge_len[3]={C,K,G};; w V/ \( W$ \0 M: ?( j! b( z
UF_MODL_create_block1(UF_NULLSIGN,point,edge_len,&obj); //创建方2 c2 M2 `* N7 |+ ?0 h, i
UF_MODL_ask_feat_body (obj,&obj); //从特征中取出实体
/ D* E0 [8 M2 d
/ z9 i* @2 `; ?, c Body *body1(dynamic_cast<Body *>(NXObjectManager::Get(obj))); //tag转换给nxopen5 p8 v8 `0 U- R7 |0 }1 h9 ~
std::vector<TaggedObject*>objects;
# T$ D9 u8 S4 o. G2 C. R objects.push_back(body1); //对象加入到selection0选择控件的对象列表
" l, }( B4 ]( c6 y! j9 ~) a4 a selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);6 g6 }, e/ ~8 ]6 T
————————————————————————————————————————————: j$ ? J7 }; N- P4 s( N" P% z1 J. q
) ~4 u+ m+ D7 {: X0 t& A6 F+ N
//清除对象0 F/ w6 \6 j$ j6 [" W) I
std::vector<TaggedObject*>objects;
4 J0 m8 T7 J- C: L* iobjects.empty();! Z8 B- m' I& O0 w) ` g7 W
selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);) p5 D: B% p+ b2 n% b! _2 h
! @. R. \6 V. |1 ^. K" g9 Y————————————————————————————————————————————
' _( y" {1 q8 B% v/ }咧子:只选择面8 u7 B/ j0 w1 Z6 j
initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤
+ s9 g: y# y4 K/ R* ~( q5 G% i$ c4 U) u
! l/ U% K9 k q( E selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式
/ ~' ~6 i ?+ N
r" O% S/ ^* e" A& \ //对象选择过滤 只能选表面
5 s4 m& P/ O# f0 R8 P! E5 `, B3 ? selection0->GetProperties()->SetString("LabelString","选择表面");5 ^! j/ }9 o# Z* Z* X, O
std::vector< NXOpen::Selection::MaskTriple > maskTriple;
4 T! ^: i* e' L4 C9 [0 Y' H Selection::MaskTriple mask1(UF_face_type,0,0);* O+ ]- S, T8 s) E$ Z1 A6 ]
maskTriple.push_back(mask1);* B" C9 U" p+ _$ z
selection0->GetProperties()->SetSelectionFilter("SelectionFilter", Selection::SelectionAction::SelectionActionEnableSpecific ,maskTriple);
: i8 q; T. H/ t" Y5 x7 N
9 a" J2 c' E! `; n
% d* o7 D2 x. v w8 h咧子:只选择面 【UG本身过滤器跟着变】5 p: A) b4 D: @* Q2 h
initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤 2 R3 Y9 n6 A! y- I+ a
* l9 T: B7 c6 W- P+ S: q. m! T selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式4 c, d3 b; d0 [& B( F' S
7 g+ C+ r6 R" C9 Z( e/ B std::vector< NXOpen::Selection::MaskTriple > maskTriple;
3 [; Z7 P3 R; P Selection::MaskTriple mask1(UF_face_type,0,0);% B6 X/ G- l5 W
maskTriple.push_back(mask1);
% E: u* O- A$ Y7 q% V7 |: g* n NXOpen::BlockStyler: ropertyList *selComponentProps = selection0->GetProperties();
! J4 k' g' |2 A7 {! O selComponentProps->SetSelectionFilter("SelectionFilter",Selection::SelectionActionClearAndEnableSpecific,maskTriple);
0 ~ d) q& F/ n( b delete selComponentProps; ]6 E" L0 X K1 e0 `2 o7 N) I; a
selComponentProps = NULL;
# A: Q* R5 B) G5 \0 I1 `) e
+ _3 S$ j- v% i- `0 \+ s |
|