|
|
01、选择对象
- w3 A/ a$ D4 A6 p9 Y& {4 d3 D! S: _. G- ?4 L5 a# e# X
捕捉7 L$ K7 d, t) K* O
PointOverlay 是否显示捕捉点
( x5 _7 {/ N5 r SmartUpdateOption 智能更新选项
- L: I6 X9 }4 Y" P+ ? Within Modeling 在建模( q4 Z& z# k {3 B4 Z) d
After Modeling 建模后4 F- N4 V& p* k$ ]' _% w
After Parent Body 实体父后
/ @4 ?+ E5 T& b: w; W Mixed 混合
: Q2 n2 O- q8 E- v
7 @, z+ n) I8 [( u5 `6 D SnapPointTypesEnabled 设置捕捉点类型的可见性
8 ~6 A1 Z: @4 G6 p9 c* b/ B' q3 _ SnapPointTypesOnDefault 设置捕捉点类型相关的内容被启用7 v/ `+ h5 m& W/ Y
& z; b6 W- C, S( `! q% I( f常规7 }1 E E3 x' \# b! d7 K+ R
BlockID 控件id8 l0 S+ Y: i; I Q5 d
Enable 是否可选/禁用控件: V( ~. K& h% ~
Group 组- t$ Y; I Y2 V7 L+ ?' K
Show 是否可见
& {4 {" U$ F& W! {
A) ^8 Y* `3 t. {5 d n其它
( J7 H' d6 Y% H8 u 附着! Z: F1 h. z) j( U1 K: W7 G
Bottom 底# Y1 Z8 b6 E0 W7 g
Left 左
0 K- Z) O8 g, R* N* E" w f5 X Right 右
9 S4 U- F" o, b+ x! D Top 顶" Q' }1 D/ ^9 w9 d- n
4 H, I7 j: |% G8 N. \4 t! D/ F$ M
特定于块: z$ B5 N9 O! d3 q3 h7 `
AutomaticProgression 选择后焦点是否自动跳到下一个控件+ q+ e% i& ?6 W/ o/ \- Y) w. o
BalloonTooltipImage 动态提示图片(鼠标移动到控件是显示图片)
: y- G8 h W \7 ?. R BalloonTooltipLayout 动态提示布局
t; A+ f+ m5 a% c( G/ ~6 k; N BalloonTooltipText 动态提示文本内容6 q; ?( o( B2 B' ]
Bitmap 指定图片
3 m' l2 [, e2 Y/ @) u9 s BlendVirtualCurveOverlay 是否显示虚拟交线
6 P: I& i5 ~0 n9 a8 P CreateInterpartLink 是否显示部件间连接图标在选择条上
/ R8 K$ v% c2 p, a ~ Cue 提示
6 u8 ^) Z& ~: a, t7 G% P" `! H) v9 t* H
InterpartSelection 部件间选择设置5 M: H9 Z: M0 W- I
Simple 简单9 q3 s! A" B! D) }
Non-associative Interpart Copy Only 只复制部件间非关联8 W5 c9 h0 Y# J0 ]
Associative and Non-associative Interpart Copy 复制部件间关联和非关联1 }7 s2 A, \( ]* @
Associative Interpart Copy 复制部件间关联
/ J# |5 I: o" q
2 e0 S# W! d& W$ K! ` LabelString 标签标题
, R6 k3 j$ r; J1 C( ^$ y MaximumScops 设置选择范围3 Y4 ~8 ?- b5 a3 h; h
Entire Assembly 所有组件/装配9 P% U* e3 t/ |8 J7 d. q$ Z! v
Within Work Part Only 只是工作部件- N4 W6 l, A6 g' {
Within Work Part and Components 工作部件和组件/装配)
$ Q+ S6 w4 f' K" v. ?
+ R3 f8 L, H2 b/ H \" ~8 k SelectMode 设置单选/多选
* J5 g. z8 q. x l3 y Single 单选7 B. Q( g+ X" m6 U2 e; z
Multiple 多选# w- w7 E4 D: C
+ P1 N3 _0 `& m5 y; U
StepStatus 设置确定和应用按钮什么时候高亮 (Required 必需的时候)(Optional 可选的时候)(Satisfied 满意/满足的时候)
: I+ x; u" ?- j, X. U Tooltip 动态提示文本标题(Bitmap指定图片时,鼠标移动到图片时提示文字)
: }2 I" Z5 S2 o) y- D( Y+ e; X- g/ X, n. R" f% L
————————————————————————————————————————————, b# g3 S# x5 J, n+ T
————————————————————————————————————————————
( t; A4 ^; T2 G6 Z7 T7 f5 ?% U咧子:获得selection0控件选择的对象8 N k7 I: e' {- ]
UF_initialize(); , H7 [% L% P# L" X, _* l. a5 O
std::vector<TaggedObject*>objects=this->selection0->GetProperties()->GetTaggedObjectVector("SelectedObjects");
; F; b& @; O( g# _ for ( int i=0;i<objects.size();i++) // size 列表长度,这里指的是 对象个数4 Y% \+ n" _9 { F3 W/ \$ Z
{ + E1 f) ]& P; ?6 x& O; K; Z/ S
UF_OBJ_set_color(objects[i]->Tag(),1);
8 m0 u! V) W/ E6 A }, X0 M R9 M3 Z4 U( S/ Z
UF_terminate();
9 g& m; e+ b' {/ w( p$ S* e7 s+ l* h8 n( a1 F; e" j: ~# C
————————————————————————————————————————————
8 S2 |/ K; X9 M- ^0 ~( Y1 F& n# `咧子:对象加入到selection0选择控件的对象列表. y* P# U. V' d; v: ]" J
) I% @) Q' r! \! f' N tag_t obj=NULL_TAG;
- h6 r4 Q, r0 y+ V( Z double point[3]={0,0,10};
- p) a6 Q4 x" ]$ z; `' r/ \$ F9 ^ double XYZ[3]={60,50,80};
! O, P; {. F. S6 o! |6 M" T: ]8 w0 b char C[132]="";. |, d* _4 j$ {
char K[132]="";
0 s! t' _0 [. r* ]6 e y$ H6 v char G[132]="";1 ~+ v7 z8 Q9 z3 {8 @& y% g# V. {
sprintf(C, "%f",XYZ[0]);
( W1 W" @& d2 y( Y" k% Q sprintf(K, "%f",XYZ[1]);
/ c+ `8 O& h# z ]/ }- \; x sprintf(G, "%f",XYZ[2]); . f7 {9 Z" R/ [' v* W" L
char * edge_len[3]={C,K,G};
( f' ]9 `! b+ V6 s' k UF_MODL_create_block1(UF_NULLSIGN,point,edge_len,&obj); //创建方- ]# ]9 _8 i3 X( o
UF_MODL_ask_feat_body (obj,&obj); //从特征中取出实体3 I' Q1 z" P$ R1 ]6 N6 M
* H% {1 ]- \ M( F
Body *body1(dynamic_cast<Body *>(NXObjectManager::Get(obj))); //tag转换给nxopen, e+ q" O8 o9 H7 j! Z$ s& {+ {
std::vector<TaggedObject*>objects;
3 N4 w3 D8 T# p: z2 b9 m objects.push_back(body1); //对象加入到selection0选择控件的对象列表
) T M3 O e4 j. Q4 |) g1 K0 r selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);
; b2 W& O* L. y* F2 _- c. e————————————————————————————————————————————
$ {' V4 d' h2 m' [# Z8 n9 b$ Q% Y$ L
//清除对象
1 j* E" E; _: Z' @! estd::vector<TaggedObject*>objects;
9 t( ~: `4 u% \& yobjects.empty();
9 D2 r8 U/ V+ _selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);+ {6 e0 o! K- r! V3 }
A3 p( h( K. @
————————————————————————————————————————————
4 q% r" }! s/ w" `' Y7 U& E咧子:只选择面
8 y/ I4 y8 P( k, ^3 Y \, m initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤
# J# k c) {" M% _7 q7 ^) `) ]2 D4 p& i5 ^ x3 K9 M
selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式
; w) F& C! q6 \" m& z( _& ^( ?+ p: Q0 A; ^- L
//对象选择过滤 只能选表面
; Q) z: y- [9 [8 t. C selection0->GetProperties()->SetString("LabelString","选择表面");
' {/ k, n& t* [" q& c1 F std::vector< NXOpen::Selection::MaskTriple > maskTriple; @; e" D3 Z" K
Selection::MaskTriple mask1(UF_face_type,0,0);
/ Z8 x2 h- I6 N( ?7 _+ d maskTriple.push_back(mask1);
$ l1 F: @* x+ |1 v* G" S selection0->GetProperties()->SetSelectionFilter("SelectionFilter", Selection::SelectionAction::SelectionActionEnableSpecific ,maskTriple);) c n3 d9 q* } ~# `6 B, x$ u0 ]- a
% Y: L& v# E- W
# m) p7 t; i K* g0 l咧子:只选择面 【UG本身过滤器跟着变】
/ N0 V0 {" z' {* z initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤
4 \- B$ M2 M$ G( _3 u
3 K4 e" P- s- P ~. n3 Q( E( ^ selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式
9 C% k8 {* e+ l0 T/ ~7 v- A- W
a; {: \) f! ~$ _6 a std::vector< NXOpen::Selection::MaskTriple > maskTriple;
- z5 h2 v( B+ _7 B! e7 Q Selection::MaskTriple mask1(UF_face_type,0,0);: l$ P' L/ Y$ c: d
maskTriple.push_back(mask1);
5 f6 }& M) c, Y* S" ~5 a/ { NXOpen::BlockStyler: ropertyList *selComponentProps = selection0->GetProperties();0 N- o9 x2 ]8 h$ L4 G( n M
selComponentProps->SetSelectionFilter("SelectionFilter",Selection::SelectionActionClearAndEnableSpecific,maskTriple);
5 S& z! V/ j6 p! } delete selComponentProps;
/ U$ T1 @. N2 L selComponentProps = NULL;
% x8 n1 P0 F. n& S: K4 h! G& C9 `/ @/ e
|
|