|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
/*********************************************************/ H/ \3 H# G7 y
#include <stdio.h>
0 d) L r, F& f5 j#include <stdlib.h>- @, n6 j! i$ k! F0 P1 E$ L
#include <uf.h>$ P# u. @5 O1 ^5 @ w
#include <uf_attr.h>- }2 R, n- K2 d$ C
#include <uf_cfi.h>$ u% x: \, M. f2 D1 U R
#include <uf_curve.h>. I- g# \$ }6 d0 ]6 n
#include <uf_ui.h>- \$ k3 ?5 o [2 B/ a
#include <uf_modl.h>
& w& x! j4 X- a* I+ [8 H6 j% Q, a
* g8 f [3 P) V3 }/************* unload alloc mem *************************/
$ h. R# L. c" W! h+ N/* UF_UNLOAD_SEL_DIALOG _UG_TERMINATE _IMMEDIATELY */
& k- ]/ m+ F$ R2 e. k1 B }! Y! k1 e; R3 S8 {8 I
extern void ufusr( char *param, int *reTCod, int param_len ). z, g0 g, S8 q0 k2 s8 h4 e
{' t3 \, C2 J& p* G2 r& h
UF_initialize();
* W( s( }" p8 r5 }: o3 X2 s1 i% @5 X( w2 ~, f6 s4 k
7 r5 u4 }+ Q1 d double coner[3]={0,0,0};
+ H1 ]+ b& S1 }# C char *edge[3] = {"10","50","20"};4 ?/ u- z1 N. |# c' c7 C4 g
tag_t blk_tag;# o3 W5 t1 q+ Z% R$ h
UF_MODL_create_block1(UF_NULLSIGN,coner,edge,&blk_tag);- M) C. k4 x4 d1 Y6 _
4 u$ h& E% R5 g+ x0 B: w7 T7 O$ s
; P; m0 d: Q( ] UF_MODL_ask_feat_body(blk_tag,&blk_tag);
" X+ r; Z. G0 p L3 K1 v uf_list_p_t end_list;4 d* ^7 u6 ?6 u; [
UF_MODL_create_list(&end_list);
0 i, p$ f/ G' k& i+ z9 r UF_MODL_ask_body_edges(blk_tag,&end_list);% ~+ s/ o" f1 J _$ w' j
int num;' q4 }9 Z, W1 S) q$ m R6 A
UF_MODL_ask_list_count(end_list,&num); j- G( J2 n9 H5 Y
8 s3 T0 y1 Q5 v5 h1 ^+ _" V. l char *radius ="2";; K' U6 E1 M: r$ p# R6 S
int smooth_overflow = 0;
+ o" k6 p% F- u4 F int cliff_overflow = 0;
7 z+ p6 P* W2 `7 O$ M% L& Z int notch_overflow = 0;! ]3 F ^ p9 q0 O4 o
double vrb_tool = 0;" Q! @! {. s& M: J$ D+ ?2 T
tag_t feature_obj_id ;
; ?; M9 {+ f! U( [) E uf_list_p_t end_list2;( D/ s& J6 i3 v+ O6 x2 C
UF_MODL_create_list(&end_list2);& o/ `; `. w2 f; n6 c0 K$ f/ ^
for (int i = 0; i < num ; i++)
. m1 t. N4 M* o7 Y3 m% A {) Z# e+ ]; n' i% a2 X
tag_t tt,curve1;
/ i* ?6 A5 b, w. ?6 |. u1 r UF_MODL_ask_list_item(end_list,i,&tt);
1 ?' a/ I4 L; v: F8 x" I( i UF_MODL_create_curve_from_edge(tt,&curve1); //抽取曲线* q$ ~8 V! w8 I; u; w
double point1 [ 3 ] ; Y1 S3 P$ J; V! m; r
double point2 [ 3 ] ;
) e) W; _, L# |4 l int vertex_count;) z$ J- l9 y6 M0 S' b; ?$ {
UF_MODL_ask_edge_verts(tt,point1,point2,&vertex_count);0 Y! g! ^. _- Z7 a' g! e
if ((point1[0]==point2[0])&(point1[1]==point2[1]))
9 B. t# h8 Z4 D9 E5 t+ [) S {" z/ N; j* C% o. ]( O0 j
UF_MODL_put_list_item(end_list2,tt);
' K- ^9 Q) o9 O, ^& W }: R: t2 n R: m( S" X J
}( W k+ R- S& |# y. a' x! v; u
UF_MODL_create_blend(radius,end_list2,smooth_overflow,cliff_overflow,notch_overflow,vrb_tool,&feature_obj_id);
/ p3 G9 M1 b8 s4 f) t( U4 T UF_MODL_delete_list(&end_list);
9 L1 ~9 P( L6 w& x- g" H2 L
* s w! Y. N" b. v( u) {! A7 ^ UF_terminate();
2 L: A8 L7 o; K8 W( \; ]8 g c return;
, E% q6 x' R/ @* {, Y}
/ M0 w, {* S% s& p: X
# L& `0 f# P) N! Q. e' n- R Vextern int ufusr_ask_unload(), j9 W( O+ B. V+ y" n/ d L0 f3 E
{
: v$ o% d$ {* Q return UF_UNLOAD_IMMEDIATELY;
! a4 }: t0 S( O4 Q}
+ A4 g" Z1 u% O6 \, ^0 K+ @! z- o4 ~* G1 f: T, s, ^8 }2 K
|
-
评分
-
查看全部评分
|