|
01、选择对象8 ?" r2 R0 D" o0 N
. S0 U3 O, ?/ \ g, Z" B9 p捕捉
( W2 p6 I5 T# J PointOverlay 是否显示捕捉点$ N7 u& q4 {4 c( w1 A
SmartUpdateOption 智能更新选项
9 H8 J$ o8 O6 g% @( X Within Modeling 在建模
8 F4 H9 u1 D: E7 X After Modeling 建模后% u- n) j' Q8 E. d8 T; L
After Parent Body 实体父后
6 ~3 I" c! S& u4 E Mixed 混合
5 q1 m$ N3 a' D- B$ F
6 z1 L0 G. Y4 j4 P SnapPointTypesEnabled 设置捕捉点类型的可见性0 k# V6 }9 ~5 |
SnapPointTypesOnDefault 设置捕捉点类型相关的内容被启用: P2 Z( l* ^- j: L9 j
1 `3 p! {$ E2 i7 E; j" B& P5 F/ }常规
: E# N/ c( S/ y9 e5 x& ? BlockID 控件id
# M; |1 P" g; p5 m7 V Enable 是否可选/禁用控件
" s8 d% O( c- P/ }+ x7 E2 A9 D5 E# X Group 组" P1 t6 W9 `5 d" k
Show 是否可见
! r% \- r. y Y/ Q) o" j" W4 m
/ n# j: b% f, h9 n3 a其它 0 B9 u! z8 m- O9 [, ?
附着& T0 o9 `9 l/ P: u* q/ a! r$ e
Bottom 底
& e* z. d* B" O Left 左
E6 H% O" j; W$ R% E" g1 C Right 右! n% n" N8 ?& b1 B8 d
Top 顶. Y; X! F3 X; `8 W5 I x$ i
. t9 d! q" y7 U( d Y6 R
特定于块' C# t& M( r( W1 Y! v+ t, m
AutomaticProgression 选择后焦点是否自动跳到下一个控件$ L1 v, B9 U$ i$ i0 y
BalloonTooltipImage 动态提示图片(鼠标移动到控件是显示图片): E/ u5 i; i- @( S
BalloonTooltipLayout 动态提示布局
1 D5 Z3 ~4 ~3 c9 h7 ` BalloonTooltipText 动态提示文本内容" K/ T4 D/ f$ @
Bitmap 指定图片) `! y. z# ^0 n+ C o# l ^
BlendVirtualCurveOverlay 是否显示虚拟交线
5 B* ~4 t. D* o$ [) B( p2 w* z CreateInterpartLink 是否显示部件间连接图标在选择条上! q6 b+ n/ W, m( M- W
Cue 提示
( M ]1 t1 G# X) C# q7 t
$ f/ U( o6 u4 ~1 G InterpartSelection 部件间选择设置
& c# b: @) y4 T3 j1 U0 z Simple 简单
0 W: ]9 G e7 k/ I/ l% G7 L Non-associative Interpart Copy Only 只复制部件间非关联$ d4 s( Y) t C" x
Associative and Non-associative Interpart Copy 复制部件间关联和非关联
; f1 b, d( p; Y5 Q7 X Associative Interpart Copy 复制部件间关联
: w# @# f8 l! W: \% O) t# w( |: q( R- X
LabelString 标签标题7 g0 z: ?6 P# I6 F) d
MaximumScops 设置选择范围
$ h. M; A$ o$ k Entire Assembly 所有组件/装配
* u; B* j; E7 M3 {9 _- S Within Work Part Only 只是工作部件
: F+ x, E3 `' U: M2 P+ f Within Work Part and Components 工作部件和组件/装配)
+ V. m" I2 ]; v6 D9 G( S/ w! O0 R9 N/ ?: m/ G8 J4 e
SelectMode 设置单选/多选 7 F5 X1 ~5 ^: U
Single 单选
4 i( _* ^- U) s7 V% J+ c Multiple 多选9 o" Y$ E2 a: {7 N5 ?0 V# N2 R1 q
% K; F0 j. X) R5 l8 Q StepStatus 设置确定和应用按钮什么时候高亮 (Required 必需的时候)(Optional 可选的时候)(Satisfied 满意/满足的时候)
0 U" L U! ]7 A' b$ O5 M Tooltip 动态提示文本标题(Bitmap指定图片时,鼠标移动到图片时提示文字)
7 R; N3 D, S$ R; G5 j
+ Z6 v/ I! H0 W% V& W————————————————————————————————————————————
- ?5 E o6 r! w" y) ]8 A————————————————————————————————————————————
b, p1 p$ @2 J# e7 N" b2 F咧子:获得selection0控件选择的对象9 G5 B# ^# [1 X5 c! `0 K; c. X
UF_initialize();
/ _' P) o! q8 Z; j std::vector<TaggedObject*>objects=this->selection0->GetProperties()->GetTaggedObjectVector("SelectedObjects");* O, I8 Q( D X7 O, |2 R& |
for ( int i=0;i<objects.size();i++) // size 列表长度,这里指的是 对象个数
5 h; c% k2 }' P% m { + v/ V; @, O% a) o# a6 q
UF_OBJ_set_color(objects[i]->Tag(),1);
9 ^/ h/ s, Z7 s0 e) A } _, Q3 n0 a( @+ k4 b* g
UF_terminate();
! u7 a# M( |7 X9 e. G
: i/ ?, R; n0 _' c* d————————————————————————————————————————————1 |' I/ N4 m6 D+ T# s
咧子:对象加入到selection0选择控件的对象列表
! t; N- q, Y6 k" _% J" X) q9 x; x$ [# h" w! [# j
tag_t obj=NULL_TAG;
6 G. m5 J' j/ R2 j double point[3]={0,0,10};8 f3 O- i& W( R5 ~
double XYZ[3]={60,50,80};# y5 x; @9 G( t$ z- `
char C[132]="";
; E* H- G3 N3 {, F char K[132]="";- E% B5 l8 ]! m' z: K
char G[132]="";6 j6 x: u. l5 N' Q0 z. @
sprintf(C, "%f",XYZ[0]);
- m& W5 R3 i/ [/ w, F9 h5 X sprintf(K, "%f",XYZ[1]);
8 A* \* G4 a. F# b" m# m3 i0 K sprintf(G, "%f",XYZ[2]); 3 Q- N- q1 N# g! X* W
char * edge_len[3]={C,K,G};8 }/ x; e: W4 f. k$ Z. r' N
UF_MODL_create_block1(UF_NULLSIGN,point,edge_len,&obj); //创建方* C, C6 ~; S) S& \
UF_MODL_ask_feat_body (obj,&obj); //从特征中取出实体
* |! S" n k0 g- D( Z. a( I
5 Y- x! D1 J, h2 p4 b Body *body1(dynamic_cast<Body *>(NXObjectManager::Get(obj))); //tag转换给nxopen
6 A0 B& u& n: Z; b* g6 Q( i std::vector<TaggedObject*>objects;
, v! ^" E8 n4 |* D5 U! Y6 P' v objects.push_back(body1); //对象加入到selection0选择控件的对象列表+ k. k9 S+ J# Q1 L( ?; T0 ~* W
selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);" F9 P" H$ `. K o! M3 F8 W; B. J
————————————————————————————————————————————' q1 V& z4 _$ Z4 r. h" ?
* s, j F: L- w3 W8 b5 H
//清除对象
( e" g1 Z- A, Q& ~) r( K' a2 O& Ystd::vector<TaggedObject*>objects;
! t4 O8 j- {) m4 {* E( L& Pobjects.empty();
) |6 Y8 f l$ D9 Kselection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);9 \9 v2 x) ?) i$ U. z
\( x1 Z8 M' {% ?0 I+ T* z
————————————————————————————————————————————, k; e2 l/ h3 b. g$ G4 S& A
咧子:只选择面
! G! M4 Z+ l4 J( g1 x6 |7 ]3 ~7 O initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤
) D9 q3 f0 X( d3 } f' N7 O
6 O# U" x' F+ t: O7 H: _. x selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式
0 V- G- i& s$ L/ g
9 ]1 T- j, [! m" W9 V' L1 j1 k //对象选择过滤 只能选表面
+ w- s" q1 H, |9 n0 E selection0->GetProperties()->SetString("LabelString","选择表面");
; @* r# m0 F: E7 F* a# l std::vector< NXOpen::Selection::MaskTriple > maskTriple;
, s3 l: H A+ J3 U Selection::MaskTriple mask1(UF_face_type,0,0);- E6 ], h0 y2 q' u) A5 h# m$ y: W! r# d
maskTriple.push_back(mask1);
9 p6 f7 f/ z3 V selection0->GetProperties()->SetSelectionFilter("SelectionFilter", Selection::SelectionAction::SelectionActionEnableSpecific ,maskTriple);% B2 ~% o) o7 y+ W& {6 U
7 x2 ^ j; B4 U: A) q
) f# E. H; f' o+ u, `8 s4 |咧子:只选择面 【UG本身过滤器跟着变】- j; A/ u% w/ n8 R" p1 p# N
initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤
7 u* }. G8 y& a4 E+ J9 l5 Q% V7 Z' v: K8 M( ]
selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式8 K. f. ~4 u6 } a
3 U8 m8 S' @3 G std::vector< NXOpen::Selection::MaskTriple > maskTriple;
8 w3 P/ ^4 `# O! c! i: B% Z Selection::MaskTriple mask1(UF_face_type,0,0);4 I$ e( k3 c, r7 d4 j
maskTriple.push_back(mask1);
. t1 B4 r- j$ Z NXOpen::BlockStyler: ropertyList *selComponentProps = selection0->GetProperties();
' H# Y" ^; V9 c* ] selComponentProps->SetSelectionFilter("SelectionFilter",Selection::SelectionActionClearAndEnableSpecific,maskTriple);" t" L; \6 E( f! i
delete selComponentProps;
! C7 ?; f7 b, Q& v selComponentProps = NULL;
: B# B1 c# q' V( J/ ]
) f% r7 C- b( x/ h4 n$ E |
|