|
01、选择对象
8 f$ \# Z$ l1 S0 D6 h5 w- T3 H9 J4 d$ v" N" U( D+ k, m
捕捉# E. u; I9 L8 Q( X8 ?. G- H
PointOverlay 是否显示捕捉点
0 f: \- A* p! Z" W5 k SmartUpdateOption 智能更新选项
6 Y5 t x& _* }, i, W Within Modeling 在建模$ n* E2 ~2 v: J! L& u
After Modeling 建模后0 M$ m3 y; ?1 I+ k
After Parent Body 实体父后% F0 }: z; m4 [* k7 X+ p
Mixed 混合
( |3 r$ V# s7 `. J& R: L3 @: I" v, {: {
SnapPointTypesEnabled 设置捕捉点类型的可见性 y K7 ] m, d" e5 W/ G) ?- x
SnapPointTypesOnDefault 设置捕捉点类型相关的内容被启用
0 Y2 A! P, K' D2 ^, \9 u/ T
1 q( i- g& {% k) ]9 r2 G- `常规
4 X7 A3 B4 Y2 ]$ p BlockID 控件id- ]& u' I, W- i/ I C+ y# ~
Enable 是否可选/禁用控件5 Y) f5 b( w, I' H q
Group 组
; i+ P/ ]1 T6 L0 S5 f; L) Z Show 是否可见. N* M! P7 P6 Z: i( c- r% q
4 l! Q* v" ~5 Y* S
其它
$ l; l1 Z& A! \6 N8 V8 V1 N0 p 附着
2 H7 i* s5 t% q% a9 i3 y Bottom 底
( |8 L) R8 }. D/ t6 `! o Left 左
4 j6 H" ]2 P* a5 m% ~# a1 {+ d7 M Right 右4 r; v; h$ N- x3 c" s. K
Top 顶
6 N) \- T, y+ Y3 X) B& N2 x( a3 }
特定于块7 o c4 p1 Q" B# m
AutomaticProgression 选择后焦点是否自动跳到下一个控件 `7 f5 t# I1 n& `
BalloonTooltipImage 动态提示图片(鼠标移动到控件是显示图片)
4 T" N, @* M2 Z( \2 D- H7 q BalloonTooltipLayout 动态提示布局# b( s- M3 Z+ T G3 p
BalloonTooltipText 动态提示文本内容
: N4 h" z- z! O; u: w/ q a Bitmap 指定图片
+ s2 w. Y+ [% c2 D9 R0 ^ BlendVirtualCurveOverlay 是否显示虚拟交线
% y. Z; k$ U/ X& T5 ? CreateInterpartLink 是否显示部件间连接图标在选择条上
! T! q) D- p( x9 B# r! a$ t8 H0 B Cue 提示, L8 p3 d+ t5 s, V: g* M
* h& V" N9 m7 C. M7 P$ l2 q
InterpartSelection 部件间选择设置1 b; p: a. j: @/ \+ m+ }. x: H- g
Simple 简单
4 R8 k3 p8 n2 B# j# ] Non-associative Interpart Copy Only 只复制部件间非关联
, Y0 S' M x( [) k# h' h, d Associative and Non-associative Interpart Copy 复制部件间关联和非关联
! M- y0 W: x" k( V/ A% F Associative Interpart Copy 复制部件间关联
( O3 g( I+ p7 p$ |
* J8 O* `' S6 J8 f @" _ LabelString 标签标题0 ]3 \8 f( Y3 J1 p
MaximumScops 设置选择范围' u" u9 Y( E7 b5 ]. S
Entire Assembly 所有组件/装配
+ m& z- @) E/ q Within Work Part Only 只是工作部件
2 b4 x- D- Q* e" y1 D& ` Within Work Part and Components 工作部件和组件/装配)% L) b1 P( K# k
0 @& p; H( r& F2 k( N( P7 Y7 }% m" L SelectMode 设置单选/多选 % v9 f/ \+ K2 D* G# z/ ], {" h( U( x
Single 单选; L. O4 O5 i+ |" {& C0 k
Multiple 多选4 L3 w9 y' L5 C# _6 y: v7 l+ v
B+ O% s4 ^! N+ F5 ` StepStatus 设置确定和应用按钮什么时候高亮 (Required 必需的时候)(Optional 可选的时候)(Satisfied 满意/满足的时候)
3 ^5 j# S0 \ ~ Tooltip 动态提示文本标题(Bitmap指定图片时,鼠标移动到图片时提示文字)$ l7 u; a) x8 ~1 @( \
0 u9 [3 H) x4 h- h————————————————————————————————————————————# V9 y. m3 A( Y+ C1 [) @0 Z
————————————————————————————————————————————5 [% ^3 j7 s& R
咧子:获得selection0控件选择的对象+ M( `3 S$ k, P @
UF_initialize(); % }5 S+ W7 `8 J. {
std::vector<TaggedObject*>objects=this->selection0->GetProperties()->GetTaggedObjectVector("SelectedObjects");4 s' L' {6 @) W1 i
for ( int i=0;i<objects.size();i++) // size 列表长度,这里指的是 对象个数$ f. B6 ~ o$ |3 V! H4 e, x; k
{
6 \1 F6 P; l$ ?1 b- T; G- ? UF_OBJ_set_color(objects[i]->Tag(),1);
0 M, o5 W6 R2 n/ T! Z$ q; D, ^ }
; H# p* _ C6 j; X UF_terminate();
; d' x5 J, U4 m- [7 l- y
3 }4 f- j* r, c( x" J5 j————————————————————————————————————————————
% w% a) \9 Q( K5 f5 S3 Q咧子:对象加入到selection0选择控件的对象列表
- U4 h/ r2 {. V& r+ f* X4 n4 f- m
' p0 H. m/ [$ |2 p. R, z+ ~+ p tag_t obj=NULL_TAG;
. R8 g0 r: `$ v6 A- O) ~ double point[3]={0,0,10};% k7 j# X' m- b/ U' m+ g& w
double XYZ[3]={60,50,80};
5 w! G/ M% v0 p# D0 W T char C[132]="";
. Z$ S" j1 I \3 L$ ]4 ^* A% p char K[132]="";
v2 \& p& ?/ D+ S- B: [. w char G[132]="";
% K Y+ Z# H) z2 [: h. e sprintf(C, "%f",XYZ[0]);7 d8 ]2 y% b3 [5 }
sprintf(K, "%f",XYZ[1]);
( T7 L+ }; m8 Z$ y1 c sprintf(G, "%f",XYZ[2]); ' ]# h, `6 X% \* h$ N
char * edge_len[3]={C,K,G};8 K( _4 G8 o% q' O# m2 n
UF_MODL_create_block1(UF_NULLSIGN,point,edge_len,&obj); //创建方
3 y; P4 [, U9 q# |9 Z5 {" N UF_MODL_ask_feat_body (obj,&obj); //从特征中取出实体: A& l" w; i" z3 I! O, a6 K Z2 g
, g- E" N0 o' d% s: m
Body *body1(dynamic_cast<Body *>(NXObjectManager::Get(obj))); //tag转换给nxopen
/ I. I8 Z4 K; H. K/ k std::vector<TaggedObject*>objects;9 ]8 O1 \- X* K! u
objects.push_back(body1); //对象加入到selection0选择控件的对象列表( P4 ~) K1 J( X, _ ^
selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);
% h* H0 E+ L( q& h. X& f# Q5 o) ?————————————————————————————————————————————
; u# P& k" D, e" Q; ^4 H/ t1 H! b" |: {( {5 U
//清除对象
7 T5 W: I' V6 Dstd::vector<TaggedObject*>objects;
) g' z& {8 c; P& eobjects.empty();2 p+ Y* \$ B8 n5 v2 Q' q* h1 ~
selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);
4 M. z2 W% m" j2 N* O* M% i! g2 x7 o1 s6 t
————————————————————————————————————————————
3 w" {8 Q" j" U# V4 S& {咧子:只选择面
, _; Y) H/ e& a3 B8 s# v/ J initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤0 M/ m. O0 ]: y3 s2 ^, v
6 |$ K5 o8 U4 p3 y& r3 s' W4 v selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式
0 e+ h+ t% w- s6 L" x
* @1 {# J' n2 g1 O9 ]& H //对象选择过滤 只能选表面. K! t! r/ w$ G
selection0->GetProperties()->SetString("LabelString","选择表面");, S$ G+ M- [3 u2 U# w% _5 \( z. ]7 k
std::vector< NXOpen::Selection::MaskTriple > maskTriple;
6 Y9 a8 |* r1 e Selection::MaskTriple mask1(UF_face_type,0,0);; I+ h$ d5 j8 V9 _( w) e' s
maskTriple.push_back(mask1);% p! r* \3 K' H( \1 u6 ]) o1 t
selection0->GetProperties()->SetSelectionFilter("SelectionFilter", Selection::SelectionAction::SelectionActionEnableSpecific ,maskTriple);7 W) J. p) w" t6 c8 D; T$ Z$ C6 @
9 [5 Z5 ~8 F! m8 M0 G( O
1 |" {+ z% g% y, _; G3 j
咧子:只选择面 【UG本身过滤器跟着变】% W( q( Z8 a/ V$ y
initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤
7 ]) ?3 G; ]0 U" c8 S. f- D7 u/ F4 a* T) v/ D) e$ ?' x9 @
selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式
2 P/ Q" C; w* F- g6 U+ J, o: {9 R- _/ y! e- K
std::vector< NXOpen::Selection::MaskTriple > maskTriple;
* {. Z& l- j7 r- @0 l9 V Selection::MaskTriple mask1(UF_face_type,0,0);
' O+ C/ I: R8 N- Y4 Y; ~- U2 U+ U maskTriple.push_back(mask1);# _1 h9 d- P9 P
NXOpen::BlockStyler: ropertyList *selComponentProps = selection0->GetProperties();$ Y5 e* f/ \1 N# V8 l
selComponentProps->SetSelectionFilter("SelectionFilter",Selection::SelectionActionClearAndEnableSpecific,maskTriple);) Y- \- M. T- r( ]: U9 I
delete selComponentProps;1 L% W9 L! y6 H5 ?" z) l% }
selComponentProps = NULL;
2 P2 E" L+ Y5 _+ D W( c/ _
! G# n+ y! i* z4 h6 q, C |
|