|
01、选择对象
( Q( F" a& E: _+ O/ _# _
& m# h3 m T6 K+ s捕捉2 q: H4 [5 W$ Z
PointOverlay 是否显示捕捉点
( D3 @# m2 ?/ t3 L% l SmartUpdateOption 智能更新选项- n# O$ E9 a! O3 D
Within Modeling 在建模
2 }3 K. D" [( y5 h6 u After Modeling 建模后; c4 F& o& N" }2 ?: I
After Parent Body 实体父后 q1 f3 u. `2 f5 \; F
Mixed 混合
6 B) o) v1 N) o9 T! S+ s: q. ?, B+ ^7 R& q6 p! h3 U1 Z
SnapPointTypesEnabled 设置捕捉点类型的可见性
0 E9 Q3 B: N$ V1 U: U/ t7 u; ^$ c SnapPointTypesOnDefault 设置捕捉点类型相关的内容被启用
6 v, B8 b r" n/ h1 F( g' T
1 \- B* l o- m- o- C9 f常规
+ y- a1 a' @( n* @1 ?5 N1 ~ BlockID 控件id7 i2 B9 l: k6 @
Enable 是否可选/禁用控件0 {+ S: A3 u, V, B2 V( Q
Group 组1 `$ `' m1 A8 t( Y- @- c
Show 是否可见
. b- k' l1 i8 E% J, U' `+ O$ v/ y7 f
其它
9 v3 c0 R: z/ }2 l$ u* [1 ~ 附着/ j6 r/ Y: J% [" n; o2 [' `" z: f/ X
Bottom 底. d y, E/ O7 s
Left 左
4 b) W" R: |% k8 | m8 G Right 右
% q, `2 h7 b5 v0 f Top 顶
' b% b% P! l2 ~. Y+ m1 Z% p
, p& C; y- F/ {+ }2 [特定于块! h' G4 |: B& V3 R
AutomaticProgression 选择后焦点是否自动跳到下一个控件
2 f, d) J" n9 _+ ]: v( y; v* y BalloonTooltipImage 动态提示图片(鼠标移动到控件是显示图片)
) a, V9 _. P# _1 V- o$ [+ g BalloonTooltipLayout 动态提示布局
) ? X# Y, a( C4 d BalloonTooltipText 动态提示文本内容
# d; v8 c$ U, e3 U' h: M0 m Bitmap 指定图片
' ^% B2 r3 Q" O8 \$ z; o" y BlendVirtualCurveOverlay 是否显示虚拟交线4 V- S7 ]9 `7 \4 w8 z, i2 q2 W9 O; _
CreateInterpartLink 是否显示部件间连接图标在选择条上
0 P9 V3 S8 }0 y* J: h4 ~, c/ t Cue 提示
& _+ M# Z+ j) e: G+ u% Z4 X/ L: O; l7 |: `1 ^: t; R4 ~
InterpartSelection 部件间选择设置( X k- q) K' W) q9 E
Simple 简单
) v5 K: X% I; | M' z Non-associative Interpart Copy Only 只复制部件间非关联# G# u# F, O& ~2 `4 I. Y& _
Associative and Non-associative Interpart Copy 复制部件间关联和非关联0 H9 ^% {: ^; L B- D, r( V9 g
Associative Interpart Copy 复制部件间关联
- _# T7 s# c' H( X
$ L) x. s9 w5 a$ M- e* ` LabelString 标签标题9 P/ a8 z* O* H4 s
MaximumScops 设置选择范围 I( K$ {$ F9 L1 u) a, d- t
Entire Assembly 所有组件/装配
: t+ |' j1 w4 z7 r( a+ q Within Work Part Only 只是工作部件( b" f8 B6 U& o
Within Work Part and Components 工作部件和组件/装配)
* s! {3 U( M( o0 u) o& q; q- {2 A
4 R2 L$ E# h W, T4 n% q SelectMode 设置单选/多选
" ^( E. ^" g: Q Single 单选
4 w. V! j3 e$ Y) x/ W Multiple 多选
) A. U0 _) h4 b! |) |" f
; V! I2 o# F$ g0 y StepStatus 设置确定和应用按钮什么时候高亮 (Required 必需的时候)(Optional 可选的时候)(Satisfied 满意/满足的时候)
. ^# N$ l5 H! Y, N' @( A4 b' \ Tooltip 动态提示文本标题(Bitmap指定图片时,鼠标移动到图片时提示文字)
7 A6 [ [8 y2 N1 N1 m2 o4 Q! t' b% r8 h
————————————————————————————————————————————
, X+ h8 ]6 O+ [) S, S" P A# _————————————————————————————————————————————
+ ~5 J3 q/ |/ e3 z* F! p咧子:获得selection0控件选择的对象
/ P T3 d% j* ]$ r* u UF_initialize();
( {) _! [+ J6 d, a std::vector<TaggedObject*>objects=this->selection0->GetProperties()->GetTaggedObjectVector("SelectedObjects");# Y9 _7 F p9 F: k" Q
for ( int i=0;i<objects.size();i++) // size 列表长度,这里指的是 对象个数3 @: f+ w2 u* ?/ }& f4 c
{ 1 k" R( N* e0 s! j5 I- l
UF_OBJ_set_color(objects[i]->Tag(),1);3 T& M- ~8 I, A% R
}+ R- X& F1 s2 }! y1 o
UF_terminate();
* ^- H- T5 S% O: M
* U/ } O6 n V$ J* l0 o* Z ^' H6 I————————————————————————————————————————————
5 P5 z( r; F) d咧子:对象加入到selection0选择控件的对象列表
8 F* J! w- G& K/ g6 G
6 w0 a; }- y( Q" L" d+ t% ^6 o& e2 J tag_t obj=NULL_TAG;$ V% O5 A: B! X. L' I9 k
double point[3]={0,0,10};9 T4 G8 Y. s) R9 ~4 V: s. [3 v
double XYZ[3]={60,50,80};
* U, G% n U4 l/ S char C[132]="";" q" [ k" y( B! o, W
char K[132]="";
& l6 `& A0 `! M char G[132]="";
, ]4 J- i; a% P sprintf(C, "%f",XYZ[0]);
3 P c' t1 h8 o, |( A2 h sprintf(K, "%f",XYZ[1]);
' r* C0 n) c2 x7 K sprintf(G, "%f",XYZ[2]); 7 f, i* T K3 C" }. @: M
char * edge_len[3]={C,K,G};# r0 d6 @- P' e
UF_MODL_create_block1(UF_NULLSIGN,point,edge_len,&obj); //创建方
/ Q; w+ g9 X- B6 O% y UF_MODL_ask_feat_body (obj,&obj); //从特征中取出实体/ Q# `+ n! X9 N! U$ p8 K, y' v
4 u W6 T% O# L0 I1 M0 P
Body *body1(dynamic_cast<Body *>(NXObjectManager::Get(obj))); //tag转换给nxopen' o4 C8 t5 `6 o7 B$ t% [ [5 b
std::vector<TaggedObject*>objects;7 B6 S+ J* C9 P$ A' c
objects.push_back(body1); //对象加入到selection0选择控件的对象列表
& N" c2 t: i) q3 H7 m selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);
: N9 b7 I# ? x! C# s: m; c1 R————————————————————————————————————————————
t8 M* i% U; p) r8 E2 | U$ J- Y- c+ N% [( e$ v' p. U6 f) h. [) q
//清除对象
! m& r( A, m2 ^std::vector<TaggedObject*>objects;
0 d5 h8 L$ } |$ ~- zobjects.empty();; r# e. M' i% R/ l4 {
selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);
0 n# r2 q% N3 j7 W1 c0 Q. n/ E( |9 k3 O* Q K! ?
————————————————————————————————————————————5 p+ h# |, L ~$ a" O
咧子:只选择面/ Z. k2 U6 ` L. V9 K# g" X
initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤
" j3 A4 e/ O3 t" O( H- ?
3 C6 F# P+ {' [0 n p selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式' l/ S8 G% x; l) L* j5 j/ h
8 J- O a! {; M, s4 ?+ _ //对象选择过滤 只能选表面
* x' t% G" |" s selection0->GetProperties()->SetString("LabelString","选择表面");
. A! X3 U+ v& a$ t4 x& ^ std::vector< NXOpen::Selection::MaskTriple > maskTriple;
; y+ K* R; j* J4 t) z+ x8 J Selection::MaskTriple mask1(UF_face_type,0,0);2 p) f$ b6 J$ X8 H
maskTriple.push_back(mask1);" ]1 u/ ^1 {1 F! n) G7 Q6 j# A4 c8 T
selection0->GetProperties()->SetSelectionFilter("SelectionFilter", Selection::SelectionAction::SelectionActionEnableSpecific ,maskTriple);& C9 \5 a3 l! K
{; i: U# D1 h
/ Z& m. R. W& Z! {6 k咧子:只选择面 【UG本身过滤器跟着变】, ~# Q) E) d" s+ P$ C
initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤 / t( ^5 R S% j" C
, g2 T" r6 q3 t+ ] } selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式+ b4 R7 w9 g' _4 D
+ N! H, T3 j2 _( Z$ i- W
std::vector< NXOpen::Selection::MaskTriple > maskTriple;
+ G' n( I/ }! Y( p1 b Selection::MaskTriple mask1(UF_face_type,0,0);
% ~, L. @. k+ V: k d maskTriple.push_back(mask1);
4 A4 r- R% S4 O8 h! z! Z* J' v& m NXOpen::BlockStyler: ropertyList *selComponentProps = selection0->GetProperties();8 V+ A% B6 [/ M( g. ?5 j! o8 c4 e% C
selComponentProps->SetSelectionFilter("SelectionFilter",Selection::SelectionActionClearAndEnableSpecific,maskTriple);
) ~$ _' Z& G$ c2 P delete selComponentProps;
/ m# M* g8 k( ?6 Q. n/ ]3 t selComponentProps = NULL;
" }" a) _3 N$ F9 X! ^& D& L
" M: F4 d( [6 P! U2 G, O6 p( g8 C) | |
|