|
01、选择对象5 c/ Y3 L% p y. H1 Y; `
+ ~3 D1 U- A" Q7 m7 C
捕捉
; p% Q! K" s$ I. L PointOverlay 是否显示捕捉点0 D; V# M* [3 s' f4 g, i" H w
SmartUpdateOption 智能更新选项
1 h9 O7 F7 T/ c% [# \( p: A- { Within Modeling 在建模& [; k6 Q$ S5 ]6 |8 S4 L+ R
After Modeling 建模后
4 m4 W4 U; ?' {" C" a After Parent Body 实体父后3 e: v" I8 M1 d' h6 w
Mixed 混合% U# N1 T8 D& K4 x; m; U
- Z- L) i- `% @) E. C) A, C SnapPointTypesEnabled 设置捕捉点类型的可见性
8 P, N# C0 g5 R* r" ^) H, @ SnapPointTypesOnDefault 设置捕捉点类型相关的内容被启用7 w' e% E0 [; D" g; |) \" S
; s$ y! ?, B$ z8 B常规0 j S8 Z3 }. h; l/ Y, q Y1 ~: x
BlockID 控件id1 y0 t4 i8 E, A# m
Enable 是否可选/禁用控件2 N1 L' C4 R! o" i( |2 V
Group 组2 l" ]2 U1 x. c0 v
Show 是否可见* G2 M% j% @4 V$ p8 y- o
# z9 c3 T8 K7 O) x: N K
其它
2 b1 Z) X. v7 H# O 附着
( Y' n) B* p/ B Bottom 底
) _+ R1 \) U' _1 i7 }$ |7 I& f0 B, D$ g Left 左
* t2 }: o8 g8 L$ Q Right 右2 i- Y/ `3 X) s
Top 顶: E, `& \1 {' W) J
% E$ ]# a% @; v) D# D; Q
特定于块' v# U# m6 L9 ^
AutomaticProgression 选择后焦点是否自动跳到下一个控件
( b* O' E* a9 o( U% @2 I; ?) I, D BalloonTooltipImage 动态提示图片(鼠标移动到控件是显示图片)9 l, z' |, h3 L$ |% s
BalloonTooltipLayout 动态提示布局
. _: |1 b2 n( c9 ?. B) ^ BalloonTooltipText 动态提示文本内容
7 h C- Y8 q; h4 ~* k5 t Bitmap 指定图片
. A& h: s# Y4 q! o/ ?. h+ x: S; i BlendVirtualCurveOverlay 是否显示虚拟交线, {' v" L& F3 N/ O5 Z
CreateInterpartLink 是否显示部件间连接图标在选择条上
9 M a( ]: z% f Cue 提示( }$ l. G! M; O, m7 _
/ Y( J5 y1 C# `2 n1 O! Y; i h InterpartSelection 部件间选择设置
2 e! e, ^- k, E" q: v Simple 简单% Y& c1 Y0 i4 o) W$ V! `0 t
Non-associative Interpart Copy Only 只复制部件间非关联. ^7 {) m0 i, ?% n& |0 |
Associative and Non-associative Interpart Copy 复制部件间关联和非关联* h! X' u) B+ J# P& ~
Associative Interpart Copy 复制部件间关联
7 E, [6 |# k4 n. R6 h q+ g
' l) g! \; `) l0 ` LabelString 标签标题
" B9 g4 |( Q2 ^ MaximumScops 设置选择范围9 R: J. y" p4 ~
Entire Assembly 所有组件/装配
: a$ H: }5 \" M5 D3 d) ]9 X1 } Within Work Part Only 只是工作部件
6 r+ Q- H) s1 t" K( X Within Work Part and Components 工作部件和组件/装配), f. x# p0 h8 y9 z0 I$ T
% b: o/ Y! q" \$ l3 E/ g) u+ z
SelectMode 设置单选/多选 7 ]! b8 c3 D W \% b
Single 单选# I# p5 y9 s& R: ^
Multiple 多选 S+ _# i+ e4 B" Y, K
, ~% Q/ U& h; R, z StepStatus 设置确定和应用按钮什么时候高亮 (Required 必需的时候)(Optional 可选的时候)(Satisfied 满意/满足的时候)
* w9 ^% ]+ r8 a, I) B0 a3 T {! @ Tooltip 动态提示文本标题(Bitmap指定图片时,鼠标移动到图片时提示文字)& j: q2 a' |4 m; P) O7 {
+ l8 V& z) H! h& R
————————————————————————————————————————————
* u/ v7 V- O7 U7 W9 I o————————————————————————————————————————————
! R- J# b0 A2 K# L& V0 Q咧子:获得selection0控件选择的对象0 J+ W: A4 X" t r4 l
UF_initialize();
/ @/ w" M x+ u; W! a std::vector<TaggedObject*>objects=this->selection0->GetProperties()->GetTaggedObjectVector("SelectedObjects");; u) C! U4 t# l* `
for ( int i=0;i<objects.size();i++) // size 列表长度,这里指的是 对象个数/ N( u1 z- ?4 ^. ~% }
{
# I! C- M( Q8 [& O6 d UF_OBJ_set_color(objects[i]->Tag(),1);. Z1 t/ M. ^- D/ b! Z
}; C" v! L) f X1 L" E8 e
UF_terminate();& F$ P! Q6 ~6 O' A* G* ]' M% v
) x- s" z( y7 l0 X' A4 u% r
————————————————————————————————————————————
8 w- n1 j; @+ a1 h咧子:对象加入到selection0选择控件的对象列表
1 W# M" I5 t- m2 G: s2 I& e. |' ]8 K8 p, F3 }
tag_t obj=NULL_TAG;+ a3 e* u U) @" z- K
double point[3]={0,0,10};
& u3 d5 W( n3 R9 v: Y7 k K3 o0 P double XYZ[3]={60,50,80};7 Y4 T. _7 D O" I4 A7 M: {
char C[132]="";
1 P4 {' g$ G [. t2 ] char K[132]="";
- v3 [" R7 Z4 L2 A$ s }3 d T char G[132]="";% ]( [" I: C$ G" B) r6 y; g
sprintf(C, "%f",XYZ[0]);
0 l) t# J3 N( U" v0 t) a3 ` sprintf(K, "%f",XYZ[1]);
) k: N0 |' \/ u. V/ d/ m: Y0 e6 } sprintf(G, "%f",XYZ[2]);
, {' C9 b4 v) d! |' {9 } ? char * edge_len[3]={C,K,G};# u4 U8 q5 U8 L) n% b
UF_MODL_create_block1(UF_NULLSIGN,point,edge_len,&obj); //创建方; V1 Z! y" l4 F) ]9 }7 B
UF_MODL_ask_feat_body (obj,&obj); //从特征中取出实体* w L6 x, H+ _0 p4 h
; k% p: `3 G4 t9 P
Body *body1(dynamic_cast<Body *>(NXObjectManager::Get(obj))); //tag转换给nxopen# i5 E. V( a" |5 g
std::vector<TaggedObject*>objects;/ r, S `$ Y* o& F" [- b( h
objects.push_back(body1); //对象加入到selection0选择控件的对象列表
, b0 R2 ^/ i8 o* e/ s& P6 p selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);6 L" n. A/ t' n- F% M& @
————————————————————————————————————————————# P; O# j0 D( O$ _8 E( L
3 t# ~' y/ w" y1 q, U
//清除对象) j5 i' |0 U9 Y5 J( z$ u+ r6 E
std::vector<TaggedObject*>objects;
( N- ^- [4 p! H2 u) @7 N- Sobjects.empty();
- U, \3 T: S* E" q- ^0 }selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);9 a& g) [+ L' N
' X# f7 @1 O$ |* E4 {: C8 U3 B9 i————————————————————————————————————————————
( i7 Q. B5 h; O. t咧子:只选择面) o0 G `2 O( z" r* g* y
initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤8 U$ V2 H0 Q6 O% K! G/ U& R
3 r% ^6 \! M9 K
selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式
) K4 o) D0 F( \" A. I3 l3 g
9 F/ {6 y/ {- ?5 z //对象选择过滤 只能选表面" m4 z/ S, R& s7 H5 T- C$ k9 Y
selection0->GetProperties()->SetString("LabelString","选择表面");! `) \- Z( ~- r2 ]2 s
std::vector< NXOpen::Selection::MaskTriple > maskTriple;
/ w( t3 }/ g3 f8 g; | Selection::MaskTriple mask1(UF_face_type,0,0);7 `/ S0 ?0 C$ k5 G9 i/ ^0 r/ n0 U2 ~
maskTriple.push_back(mask1);
& d2 F) O) s; E% B% y selection0->GetProperties()->SetSelectionFilter("SelectionFilter", Selection::SelectionAction::SelectionActionEnableSpecific ,maskTriple);& d# \/ R6 y) q2 Y3 z/ j: n5 \
, u! C4 c a# U
W$ k' }$ Y+ W' t6 V
咧子:只选择面 【UG本身过滤器跟着变】% o1 J; R9 }, t7 [! I* b( a; E8 @
initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤
# e8 ~, H z% K+ h- n6 w9 w1 s8 \* @6 [. y1 j
selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式
; @4 }( ]# E* L( O# V
( M, R( E$ b, {3 o7 t$ W; X0 ^ std::vector< NXOpen::Selection::MaskTriple > maskTriple;
; r% R- I; c: J8 b5 A4 l( W Selection::MaskTriple mask1(UF_face_type,0,0);
# M& I4 Q; b/ e/ P( g! I maskTriple.push_back(mask1);
|2 O+ z \& Q/ }. _, D NXOpen::BlockStyler:ropertyList *selComponentProps = selection0->GetProperties();; x! N- |- U, X
selComponentProps->SetSelectionFilter("SelectionFilter",Selection::SelectionActionClearAndEnableSpecific,maskTriple);+ Q* F5 n, q0 m4 a+ ?
delete selComponentProps;0 C" p% J( I- _4 s4 k1 ~
selComponentProps = NULL;
6 r& K% F# \; |' G( N) a5 n3 H; W) W3 X0 B$ u/ [$ D
|
|