|
01、选择对象
# H3 c+ E% [5 X% I% G9 g$ p
" h! o; P& z O |" H0 a捕捉
9 S. K( F% c7 N: Z9 Z! i) d: {+ B: W1 O/ ^$ y PointOverlay 是否显示捕捉点6 t8 D$ }3 m3 [0 @" T$ R
SmartUpdateOption 智能更新选项
: h) V0 O' m# O4 b5 |% o Within Modeling 在建模
. N" Q$ N5 N1 Q4 ^# l1 }- V After Modeling 建模后
1 c- O+ K" }. C# T% i4 d' Q. z5 B5 ` After Parent Body 实体父后
) v+ g4 M2 n( @5 F Mixed 混合6 ?$ p8 ^$ E ]5 m0 n" j2 \- p4 }
7 q& Q/ S* L1 y' }8 ~! |
SnapPointTypesEnabled 设置捕捉点类型的可见性2 r9 r( V4 S, D4 H
SnapPointTypesOnDefault 设置捕捉点类型相关的内容被启用
3 f" i* M7 H6 j6 n& N8 z4 x; z& s d ^. A& [. W1 a
常规4 E8 C- r/ |- C6 I0 }' u. m0 `6 Z, N
BlockID 控件id
3 K! t9 H* S: ? Enable 是否可选/禁用控件
; ^( [' h* T; `5 G Group 组+ f+ c7 y e, V6 Z
Show 是否可见
, D+ F7 L; i6 X/ _. A/ Q3 B$ g; W6 u2 l# x: {2 y
其它
0 M! ~# {* U4 B; q, Z% l3 l 附着: \- \. J" L& U3 l
Bottom 底
, @2 {* A9 v& [& H# O4 x Left 左1 R5 o9 E) ]& f/ G, K/ W+ C5 O, L
Right 右3 O1 `' [8 [5 o
Top 顶/ m5 e4 H- v) I1 ]" h& ^1 g& Y
' v$ R2 c% M" y$ p, M
特定于块
9 ^+ n4 `+ K& T+ B3 \# X& f AutomaticProgression 选择后焦点是否自动跳到下一个控件
- ?- f& {4 J, S6 e$ H' M BalloonTooltipImage 动态提示图片(鼠标移动到控件是显示图片)3 H- B& F" T& T4 m
BalloonTooltipLayout 动态提示布局7 F3 ], R5 \& v
BalloonTooltipText 动态提示文本内容! c$ q: x$ k5 Y6 ^
Bitmap 指定图片. q# \$ u1 U& ~+ O9 @8 {* w
BlendVirtualCurveOverlay 是否显示虚拟交线
" D6 Z8 m7 ~7 M; b, t6 w8 |$ W CreateInterpartLink 是否显示部件间连接图标在选择条上
, Y: D K8 a5 g Cue 提示2 A& i. a% P4 o
$ T0 d* D9 O- Q; y- D0 @9 N2 D InterpartSelection 部件间选择设置
; c. h7 r9 N9 u& J Simple 简单% m- S: x" q# ]
Non-associative Interpart Copy Only 只复制部件间非关联
' @! Q9 ^! _$ ]0 M Associative and Non-associative Interpart Copy 复制部件间关联和非关联1 B0 T* h% ~7 [1 h
Associative Interpart Copy 复制部件间关联+ m! f+ h$ y8 V3 ?: [1 V
0 e4 c4 A: ]7 J8 B. A$ u2 i
LabelString 标签标题
/ {* l: e, g* v MaximumScops 设置选择范围
2 [7 L) |* i; n( ~ Entire Assembly 所有组件/装配
# l/ c$ n% V8 V& R+ l7 Y/ J9 s Within Work Part Only 只是工作部件) c' D8 ? r" C0 x- s" p# a! x4 n
Within Work Part and Components 工作部件和组件/装配)
0 Q$ d2 g0 t+ a/ [( s3 L/ w6 [
SelectMode 设置单选/多选
' I' _% W$ I+ p8 `( n+ L Single 单选! |7 o* L+ ? P1 S, Y0 P. D0 x
Multiple 多选" G5 J% ~9 d- C' q7 s4 n+ V
" W* w3 s- G. N. r% T d1 D StepStatus 设置确定和应用按钮什么时候高亮 (Required 必需的时候)(Optional 可选的时候)(Satisfied 满意/满足的时候)
: |! h. @) } B) z Tooltip 动态提示文本标题(Bitmap指定图片时,鼠标移动到图片时提示文字)- }/ W% A! n+ u0 c+ }: z) w7 C
2 ?5 V3 P- l% Z2 K! ^: }4 G4 a————————————————————————————————————————————; I5 U I- m+ I0 x# z
————————————————————————————————————————————
' D# D) J4 z5 k7 ?* h" a咧子:获得selection0控件选择的对象3 J7 O+ j! E% h; l: S: E$ S) w- E
UF_initialize(); : x. c. R$ F$ w+ w
std::vector<TaggedObject*>objects=this->selection0->GetProperties()->GetTaggedObjectVector("SelectedObjects");% I o, h* N# P, G/ w& v
for ( int i=0;i<objects.size();i++) // size 列表长度,这里指的是 对象个数
" E: b+ L" @3 u& { { % s, a2 F. e( a
UF_OBJ_set_color(objects[i]->Tag(),1);
; ^4 Z, i$ N7 \ }" G. D% K! r$ o
UF_terminate();
2 n4 f! r% [4 q- E: {4 I4 a2 \! R
% y# e8 Y* m4 z: j: r* K————————————————————————————————————————————
4 O1 |( ~( O: k0 @6 b咧子:对象加入到selection0选择控件的对象列表! y4 E2 q k6 O( U6 G+ r
7 K- I# K G% Y4 v tag_t obj=NULL_TAG;8 C. {/ Z$ A! S2 b" {( E; w
double point[3]={0,0,10};
) u* e8 `% H6 c* q+ v+ D1 P/ f double XYZ[3]={60,50,80};: ]: m, s+ T/ P
char C[132]="";2 i' v' l7 G5 T( l# v' y
char K[132]="";
, I, A( a* K3 j; [5 J char G[132]="";
, i7 T8 C, u6 M# G! M sprintf(C, "%f",XYZ[0]);
' U; S* B/ j7 O. x# V( y sprintf(K, "%f",XYZ[1]);
. a: S7 N- v" h4 h sprintf(G, "%f",XYZ[2]); ; I m- x! W1 ? H$ J1 t
char * edge_len[3]={C,K,G};3 T* S* G& |6 X' h# z7 E, [1 o5 H
UF_MODL_create_block1(UF_NULLSIGN,point,edge_len,&obj); //创建方
* f1 H" G6 d2 F2 X& ` UF_MODL_ask_feat_body (obj,&obj); //从特征中取出实体
: q1 L/ m3 f6 X- h) r5 ?+ O
2 X" p4 @" g& q; n+ z( O7 j z; b Body *body1(dynamic_cast<Body *>(NXObjectManager::Get(obj))); //tag转换给nxopen. Y2 a4 x6 `; W
std::vector<TaggedObject*>objects;$ N' V+ [ H* w
objects.push_back(body1); //对象加入到selection0选择控件的对象列表
6 o- z2 Z0 m& X+ [' ^" @6 L- G6 U selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);
, }6 @: `; }- p6 T. d$ s5 u————————————————————————————————————————————, X' {% d9 C* X! A! Z6 e" _% k! ^
2 f6 [* b5 V# E i
//清除对象3 l# ?" {) Q2 O `3 X
std::vector<TaggedObject*>objects;- o ?( T) i, Q
objects.empty();2 |9 o8 x0 g E+ T* m$ B" n' g
selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);
! @* T" { g! j) y' E3 m
3 ^8 y# f j& Q% U+ p————————————————————————————————————————————$ l! u( C. h- X% e9 r" ^
咧子:只选择面! x% W6 k$ C: U; R1 N! [; n2 z9 Y% d
initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤
. b& P! a! x! A8 |
% ?. f. {9 Y7 [6 ] selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式
+ O( u. s1 b/ {3 a$ c* X) ?% I+ [, G) J5 D
//对象选择过滤 只能选表面
2 N) H. V5 P3 B1 N selection0->GetProperties()->SetString("LabelString","选择表面");5 X8 s# w8 I2 G& i& G7 c* s
std::vector< NXOpen::Selection::MaskTriple > maskTriple;
+ ]4 \$ y4 |0 B# H, h Selection::MaskTriple mask1(UF_face_type,0,0);# h4 N. B$ h+ j; T; a/ n* l
maskTriple.push_back(mask1);6 h9 V; @/ w( J5 j! p5 a
selection0->GetProperties()->SetSelectionFilter("SelectionFilter", Selection::SelectionAction::SelectionActionEnableSpecific ,maskTriple);
6 W+ X/ \8 u s% z. t# n& M- ?0 r" v' e% }. e% J
/ W' G8 n% v& y A# y
咧子:只选择面 【UG本身过滤器跟着变】
4 L w: Z3 O, N! t) \- W initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤
' C# _" {: l$ Z5 I# v
: y6 i, l* E3 m6 w$ R selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式
/ L# L" W$ H$ m+ _5 x- d6 n" J: H* x+ q0 f
std::vector< NXOpen::Selection::MaskTriple > maskTriple;. W5 ^! r1 P4 P4 L
Selection::MaskTriple mask1(UF_face_type,0,0);, \8 {6 B! {' M
maskTriple.push_back(mask1);) J8 m }# }1 |) V) T1 l6 Z& F
NXOpen::BlockStyler:ropertyList *selComponentProps = selection0->GetProperties();' n1 R0 A! U+ e3 d1 B6 E( a
selComponentProps->SetSelectionFilter("SelectionFilter",Selection::SelectionActionClearAndEnableSpecific,maskTriple);
) \* P$ r1 w* I delete selComponentProps;& m' j" T" ~" \0 c- `
selComponentProps = NULL;
' M% j, q8 }! R9 y' F' w7 v# H) X' c
|
|