|
01、选择对象) }/ B5 p! w, n* U
4 r$ B+ J; _- B1 D- {2 O: }9 I* P捕捉
9 F! _0 R d# h$ a2 r PointOverlay 是否显示捕捉点
: M y1 j5 ^7 G( q( K, p SmartUpdateOption 智能更新选项
( y% s& U% H1 j Within Modeling 在建模. v1 W( }7 W- k% O W# B' {; h- c
After Modeling 建模后3 S4 C0 \' r+ Y. a, [3 h, \
After Parent Body 实体父后2 x; v/ H3 G* R) I8 {
Mixed 混合$ K( Q7 G& l7 m
# `/ l, p$ O A, F) X9 ~" X
SnapPointTypesEnabled 设置捕捉点类型的可见性
& Z* p, J! n r4 w9 I/ N9 ]' I SnapPointTypesOnDefault 设置捕捉点类型相关的内容被启用
3 }6 \' n, {/ g: ?* p1 O. }
! c% M( f. D3 z) K- i2 C0 j" y; X. H常规 ?" M& N0 }2 t9 E
BlockID 控件id* M/ v! j2 m6 ~! [ ~1 b5 f
Enable 是否可选/禁用控件
" D, r8 U4 p' q6 w Group 组2 C, w, ^7 Z! \0 A6 n
Show 是否可见6 s1 W5 [! X' ]+ X
, J' V- h# N6 f: k' N) P
其它 $ V( p' X7 k, S/ N9 O+ {0 O2 D
附着9 ~. y. u) d4 s) q7 Z
Bottom 底
4 L' \5 L- c N5 d% V8 `! \/ I& n3 S. A Left 左5 I2 u: f8 O3 _7 Y3 r s2 D
Right 右
* W% B J. E( F9 `5 |) I6 ` Top 顶. \$ l$ K; b. Z- f
8 x1 r2 D3 @; t$ ]8 V; l
特定于块
2 i7 ^1 L$ G% ~' p AutomaticProgression 选择后焦点是否自动跳到下一个控件
0 f7 O W4 n/ f3 c2 e( K5 w! {: M BalloonTooltipImage 动态提示图片(鼠标移动到控件是显示图片)
5 g/ L1 S' R3 W4 @5 A {6 f BalloonTooltipLayout 动态提示布局
! q) H$ c7 B2 v5 z! g) k: y BalloonTooltipText 动态提示文本内容
! {* S7 R9 f7 _" s2 ? Bitmap 指定图片
: m8 ?: X$ L1 X& M& v, b1 }) D BlendVirtualCurveOverlay 是否显示虚拟交线
1 x/ H* P; p' I; X CreateInterpartLink 是否显示部件间连接图标在选择条上
& Y2 C& Q& d$ u1 V* d$ s. Z Cue 提示8 b' y) S1 a# z
! _0 X5 [' M4 q. Y& ?- {) p) I C InterpartSelection 部件间选择设置+ r8 _: l& G' w8 V1 u% G
Simple 简单
! q8 _ X3 d c% b9 x( V9 G# J Non-associative Interpart Copy Only 只复制部件间非关联
9 s- L6 X! H4 P3 p+ K5 D Associative and Non-associative Interpart Copy 复制部件间关联和非关联3 \0 U& P+ A) w+ M$ C
Associative Interpart Copy 复制部件间关联
, [9 t* y+ u- I/ P
" d$ x( p; J2 D* e LabelString 标签标题
- b# \1 t. g. f MaximumScops 设置选择范围
n B/ k! c' z- |8 d Entire Assembly 所有组件/装配( @9 Z8 z6 J- j. Y8 }" J; Q% r0 v0 K
Within Work Part Only 只是工作部件; }; f4 q3 e& c( E/ d
Within Work Part and Components 工作部件和组件/装配)# k' W. G' L2 h
- M2 m3 ^# r6 y% j$ J; y7 J. t H
SelectMode 设置单选/多选
* D; ?+ g# Q; Y2 S1 G Single 单选
& _- P7 l8 L n Multiple 多选9 S& N# y [! r' b$ C* }1 D. f
& {; x2 l& t, ` StepStatus 设置确定和应用按钮什么时候高亮 (Required 必需的时候)(Optional 可选的时候)(Satisfied 满意/满足的时候)/ h! p1 C; [ Z `8 o1 b' u
Tooltip 动态提示文本标题(Bitmap指定图片时,鼠标移动到图片时提示文字)
7 N% K1 Z9 B0 O1 K
2 e* n9 h3 R# Q4 ^! V————————————————————————————————————————————) P$ h; Z6 v& _0 X! v' n
————————————————————————————————————————————" @& ~8 C, X! C
咧子:获得selection0控件选择的对象
$ F1 ~. `( K; H UF_initialize(); / N* m! h0 ?) a
std::vector<TaggedObject*>objects=this->selection0->GetProperties()->GetTaggedObjectVector("SelectedObjects");4 |: P' f5 X* s9 N
for ( int i=0;i<objects.size();i++) // size 列表长度,这里指的是 对象个数1 h5 z2 O! l7 N' N
{
# v3 q* O& B' ], P2 ~: X6 u$ } UF_OBJ_set_color(objects[i]->Tag(),1);$ a. \5 \$ z( ]# `
}
& Q) ]% i5 U" U5 V) o8 d) Y UF_terminate();
; |# n+ {% |" S' t% B9 R+ @) u$ M
————————————————————————————————————————————
$ w8 h q9 G9 _$ E$ H咧子:对象加入到selection0选择控件的对象列表
; \* c, w$ Y7 q# \! c& q8 G% V U I W& B, _9 n* s
tag_t obj=NULL_TAG;
. a9 o) I, y$ E7 Y. m9 q8 \! y double point[3]={0,0,10};9 c2 W! Y d; K. H7 Y8 Q6 t& ~
double XYZ[3]={60,50,80};2 }" U5 S" E7 S/ i- b
char C[132]="";8 z q' I, ~! N7 c' v4 d5 I' L
char K[132]="";$ R; b/ k% J! u: a0 V
char G[132]="";# S& T7 t# [2 D) ~* D6 {3 ^
sprintf(C, "%f",XYZ[0]);$ w5 J- M4 b2 i3 ?" c
sprintf(K, "%f",XYZ[1]); 9 i0 k1 h$ Q N1 R! v: a- h1 y1 k
sprintf(G, "%f",XYZ[2]); & b% X0 F4 s' @2 @5 c; q# z& X
char * edge_len[3]={C,K,G};0 p. o: H; x. W' N* C9 {* [% y
UF_MODL_create_block1(UF_NULLSIGN,point,edge_len,&obj); //创建方
2 _) m$ n1 c6 ?+ R5 |' C3 t UF_MODL_ask_feat_body (obj,&obj); //从特征中取出实体" N$ J9 V1 M% z8 |8 |' ^/ u
r) X& k# h4 x) U. @
Body *body1(dynamic_cast<Body *>(NXObjectManager::Get(obj))); //tag转换给nxopen2 o+ Y5 H; V, P% l x
std::vector<TaggedObject*>objects;5 t) [: K0 g4 k5 A/ |+ I6 ]
objects.push_back(body1); //对象加入到selection0选择控件的对象列表
3 z% @: J" z! A' r. g# E selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);
0 R& }% V: g7 R: X————————————————————————————————————————————
- T7 ]! }% Y' r$ d& P( \3 v9 P9 N! S" Y, M
//清除对象
1 \" o$ `4 v5 X3 W; N5 lstd::vector<TaggedObject*>objects;' |2 I/ V) \# P7 ~% y4 U% \
objects.empty();* T1 b$ ~6 X E# `
selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);
\) O+ T: V: X% R$ J0 a
- e5 e% p" j5 t! @————————————————————————————————————————————; @+ \7 ]9 p( j2 {
咧子:只选择面" K4 Q! I; O; Z; k0 j7 g b% L
initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤
8 I* J, J& m0 T2 K3 S/ ^
9 P3 e8 Q& ?( J6 n C" X0 Z" z1 P selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式( l3 [ _. A. J$ q9 z& u; i
% K$ f- y% a7 b, x3 U
//对象选择过滤 只能选表面4 W) i% a( [) [! M8 ]: L
selection0->GetProperties()->SetString("LabelString","选择表面");( S. Q3 c# u2 ], Z1 H
std::vector< NXOpen::Selection::MaskTriple > maskTriple;
1 p Q* M& B$ }0 N) z0 ]1 M Selection::MaskTriple mask1(UF_face_type,0,0);) ?: X K' i7 k7 U5 p
maskTriple.push_back(mask1);9 R+ V- \1 v) @ Z7 m" K/ ^
selection0->GetProperties()->SetSelectionFilter("SelectionFilter", Selection::SelectionAction::SelectionActionEnableSpecific ,maskTriple);, N+ J" h1 |/ C j, {5 x0 _# L
1 O; Q5 t1 S1 e# F% J
* J0 b2 e( H0 h* `3 Q咧子:只选择面 【UG本身过滤器跟着变】
3 ]7 ^1 S1 ]& j% _6 E5 z" m initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤
8 ], _( u: f! X. Z) C8 Z6 ~( w3 u4 j% W) u+ }" {
selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式
7 o' X# f& s1 R4 a( s& g/ {: }# f1 Q8 G I/ ]( L
std::vector< NXOpen::Selection::MaskTriple > maskTriple;5 @# a2 {5 ~& g% u; K0 _* ^# c
Selection::MaskTriple mask1(UF_face_type,0,0);" u4 D2 N0 {4 S' U2 N
maskTriple.push_back(mask1);! [! N; R/ f6 z' w
NXOpen::BlockStyler: ropertyList *selComponentProps = selection0->GetProperties();
) k; f+ E3 |7 c( P' |- |3 @ selComponentProps->SetSelectionFilter("SelectionFilter",Selection::SelectionActionClearAndEnableSpecific,maskTriple);. G) ^9 c) r, l4 Q2 ?1 V4 P% n
delete selComponentProps;: b' E" N3 ~1 |+ T* m/ I0 y* x
selComponentProps = NULL;1 c9 i E: ?9 [# X
. b# Q) V2 S3 g' e
|
|