|
|
发表于 2016-12-12 12:24:21
|
显示全部楼层
01、选择对象$ H, R4 e$ e2 c; X! R
9 J: v/ H V( ?! O- R! d, O捕捉' X$ A% T( B. H* I" t& d
PointOverlay 是否显示捕捉点' _) ~! A, a7 ]! j. a
SmartUpdateOption 智能更新选项
3 p# [0 n$ k' o5 M1 k- p! M s Within Modeling 在建模
) W& `) B. n$ U3 O; @2 J4 M After Modeling 建模后
1 K" y- L9 g- C% X& y After Parent Body 实体父后
! T h8 C( F# N1 |1 m; M4 E Mixed 混合8 ]1 h4 M/ i; ]" ]+ C5 E
( W6 P. u, H) q1 b
SnapPointTypesEnabled 设置捕捉点类型的可见性
# v/ J& V1 V1 v SnapPointTypesOnDefault 设置捕捉点类型相关的内容被启用1 y! |% T' G: `7 o, o+ @
6 o$ b1 A, M! i* `0 ]
常规
$ j6 Q2 W/ Y" g. S i& v+ ? BlockID 控件id
# H. U% X: P0 {" W% J/ b" K' G Enable 是否可选/禁用控件
4 e" U$ j) ^% s/ u9 O$ m+ ~ Group 组
6 Y9 x+ s+ b2 j, K& E, _' @ Show 是否可见, g2 L9 n, b0 B* {3 N
) z" B- K3 c( G# n其它 7 m9 z6 }6 s0 S: q0 d; j8 k
附着
3 B. A3 d# b5 t8 t Bottom 底
" j1 Y8 s/ x! B l! i Left 左
8 w5 o8 {; O+ x6 h; n" c Right 右- X! G1 H: d& k, H, I- a
Top 顶( p6 ?" s& ]# X+ m
+ ~0 @8 M0 w# r2 F+ u$ M' n& g特定于块
# |$ ? e% Q+ V7 E' u8 z" Q9 ^+ \$ Q' @ AutomaticProgression 选择后焦点是否自动跳到下一个控件 e2 ^1 d. t1 J1 j" W
BalloonTooltipImage 动态提示图片(鼠标移动到控件是显示图片)
, z9 O! E( F* N: r8 \# Y U5 k; Y BalloonTooltipLayout 动态提示布局
/ ^& I& {1 Y! t- W! N" Y BalloonTooltipText 动态提示文本内容
! h" Y+ d+ I/ V9 W Bitmap 指定图片7 I. m+ U s8 ?
BlendVirtualCurveOverlay 是否显示虚拟交线
4 G& q6 d2 h7 I, A+ \ CreateInterpartLink 是否显示部件间连接图标在选择条上. K2 L9 n# a9 h2 J7 D- L$ _! A
Cue 提示/ u2 t2 I) H: `; A' L
! U0 c! F2 G& {
InterpartSelection 部件间选择设置& t& ]" H. Q( l; y3 g8 c' B
Simple 简单
# k8 t" M* B7 f0 J- ]5 J7 r& k Non-associative Interpart Copy Only 只复制部件间非关联9 {) u: Q' N1 g0 K! i$ @( m
Associative and Non-associative Interpart Copy 复制部件间关联和非关联% R+ w/ J8 \4 @( b! r7 H; C- I; l$ i. Q
Associative Interpart Copy 复制部件间关联$ P6 ?) x% E( ?: {
" ^! }3 D2 ^8 x# ~6 S/ z
LabelString 标签标题5 R- e! U$ |' M
MaximumScops 设置选择范围* B- F0 F, q% x7 g) K, Y; m3 ^
Entire Assembly 所有组件/装配3 \8 @! W6 q2 ]; m
Within Work Part Only 只是工作部件5 d# F/ e( L* \. z; b+ O1 ]. ]
Within Work Part and Components 工作部件和组件/装配)
o; Y& {2 F! z$ u7 E3 m8 `% B) {; o) U- P j. A
SelectMode 设置单选/多选 9 P% J" K" j8 b# {& b' O
Single 单选4 o5 N$ Z* }/ b, q& Q3 ]
Multiple 多选
+ j1 \0 K: ]" n3 C
% Y6 S1 R' b, E7 {: ]7 j5 @2 O StepStatus 设置确定和应用按钮什么时候高亮 (Required 必需的时候)(Optional 可选的时候)(Satisfied 满意/满足的时候)
; S$ x. N& L9 Z1 B! j/ u Tooltip 动态提示文本标题(Bitmap指定图片时,鼠标移动到图片时提示文字)2 _- Z9 T/ a7 r( ~4 H/ e& s
& E; O0 s/ |' o# G, `, w; P
————————————————————————————————————————————, ~' ?$ L) o+ N6 {. T. O
————————————————————————————————————————————
3 V+ @) |; G* b' u咧子:获得selection0控件选择的对象
# U! k+ P7 w$ ?4 D0 J+ m UF_initialize();
& W* c& g6 }3 M" n5 \4 I std::vector<TaggedObject*>objects=this->selection0->GetProperties()->GetTaggedObjectVector("SelectedObjects");
# j; V) i$ K% d for ( int i=0;i<objects.size();i++) // size 列表长度,这里指的是 对象个数
; f# N* O$ x" x( D7 O/ `7 ~/ v {
+ u; y: a; H$ x9 {- z2 P UF_OBJ_set_color(objects[i]->Tag(),1);
' a" n3 J+ b7 a1 ^3 U }
" P f; q3 c% s( Q4 I UF_terminate();
5 A! h: G+ Q& K! a
6 a/ s$ P' i4 V————————————————————————————————————————————
% X2 e6 F. K0 u* }4 ~9 N/ E& M' j咧子:对象加入到selection0选择控件的对象列表
2 n. O: R8 V- e" I. ]1 C) {/ x& V7 W
1 g" ?2 T6 F- h7 S, q9 C tag_t obj=NULL_TAG;1 S+ ^6 u* p' Q O# Z# f
double point[3]={0,0,10};+ L) l* q% ~# y
double XYZ[3]={60,50,80};, h0 N2 P e$ I8 N' {; c+ E
char C[132]="";
( d$ u+ v( h5 }, l char K[132]="";0 a9 O% O# u: s) @$ R9 H& r/ P
char G[132]="";
- L4 W! h- H J: c sprintf(C, "%f",XYZ[0]);5 @9 n) o( P$ a; i/ A
sprintf(K, "%f",XYZ[1]);
) {& a! J, v0 K+ X' J7 U+ |" K3 B sprintf(G, "%f",XYZ[2]); $ ]0 g3 U( ]/ p5 ]7 l. s: i4 B: D/ d& o
char * edge_len[3]={C,K,G};
2 r, u/ _. p+ L/ O) }1 e UF_MODL_create_block1(UF_NULLSIGN,point,edge_len,&obj); //创建方: n7 t. |! K6 B6 w& P3 z, j% Q: I
UF_MODL_ask_feat_body (obj,&obj); //从特征中取出实体
$ o- y5 L6 o$ b3 A5 k& y3 t* W) @* Z: Q% u1 ?
Body *body1(dynamic_cast<Body *>(NXObjectManager::Get(obj))); //tag转换给nxopen$ H/ L. R7 R7 ?3 ?
std::vector<TaggedObject*>objects;! a% Q9 D! y0 \+ |
objects.push_back(body1); //对象加入到selection0选择控件的对象列表
8 N! u7 Z+ U! r# d% V: O7 o+ Q& u- ` selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);- w4 \5 U' K/ F% _+ x* m: x
————————————————————————————————————————————
- ~: f% y" \* |3 T5 Z9 |& m8 x$ N. `# r: w. o A+ m$ {0 ^8 r
//清除对象
7 E$ O8 a% b5 G4 ^) O1 E, Pstd::vector<TaggedObject*>objects;. D) }$ O# c5 R8 @
objects.empty();
I k* t5 Z! P2 U1 l4 `selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);
) q' B& ^1 u3 u; X M
0 b3 W2 b6 |# ?- W————————————————————————————————————————————$ V6 G7 I5 m ]- Q( x3 o
咧子:只选择面
# h3 J! F0 Z8 W) A% T6 J initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤
/ `/ G+ L+ j& ], S/ `' L
/ y% S. ~9 M& z4 W9 B' H7 c4 y selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式
( Z& [! |' z1 q
2 m9 f" W! e9 m! z% r: O3 V! P //对象选择过滤 只能选表面
$ s) P% t# _- P: k9 ~% v3 N selection0->GetProperties()->SetString("LabelString","选择表面");& t$ T* e, Z: t: B, k" O! G0 z
std::vector< NXOpen::Selection::MaskTriple > maskTriple;
) Y+ L' ~- H4 J v# f7 W0 R6 L Selection::MaskTriple mask1(UF_face_type,0,0);" @. c! ~2 j1 ~, a
maskTriple.push_back(mask1);! N3 Q( A/ O/ u5 W9 }. X3 n* L8 A2 i
selection0->GetProperties()->SetSelectionFilter("SelectionFilter", Selection::SelectionAction::SelectionActionEnableSpecific ,maskTriple);
" H D1 i$ o( S/ M' j" } u6 X
. |. [1 e9 J0 R$ M1 o. F D! T' c- }
咧子:只选择面 【UG本身过滤器跟着变】
" ?9 j6 }9 c4 j5 U initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤 $ O2 C' R: F+ p( @2 [6 N
( `7 |7 G# U7 h7 X+ j' ^/ _ selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式8 e3 F X) b. x* v* S% P& G
( f2 A, |& g- b, k std::vector< NXOpen::Selection::MaskTriple > maskTriple;7 T1 v/ x3 B) _" T( e
Selection::MaskTriple mask1(UF_face_type,0,0);6 o- ^0 V t: ~( {8 j1 o1 M
maskTriple.push_back(mask1);( N: t2 y9 S6 C$ V2 J9 d
NXOpen::BlockStyler: ropertyList *selComponentProps = selection0->GetProperties();. j: J5 @+ S& c7 p6 ?% X! c* r4 [
selComponentProps->SetSelectionFilter("SelectionFilter",Selection::SelectionActionClearAndEnableSpecific,maskTriple);2 y/ ^* |$ Z. y
delete selComponentProps;/ o$ z9 k0 w7 x5 q5 H
selComponentProps = NULL;
! ]( O) x6 M; r3 L" J/ e9 N1 w0 k3 t5 s" `7 d
|
|