|
|
01、选择对象
, q" p7 a8 H2 ]4 u( c, n k8 N" _: K* [
捕捉
2 P- d0 g6 D% {4 j4 g PointOverlay 是否显示捕捉点8 m$ D5 T& x) t4 C6 S! n- X
SmartUpdateOption 智能更新选项
. E% Q3 U4 I0 J0 ^* f/ ] Within Modeling 在建模/ y: { O( H) r7 w/ H$ O( ]
After Modeling 建模后6 |$ Q8 T3 S6 j0 E# d
After Parent Body 实体父后
2 j+ {3 w1 k9 ~( H$ B/ s8 z+ ` Mixed 混合
7 o5 y# Q9 n, D0 C! s% ^; }, |7 i) L
SnapPointTypesEnabled 设置捕捉点类型的可见性
$ O2 L3 k1 @+ a1 Q* r SnapPointTypesOnDefault 设置捕捉点类型相关的内容被启用
( M4 v. o2 o( d+ K
" O/ c" k$ V% d8 x9 e+ O常规
) l- U0 i' j X# p- }6 k" J BlockID 控件id. Q A) W! l2 O+ }. g/ A0 Y& Q3 `
Enable 是否可选/禁用控件. V8 S6 m$ I! ?: K2 i9 W
Group 组
( z) |4 U& c# H. C! Q# x Show 是否可见
5 l# D4 O: o$ ? i
' W- B3 I/ ?5 V' @, p' O其它 - N0 E, T$ w" k" z& s
附着, C, ]% O. d3 P' i5 w, h
Bottom 底
( s; p U2 q/ v Left 左$ z. U8 l: Y/ h( M8 G$ H2 A
Right 右
& V4 ~; f) S1 ~% ~* w Top 顶 ?" i* d* k' ?" S! P5 X: {0 v
V3 |+ u& _4 n" X8 d, I; G特定于块9 A9 _# P4 \4 h+ O$ ] m r
AutomaticProgression 选择后焦点是否自动跳到下一个控件
7 `* A' n/ R- G; J5 E5 R& \ BalloonTooltipImage 动态提示图片(鼠标移动到控件是显示图片)
4 z0 N; L: D7 c# t BalloonTooltipLayout 动态提示布局
$ j+ a/ U: ~7 p BalloonTooltipText 动态提示文本内容
" ?# _9 Q" s3 O- j! O8 q$ S Bitmap 指定图片$ F! m3 A2 t# Q, k; l! m+ W- n
BlendVirtualCurveOverlay 是否显示虚拟交线
: b& j" H1 c0 ^! H+ \# V& N& F CreateInterpartLink 是否显示部件间连接图标在选择条上
- V9 H3 n' e0 s3 s; T4 Y( j" C1 m Cue 提示
( F$ Y$ |5 {0 [2 D" N$ F. ?1 k1 U) i: n1 Z' W# X- R
InterpartSelection 部件间选择设置0 B8 b+ H; g0 [4 X7 z* U
Simple 简单4 W' F" Y$ K2 Q c' u
Non-associative Interpart Copy Only 只复制部件间非关联
3 [* ~3 [5 E5 q4 F Associative and Non-associative Interpart Copy 复制部件间关联和非关联 C0 ]) e2 Y' j
Associative Interpart Copy 复制部件间关联
7 p0 R6 S! N& s7 r+ n% c% L% g
j; @ Y! _. Z( k6 x. x: a& p( q LabelString 标签标题1 n3 h5 c% ^; y$ L$ t- y
MaximumScops 设置选择范围6 |/ Z# Y+ l5 U+ |
Entire Assembly 所有组件/装配
. N" a- g9 M l8 Y7 B Within Work Part Only 只是工作部件, X# \3 o) C$ n6 {) e! F
Within Work Part and Components 工作部件和组件/装配)
: G5 n* Z0 E: r% ~- b* z: `! o- ?1 }& ]8 x3 G* Q; C( G' y
SelectMode 设置单选/多选
! c$ ?' l# T" u Single 单选8 ?! |0 d w! c+ i/ x- b4 n: f
Multiple 多选% u P `4 @1 ]( K4 Z+ B
" O- c- b0 f% ~$ F) f4 m! Q# S
StepStatus 设置确定和应用按钮什么时候高亮 (Required 必需的时候)(Optional 可选的时候)(Satisfied 满意/满足的时候)
. ^+ F4 n0 J$ Y! m5 k+ V5 f Tooltip 动态提示文本标题(Bitmap指定图片时,鼠标移动到图片时提示文字)! s& E3 b4 I& E0 h$ n
# V% u- L w0 F& |————————————————————————————————————————————; W7 l8 m: R2 {$ w' `4 E
————————————————————————————————————————————
' {4 N, Y; [- a/ K+ K% [" O, j2 O咧子:获得selection0控件选择的对象
* y/ K2 Y8 e1 q5 z' s UF_initialize();
, h# p8 `! s2 v std::vector<TaggedObject*>objects=this->selection0->GetProperties()->GetTaggedObjectVector("SelectedObjects");
7 t$ z: a2 `* ]" f; ^ for ( int i=0;i<objects.size();i++) // size 列表长度,这里指的是 对象个数
! n: U4 s; D8 w# R0 f {
, m8 }5 A# U' V8 I- y UF_OBJ_set_color(objects[i]->Tag(),1);
# T- Q! E/ e* Q4 T9 w7 L: v* u }
- \9 q+ A* D* c UF_terminate();
9 @2 h( @9 O' B0 E, H6 U! b7 w' ?4 x& g s3 Q5 L6 \
————————————————————————————————————————————: L* L: }7 Q# {( j% z T$ C$ l. u, K
咧子:对象加入到selection0选择控件的对象列表" ], B9 [ \, g5 g
; W0 \, N5 y; J9 y# h tag_t obj=NULL_TAG;: P: f3 l, l2 Q. M
double point[3]={0,0,10};# q. |8 n% U; E1 r6 o6 b7 h: p
double XYZ[3]={60,50,80};
# |6 |' v9 E6 t- M5 V" _6 }2 a8 y' E char C[132]="";
7 |( m2 e# M4 H/ q+ D5 J char K[132]="";$ ~/ d, t. [9 X. \0 F( j( N
char G[132]="";! n' a4 x1 ~! N7 C) b6 U( {& T! b3 O
sprintf(C, "%f",XYZ[0]);0 Y. h& _; b" F8 F
sprintf(K, "%f",XYZ[1]);
. B% x* ^; ]$ p9 }. q3 v, {# Y sprintf(G, "%f",XYZ[2]);
( A) m$ F+ @# K$ o. C; P2 o char * edge_len[3]={C,K,G};" D$ {3 A+ c+ n
UF_MODL_create_block1(UF_NULLSIGN,point,edge_len,&obj); //创建方
1 ^, V4 {+ [5 J UF_MODL_ask_feat_body (obj,&obj); //从特征中取出实体
3 ] C- Q0 j/ M3 j8 V5 ^. T! E7 p1 C2 Q. J' J/ }- K
Body *body1(dynamic_cast<Body *>(NXObjectManager::Get(obj))); //tag转换给nxopen
8 |. w8 G8 k: Z* _7 b( Y7 { std::vector<TaggedObject*>objects;
- L/ r+ p- p8 I; D' J objects.push_back(body1); //对象加入到selection0选择控件的对象列表
' y, x2 R- k5 \" I: l. E9 I- c0 `. c, Y selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);5 r g: a9 \2 u4 c" |9 ?4 e6 |
————————————————————————————————————————————
8 h' m1 S; S m. s8 r
& Q3 T' P" r5 ?2 H//清除对象: d u3 r8 l# l: I
std::vector<TaggedObject*>objects;% ]: k$ x+ N) L7 I9 A a) V W9 }
objects.empty();6 k* [ q" ]3 s- B
selection0->GetProperties()->SetTaggedObjectVector("SelectedObjects",objects);
! g4 x+ k: e9 t `7 |
8 a9 Q4 Y4 q9 t7 R: B————————————————————————————————————————————
6 h. y$ j V$ B咧子:只选择面( k& A* [! x2 y
initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤
4 B4 P" v# @! {# l- R8 ~7 f' S; D/ O1 b& k( \7 Q
selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式
! g; \. [) o$ _4 v+ V9 j' q
# ^2 R" p" b* M9 L! w2 ^ //对象选择过滤 只能选表面; P( @# L) \ ^/ L
selection0->GetProperties()->SetString("LabelString","选择表面");1 v5 }7 @1 Y$ f! ?% n! {
std::vector< NXOpen::Selection::MaskTriple > maskTriple;) I; F5 K2 \4 j# Z* \/ g& m6 d3 G
Selection::MaskTriple mask1(UF_face_type,0,0);& t; F- |: J1 ^( L
maskTriple.push_back(mask1);
: c' ^9 U O& v, W# c6 v) H" X selection0->GetProperties()->SetSelectionFilter("SelectionFilter", Selection::SelectionAction::SelectionActionEnableSpecific ,maskTriple);1 B# y' ~3 [8 J* T/ v8 w5 ]9 ~% I6 k
! e# Z! o+ u ?9 i" A' F
3 B& g( J& q9 U% J
咧子:只选择面 【UG本身过滤器跟着变】: x" W x9 w* I. N% e
initialize_cb() 初始化里加代码 或 dialogShown_cb()显示对话框里加代码 可进行对象选择过滤 . @2 z( J" V) m1 W+ s
- B! ?- u. @0 B8 S7 j/ F4 w9 N" C
selection0->GetProperties()->SetEnum("SelectMode",1);//多选模式# h( |- L3 ~- O, I2 h8 u0 t
- K$ L- E# n; k* L std::vector< NXOpen::Selection::MaskTriple > maskTriple;
) Z& J6 h6 j* ?% Q Selection::MaskTriple mask1(UF_face_type,0,0);
# w( W9 |, C8 x maskTriple.push_back(mask1);- h2 T) R& ^# R* Q, o
NXOpen::BlockStyler: ropertyList *selComponentProps = selection0->GetProperties();
3 y# O- d3 ~( \ selComponentProps->SetSelectionFilter("SelectionFilter",Selection::SelectionActionClearAndEnableSpecific,maskTriple);/ u4 `, `% E0 l; N! B. ~0 Y( t" T- f
delete selComponentProps;1 Y3 s4 l0 H& m0 H
selComponentProps = NULL;2 {. u) H/ Z$ v. I7 D" ^
; Z) c6 Q( j; x* J- v; a
|
|