|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
/*********************************************************/
/ b1 Y$ {( o$ k" B#include <stdio.h>
' c4 d% q0 s. a% ^#include <stdlib.h>$ D/ |3 Z) q& Q
#include <uf.h>
( J0 j; ?% X0 ?4 @9 F6 T. r6 [: Q& v" ~#include <uf_attr.h>2 X8 B# q+ L: h% I, p+ U8 R5 `
#include <uf_cfi.h>4 K! N# ^; n- P9 h5 C
#include <uf_curve.h>
; ]+ @6 C: E7 ~, s6 a#include <uf_ui.h>- L7 n" F! \8 D8 N
#include <uf_modl.h>
: E2 c* Q0 f) B* T2 s( v. G/ W, }7 D! M- B
/************* unload alloc mem *************************/. i. g0 e. o: j# [9 G ^( w
/* UF_UNLOAD_SEL_DIALOG _UG_TERMINATE _IMMEDIATELY */6 o |: {" ^" S- C4 I/ ~3 z
. k' i$ k: B6 v
extern void ufusr( char *param, int *reTCod, int param_len ) W' W8 T. o% ]5 ?3 K
{+ g2 v) m% h- O0 g0 D
UF_initialize();
+ Q, a+ ~2 e1 l7 O" K8 Y6 V4 E% q( F4 H
) o( S b& \, V9 M* Y7 a
double coner[3]={0,0,0};
& M2 P1 E% b3 S8 u* D, m char *edge[3] = {"10","50","20"};+ k' r9 o" E7 V% L, c
tag_t blk_tag;1 [. J7 P. x5 \, k$ W w
UF_MODL_create_block1(UF_NULLSIGN,coner,edge,&blk_tag);
O' z0 E; l, S$ T3 x& ^5 U: Y6 R0 U( A B
$ a! Y0 O9 c/ k' C7 @
UF_MODL_ask_feat_body(blk_tag,&blk_tag);
" d! e5 o" X, ^$ Z { uf_list_p_t end_list;/ Z* j& } F, S# P7 p4 Q
UF_MODL_create_list(&end_list);* B ]# O9 {/ @) ~* Q7 z' M
UF_MODL_ask_body_edges(blk_tag,&end_list);
, T: z. A$ x# D- E t int num;
0 U' `, i, O y4 ] R* e2 F% v UF_MODL_ask_list_count(end_list,&num);
- P" J0 ]# U9 S8 n6 W$ t U& ^# U5 d a
2 A/ j' P6 Q( V6 i char *radius ="2";2 A8 L( E# ]: ]; Z
int smooth_overflow = 0;
3 V* C: _5 k" S7 f2 k* ^! s- d int cliff_overflow = 0;6 W' }$ x! A" O( ^$ s9 B
int notch_overflow = 0;
6 V$ \% A3 {6 q5 Y0 @5 D7 { double vrb_tool = 0; o" }, S+ Q5 W" ~
tag_t feature_obj_id ;
+ }& _. x: R9 f( Q% Z uf_list_p_t end_list2;7 c4 U8 F }7 Q
UF_MODL_create_list(&end_list2);: X* i- E9 \( \$ ?: H
for (int i = 0; i < num ; i++)
# s1 ]. ]6 U; Q5 `5 {/ [+ F2 n {2 y- s, U7 Q5 v, _! u# m
tag_t tt,curve1;6 L" o, Q0 g+ |& n4 n O4 }
UF_MODL_ask_list_item(end_list,i,&tt);/ i, v8 g8 e. Y& i/ S; \# L) h
UF_MODL_create_curve_from_edge(tt,&curve1); //抽取曲线6 f6 H1 |. C; I5 f6 H
double point1 [ 3 ] ;0 I! h4 K' W% A, N
double point2 [ 3 ] ;
6 i( f6 L* U8 t s- b! I F int vertex_count;& W' d% p% r; k1 ?% h: F9 X. n+ i( L
UF_MODL_ask_edge_verts(tt,point1,point2,&vertex_count);4 F6 Z8 L& s3 W# o
if ((point1[0]==point2[0])&(point1[1]==point2[1]))% }' [' G9 }" k$ E
{
% P. ^* N/ s: ^2 `, Q4 n) ^& w UF_MODL_put_list_item(end_list2,tt);0 T) Z- L" X! d/ b4 L0 s' v' D
}
# I7 u2 Q) a& }6 ~* h* J }9 ], m! ~; s, B
UF_MODL_create_blend(radius,end_list2,smooth_overflow,cliff_overflow,notch_overflow,vrb_tool,&feature_obj_id);
9 q. S* H2 s1 R% r$ f6 v- q9 { UF_MODL_delete_list(&end_list);- z+ w6 G* J" g- E0 t
! K- `$ ~( }$ n UF_terminate();
# B+ i: ^7 Y. \0 {5 @ return;0 o# |2 x" ^( l7 Y* H9 Z5 _
}+ U2 u0 L# a) A$ @% I/ c* U! q1 [
0 t1 p: N. U: F$ O) A& y% m1 m( h9 f' cextern int ufusr_ask_unload(): x' q0 a+ [* ]. D
{- c- b1 b# c; T- m7 O, K5 e/ U
return UF_UNLOAD_IMMEDIATELY;8 v1 W9 m. e$ l- W- ~
}) b. k" f: `4 u2 Q! I! g
- z& K: q! \- E6 G0 }5 M |
-
评分
-
查看全部评分
|