|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
4 J# p6 c+ r* U2 f9 k5 D' A8 dNX二次开发-关于body,feature,face,edge 之间的访问源码分享
, N1 Y9 t% m$ ]( o
* v3 E( s: W, K也有创建孔,创建阵列的测试哦!( y: `" c' A% C+ g' f1 @) R( I8 I
6 r* w! U7 J. _" m6 K
6 R3 |& r- H: T/ _! Z9 J- <p>static void do_UGopenApi(void)' [. B4 X7 }, u" k7 A
- {
) [' ?7 J& S& i: z0 f - //create a block
$ @5 K- _$ Z- ?7 r- G; G- { - double coner[3]={0,0,0};3 u: L( d# x1 ?% q; i6 O& q# Q
- char *edge[3] = {"100","60","40"};
/ c# z" \% w; q$ w4 D - tag_t blk_tag;, Z* p) Z4 N2 O; K3 b
- UF_MODL_create_block1(UF_NULLSIGN,coner,edge,&blk_tag);
6 l0 q4 x0 ^5 M5 q" d. Z* r. L - //create a blend start: s6 x& ^; w% y$ |1 H
- char *radius = "20";
- W0 \1 r8 C# R - uf_list_p_t blend_list,face_list,edge_list;
& Q+ j! c7 B" q+ q0 v* @' Y1 O - tag_t body_tag,tem_face,tem_edge,faces[6],edges[12],blend_feature;$ h. j3 L; C& f) @, |) {
- int face_count,edge_count;+ x b/ H6 f0 ]9 l+ W
- // get faces
) j3 p `5 n$ \( x' l - UF_MODL_create_list(&face_list);( ?' k i/ b! R7 X4 q9 ]
- UF_MODL_ask_feat_body(blk_tag,&body_tag);2 e9 x% i3 U/ o1 Y
- UF_MODL_ask_body_faces(body_tag,&face_list);1 [8 S" `- \2 i$ W
- UF_MODL_ask_list_count(face_list,&face_count);
9 D: i' y5 s v0 ^2 u6 M+ P - for(int i =0 ;i <face_count;i++)
" m7 r, t# u4 U5 X - { : L* f7 ], R( [5 M, C
- UF_MODL_ask_list_item(face_list,i,&tem_face);
! |' E* g U/ H0 Y- D- F; p - faces[i]=tem_face;$ v' ^( p! O& L6 n
- }, v) H2 B* g9 x8 G6 Y) y
- UF_MODL_delete_list(&face_list);$ I2 e2 l4 k$ ?- x- t1 P
- //get edges
6 k: T) L8 Z. L* l7 J x x: V0 \ - UF_MODL_create_list(&edge_list);
" X' L' |1 `$ M, F# i - UF_MODL_ask_body_edges(body_tag,&edge_list);
2 i) W" s' y7 ]! e% o - UF_MODL_ask_list_count(edge_list,&edge_count);
. P: Z1 `9 C! g+ k - for(int j = 0 ; j < edge_count;j++)
# d- P9 q. b4 H - {3 {5 I( x" c. _- s6 k X" S
- UF_MODL_ask_list_item(edge_list,j,&tem_edge);
5 e8 \- G! j6 h b$ S4 @5 p; s - edges[j]=tem_edge;! V# l5 O5 V% c0 X- N
- }
1 w# v+ I6 f5 o' m( d - UF_MODL_delete_list(&edge_list);
& u5 R" W7 v. q; \" m8 A$ ` - // create the blend
, ]% ]! {6 G. d4 a - UF_MODL_create_list(&blend_list);7 G% n$ e& S% u+ t" C$ j
- UF_MODL_put_list_item(blend_list,edges[6]);
; }* W1 _& \+ d$ W1 S2 V0 g - UF_MODL_create_blend(radius,blend_list,0,0,0,0.5,&blend_feature);3 I3 w/ i. @; L. D0 S8 |
- UF_MODL_delete_list(&blend_list);</p><p> // create hole* @1 g. U4 k/ r+ |, N) F3 I |
- double location[3]={80,40,40};7 i" z- {- h# |( v
- double direction[3]={0,0,-1};# L: T7 y6 d' }7 Y; z8 h
- const char * diame="15";% c4 R3 \2 \- G# a! Z: A
- const char * depth="5";
( k1 u. T$ G' b - const char * angle="0";
+ C: h/ @' R) A8 I5 E: @% T - tag_t hole_id; 6 O+ H% A! x) Y, N" T }
- UF_MODL_create_simple_hole(location,direction,diame,depth,angle,faces[0],faces[1],&hole_id);</p><p> // create instance# U% r5 ?* `9 T- g( A
- double origin[3]={10,10,0};# x2 h; e4 V8 |; D8 H$ X8 t5 M
- double dir[3]={0,0,1}; S R) C g" o
- tag_t cyl_tag;) F9 M3 r' `, \% D, }, |/ Y2 G Y
- UF_MODL_create_cyl1(UF_NEGATIVE,origin,"20","10",dir,&cyl_tag);
! Z" `. b7 W5 `+ z2 l# ` - char * number_in_x="2";
) Y* i. k+ w4 Q) V2 @+ T! o - char * distance_x ="30";/ D8 M8 N" Q `, @9 h% G3 ~
- char * number_in_y="2";# u8 R U. Y( z# [
- char * distance_y ="30";6 H. \0 P2 Z6 q0 Y5 Y2 M
- tag_t feature_obj_id;
( w. Q$ u. I, o: H& d4 Z: ` - uf_list_p_t feature_list;% A3 ~3 H% w' f& {% ~9 a6 w: C6 W
- UF_MODL_create_list(&feature_list);, {3 B7 k" s0 l& B$ i3 C
- UF_MODL_put_list_item(feature_list,cyl_tag);3 B9 S+ o: g$ D; d
- UF_MODL_create_linear_iset(0,number_in_x,distance_x,number_in_y,distance_y,feature_list,&feature_obj_id);- p& i$ W. {9 V A' U$ i
- UF_MODL_delete_list(&feature_list);: P' z" V- V B
- }</p>
复制代码 |
|