|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
/*********************************************************/! }0 S& ]) {5 }
#include <stdio.h>+ e+ }7 P$ Z2 C/ K, V1 q
#include <stdlib.h>) W& k6 E/ i, m0 _0 y2 u
#include <uf.h>
1 A: d% {+ D2 |7 B' ?5 C% I' K6 ~! }#include <uf_attr.h>3 ` ^7 a5 s! s ?% H
#include <uf_cfi.h> u" x: X. x5 ]- @9 j# Y* q5 D
#include <uf_curve.h>
* F \+ N4 w1 C3 V#include <uf_ui.h>
@& g6 _6 u! L6 o. o; V7 ^) L! }#include <uf_modl.h>
$ L) G7 Q5 M- N6 q* U5 j! H
+ G/ i6 ^) W( a9 J( B- G/************* unload alloc mem *************************/
& M7 r+ ?) l; U2 ~8 B# B8 T/* UF_UNLOAD_SEL_DIALOG _UG_TERMINATE _IMMEDIATELY */! `4 p% t$ q& J. |
0 K6 r5 ~$ ?5 J- t
extern void ufusr( char *param, int *reTCod, int param_len )2 F6 Y A t- ]/ b9 o5 H4 C R. \: ], A
{: h+ i9 L0 w5 D4 V
UF_initialize();1 n6 x5 _5 [" Q, X
6 r, F1 a2 K p1 C9 x" j, U# S( f2 C3 W7 y& C5 D3 l# O# K( Y$ n
double coner[3]={0,0,0};. { E* G: M3 X: z0 T7 a
char *edge[3] = {"10","50","20"};
% J ?0 @, W. V- E7 f tag_t blk_tag;% P2 P4 W( [0 B5 U+ X; s* V/ G
UF_MODL_create_block1(UF_NULLSIGN,coner,edge,&blk_tag);
% W& v) v7 j6 ]7 {' [' b1 s m9 {0 a! U% ]
O1 a# h4 A) n5 }+ ?, r
UF_MODL_ask_feat_body(blk_tag,&blk_tag);* r1 @$ ` h4 j( T
uf_list_p_t end_list;
6 @- a! H) V$ q4 Q: Z: U" ^* O UF_MODL_create_list(&end_list);
- F, n" c0 Z/ _, q4 F& h1 w; O UF_MODL_ask_body_edges(blk_tag,&end_list);* @, [. k4 D% Q. D: `' d+ l
int num;) y, U9 ?# v/ c" x, J. h
UF_MODL_ask_list_count(end_list,&num);& z4 l; C t" P" X$ b
% Y# b2 g3 E+ C! J char *radius ="2";. Y2 _9 ^+ ]& u+ ~% S2 T
int smooth_overflow = 0;- i. G8 M8 a0 ~) l
int cliff_overflow = 0;
) Y1 Y& t6 X5 L! w& b9 V+ ?; O% d, R4 W int notch_overflow = 0;0 H6 P! A, L. @7 O3 B7 b$ \
double vrb_tool = 0;8 F M+ q' }8 n6 S& C, G; E+ X
tag_t feature_obj_id ;0 }2 p' v5 l$ I" {# h; P
uf_list_p_t end_list2;8 J/ E+ V* K6 Q! p0 C
UF_MODL_create_list(&end_list2);
( t. |9 p1 V# _4 a9 ` for (int i = 0; i < num ; i++)
6 f3 ?* B- T0 {( g4 g: [2 C {7 z; `3 A& i0 L& Z
tag_t tt,curve1;( g" Q( H/ Q6 v" _+ z0 }% H
UF_MODL_ask_list_item(end_list,i,&tt);
1 E2 n" w$ D/ f; |% M& Y8 b UF_MODL_create_curve_from_edge(tt,&curve1); //抽取曲线 R' m; i6 p' o
double point1 [ 3 ] ;
7 \% e5 X5 p r4 c double point2 [ 3 ] ;
, m9 W! n ~+ e. r3 n int vertex_count;
5 r2 U3 Y# U; ?4 x" M1 ? UF_MODL_ask_edge_verts(tt,point1,point2,&vertex_count);
, @3 H1 K1 }) A* P9 }+ i. e& E if ((point1[0]==point2[0])&(point1[1]==point2[1]))
; B8 Q4 K1 s* V {. F/ Q4 N; M* H8 x! V& L+ N o6 z' {! I
UF_MODL_put_list_item(end_list2,tt);
( |/ P# _$ T$ ~ }
4 h" U! |& J& ~3 E. y; @ }
8 l: L$ @% b4 S2 v- d" P6 P4 k UF_MODL_create_blend(radius,end_list2,smooth_overflow,cliff_overflow,notch_overflow,vrb_tool,&feature_obj_id);! t$ F+ @9 g% x
UF_MODL_delete_list(&end_list);/ V5 H; T) _7 y9 t5 o! E, N
( d+ q j, V, z6 Z# e- j* m
UF_terminate();
# U! X S2 n2 l1 G) {# d$ s; n return;/ n' ]3 A: M$ `1 q* ]9 n2 y
}5 Y. I7 F. u) T0 U$ I% G) }9 {
+ l$ ^& Y$ P0 J8 d; A/ o5 \- h
extern int ufusr_ask_unload()
4 D4 n6 X/ o; o4 u8 b3 @/ t% n5 _4 i{% v. f4 ^0 R- ?( n( H
return UF_UNLOAD_IMMEDIATELY;; Z/ Z" r7 U1 ?/ F I4 M
}
. K+ t4 y; i3 G1 j( x! G* s+ y2 C, T6 f- E5 v: p
|
-
评分
-
查看全部评分
|