|
01、选择对象9 [# e& ?! h+ J* q
* v, c5 o8 J% s, ^捕捉
3 ], ~8 ?2 b' J P PointOverlay 是否显示捕捉点2 C n2 G5 b8 \) f6 s
SmartUpdateOption 智能更新选项8 d2 {' K7 [' `8 J L* q: K
Within Modeling 在建模
+ E/ c' \3 f8 k After Modeling 建模后% I8 [3 p5 t- u/ E- R! X: [8 ]
After Parent Body 实体父后% r( Q O$ ]& }# l- B( f
Mixed 混合
( ?8 ~+ x) h1 ^7 E$ q2 I7 e- y0 t2 w2 [; q( g0 s( k
SnapPointTypesEnabled 设置捕捉点类型的可见性
0 ~- J% D; _0 | SnapPointTypesOnDefault 设置捕捉点类型相关的内容被启用
( ?6 `) \! ?/ E: l' ?, r* Z1 p2 p$ X2 h" O2 J# N
常规: F; p) a4 o0 R) a5 u* f; E' \
BlockID 控件id
! f N$ c$ a# D( K Enable 是否可选/禁用控件5 Y0 T* m' D8 B0 I
Group 组
( m V! D/ j# D+ N) l Show 是否可见
" ]+ v; v2 X" D4 o* s* Z. Y/ m4 \9 b* Y6 t0 n9 o. j
其它 + j+ T; V4 R; j' h0 N
附着- t, k4 A" a4 X9 W, o& @
Bottom 底
% r, N, ~, z" A4 G T Left 左6 `7 A) P% @3 y0 _
Right 右2 N8 n' q, J# q; B {
Top 顶
0 Q. z0 A& f* x- |# l; e; }2 v; a+ q2 r7 j3 p, v! p( m$ j
特定于块6 ]8 \! |, I* _+ @/ B3 y
AutomaticProgression 选择后焦点是否自动跳到下一个控件8 D0 S6 O* G* o% x3 w1 Y6 ?
BalloonTooltipImage 动态提示图片(鼠标移动到控件是显示图片)! V% P6 n' d$ N
BalloonTooltipLayout 动态提示布局. z9 x3 B, U2 S3 ?3 i
BalloonTooltipText 动态提示文本内容
' w5 r- N" H! a: @* y1 e Bitmap 指定图片
# Q) @) g/ P% P+ c; q5 v BlendVirtualCurveOverlay 是否显示虚拟交线
; U+ M7 `8 U0 R5 z CreateInterpartLink 是否显示部件间连接图标在选择条上1 }% a; T" d9 K" B, o5 Z }
Cue 提示
/ |5 A" i. N; A- G$ d
/ S$ ?' B% A9 }, ]; u1 c InterpartSelection 部件间选择设置
3 i3 y0 A$ `! v! k! x% _ Simple 简单, w( [1 ^6 D% O, Y+ a3 g& R/ n
Non-associative Interpart Copy Only 只复制部件间非关联+ @+ f$ D! Q; ^) A& p4 J
Associative and Non-associative Interpart Copy 复制部件间关联和非关联
0 I0 u& S% ]" [' t z$ {1 r Associative Interpart Copy 复制部件间关联; H" y* ~. ?& d) q) v0 ^
5 f9 x0 u5 F( ^9 i' U, H3 E, z
LabelString 标签标题
* r- a. j) w% o! O4 T$ _) O( T MaximumScops 设置选择范围
* O. `0 a% f+ e2 ] Entire Assembly 所有组件/装配+ Y9 w9 F/ E; C# Q) E
Within Work Part Only 只是工作部件
/ H% k2 s2 [3 K% J/ P6 _# e; S. Z Within Work Part and Components 工作部件和组件/装配)# ^# `- y. }0 ?/ j+ S- K! z
3 X P7 Z e) h: n$ |5 r
SelectMode 设置单选/多选
" y4 o% [1 Y" Y [$ F4 ^) r Single 单选
& L% n9 M+ V5 i, c/ `, A8 ?- L Multiple 多选 R- I/ i( r: l" z: S p: n
6 ~4 U# A% }. [5 Q StepStatus 设置确定和应用按钮什么时候高亮 (Required 必需的时候)(Optional 可选的时候)(Satisfied 满意/满足的时候)& _+ G. | T# t4 j+ p: V
Tooltip 动态提示文本标题(Bitmap指定图片时,鼠标移动到图片时提示文字)( z& L; S! U2 [( V* j3 i$ \
- g6 q1 D' [* n4 U7 X————————————————————————————————————————————! f5 S' d8 _( ~" F: B4 D
————————————————————————————————————————————
2 w' T8 t9 u! {* U6 c% g咧子:获得selection0控件选择的对象
* C2 P, `+ Q! N }9 E UF_initialize(); & |# \6 Q# k- w' w
std::vector<TaggedObject*>objects=this->selection0->GetProperties()->GetTaggedObjectVector("SelectedObjects");5 p- ?0 Z6 a/ e; ^ C1 c/ V
for ( int i=0;i<objects.size();i++) // size 列表长度,这里指的是 对象个数: F5 r" s; u4 k7 S) V
{
; A8 v' m) a. v j UF_OBJ_set_color(objects[i]->Tag(),1);
" C' p4 G- ]& ? }
. C* t; B8 B- x) H r( G UF_terminate();
. V; f% O/ _% n& @8 L) h3 F" Z3 n& B7 \9 U
————————————————————————————————————————————
! O5 c7 c. g, T0 w% h# q! \$ ~咧子:对象加入到selection0选择控件的对象列表: v* ^) T" i* e. R0 u/ C, @. X5 n
" d" S# Y" u/ ~8 o
tag_t obj=NULL_TAG;, w" ]1 R7 j% W# J' j F
double point[3]={0,0,10};
1 ^ s6 x+ R' e- W$ w0 l% Y double XYZ[3]={60,50,80};5 t! \1 h& d. m1 ~2 t8 A0 \% V
char C[132]=""; X2 E1 z: F6 i' L" d$ [0 L/ c, Z
char K[132]="";* Y" @; g' M3 @8 Q" v
char G[132]="";
) x+ |; }' q: r) |& L G" l" X sprintf(C, "%f",XYZ[0]);0 K1 H& \+ l3 R6 p# M
sprintf(K, "%f",XYZ[1]); # A/ P+ T& {2 A8 B' f7 f; E% E
sprintf(G, "%f",XYZ[2]); % d) {! J/ w0 p2 W6 W Y$ h
char * edge_len[3]={C,K,G};2 |) e# } R& l8 H. A
UF_MODL_create_block1(UF_NULLSIGN,point,edge_len,&obj); //创建方
y/ S$ X& A& t" v0 u& c UF_MODL_ask_feat_body (obj,&obj); //从特征中取出实体2 w1 \$ |0 g- }* b
8 G4 a' x6 r0 J* b2 s, P$ N Body *body1(dynamic_cast<Body *>(NXObjectManager::Get(obj))); //tag转换给nxopen
% f+ L8 O$ b% v. R std::vector<TaggedObject*>objects;
( \0 w+ Y, h+ h" g objects.push_back(body1); //对象加入到selection0选择控件的对象列表5 K" G# b6 y' C8 ~
selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);" K2 T! ]" ]8 e6 D4 I
————————————————————————————————————————————4 F: A }% k' n0 x9 B
5 t9 V9 y: X% _: x7 {" G
//清除对象9 f f( A, T4 c9 }, N% E
std::vector<TaggedObject*>objects;0 M, G# ^7 n/ M k/ a3 [+ S; h$ X
objects.empty();- D b3 X6 e u9 d. M( c
selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);" U' F# U N$ X: E5 `) Q
; i, M9 F4 ?+ o7 z! x `9 S
————————————————————————————————————————————
% J6 N4 F, o- [' ~5 N5 y+ v+ t& H4 B咧子:只选择面 Y( D3 H0 _% a
initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤
1 t o" P( k9 U& s# w9 y
, W& h5 x. n% D1 [6 q# Y! O selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式
& s$ a* j1 t& n% X9 s; U" w$ l- Z
$ o F' m. z; \/ m //对象选择过滤 只能选表面* o. w8 v7 n+ P$ n! l
selection0->GetProperties()->SetString("LabelString","选择表面");+ G6 s+ M8 ~1 k |0 V
std::vector< NXOpen::Selection::MaskTriple > maskTriple;
0 c* }+ S1 a3 u( q7 m2 J Selection::MaskTriple mask1(UF_face_type,0,0);
1 x) p! H* m. t9 ^: K3 i5 Y maskTriple.push_back(mask1);' q: z: W3 S, m' V
selection0->GetProperties()->SetSelectionFilter("SelectionFilter", Selection::SelectionAction::SelectionActionEnableSpecific ,maskTriple);
. C# B" e( P' g+ n( c4 P A# _" l5 H
2 r' ?' p# i' E y0 |! J. Z1 B( {" a3 R. ?" {* q" W. L0 Q1 f! ?( v
咧子:只选择面 【UG本身过滤器跟着变】% H e* G# A5 r, ^- s
initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤
& n% \; c5 G- f) `0 r; [0 [( q: ]5 v
selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式. W4 G; Z5 }- d. N8 ?) h
$ }$ C+ j, p, E% i) Q) e- d std::vector< NXOpen::Selection::MaskTriple > maskTriple;
4 E* Y0 O1 R+ B: S, M* L$ F! h Selection::MaskTriple mask1(UF_face_type,0,0);' O3 f X9 C1 z5 l
maskTriple.push_back(mask1);
5 S# y* o3 Q; f7 ~+ N" P# Z NXOpen::BlockStyler: ropertyList *selComponentProps = selection0->GetProperties();2 [. D a8 q. c7 `# M8 W3 {
selComponentProps->SetSelectionFilter("SelectionFilter",Selection::SelectionActionClearAndEnableSpecific,maskTriple);
9 b8 O2 h7 ^, J V/ E$ k, U# k delete selComponentProps;
' C' H# X1 _+ u5 c* A2 }2 o. _% j selComponentProps = NULL;
" x' A0 b0 R3 c
# w6 X- z% H r0 Q- c q" t& H |
|