|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
/*********************************************************/
* N0 h# ^1 l$ M( P& ^" K) ?#include <stdio.h># h: V. Z( j8 G, r; i
#include <stdlib.h>5 k; i6 ]2 B3 X! a4 r& G0 x1 S
#include <uf.h>
4 z0 X. w, m% `" T, W#include <uf_attr.h>4 g: ~: T0 N) b& d* h
#include <uf_cfi.h>
4 T* x, Q/ N) N#include <uf_curve.h>
" s8 ]3 P( Q9 ^$ ^* N' h" p#include <uf_ui.h>
1 W, G; f- W; Y4 L% O" p; `#include <uf_modl.h>
$ c- c* k0 k1 q/ b1 B1 z5 I. e9 K9 c' G3 ?% U6 o% i
/************* unload alloc mem *************************/
! H& ?% ~: I1 \. W/* UF_UNLOAD_SEL_DIALOG _UG_TERMINATE _IMMEDIATELY */3 _* y) y; P* L+ p( I- j
7 N, r' { c; E0 o* q% C
extern void ufusr( char *param, int *reTCod, int param_len )
7 m( p+ M; b; ^3 i/ k{' `9 P5 w4 O$ S% W: F* C5 i+ [$ {
UF_initialize();2 l8 G- p' s- C
0 ]) _' p. a$ N( T+ @( ~7 D+ _. y; x1 m9 N0 z
double coner[3]={0,0,0};8 n: C5 u% k' Z+ c4 k8 h* @
char *edge[3] = {"10","50","20"};
+ m! U, j; V: a8 V tag_t blk_tag;
5 I" d6 N7 c1 h+ e$ P; `7 ?, k UF_MODL_create_block1(UF_NULLSIGN,coner,edge,&blk_tag);
; ?3 o, v4 W0 z* W9 O; D; ?$ A# _* l& E6 ~7 `: p/ L
( M; Q0 d b* R# C1 n- B/ c
UF_MODL_ask_feat_body(blk_tag,&blk_tag);
, [- _' N# f9 c6 T7 x" F* s* R uf_list_p_t end_list;
" u, r: t6 H$ [, w8 c, Z# ? UF_MODL_create_list(&end_list);' u. @( l, S9 @
UF_MODL_ask_body_edges(blk_tag,&end_list);
9 Q; @) v% e! D/ u; L D int num;
* p( |6 V" n" c, k8 P1 J- v UF_MODL_ask_list_count(end_list,&num);" D8 d# I, M, | C* i4 B7 X+ Z8 f
" ?1 {- `& ?2 u; h6 `7 | D
char *radius ="2";% n5 Y- U. X8 m
int smooth_overflow = 0;
& Y2 L4 w1 \6 G' k int cliff_overflow = 0;
3 T2 ]3 b4 H0 A) \) W' L int notch_overflow = 0;# _, o* W8 H5 B8 |6 ~
double vrb_tool = 0;' x3 }4 ^( D: m& ~3 r
tag_t feature_obj_id ;8 D# |; d+ t I- M$ B! Q1 h: I
uf_list_p_t end_list2;
3 C2 p, q" b$ I- @6 e" | UF_MODL_create_list(&end_list2);" S" r! c& \9 m/ a. [6 e
for (int i = 0; i < num ; i++)
8 Q( ?2 \- B8 S$ r$ n4 C4 V+ R {1 o: S+ z) a& |+ q" `( [/ T
tag_t tt,curve1;
; s3 O+ O: q- u/ _: i) n* s7 c% ^. B UF_MODL_ask_list_item(end_list,i,&tt);
$ V) Y; v! g9 k* B1 E UF_MODL_create_curve_from_edge(tt,&curve1); //抽取曲线( P. O% W& E, U& L3 g4 N
double point1 [ 3 ] ;$ X. A( ]* r' H- n
double point2 [ 3 ] ;
. p% o7 S/ ?' H1 K9 G j$ @0 i5 n int vertex_count;
- x2 A; V" N. m& {- [ UF_MODL_ask_edge_verts(tt,point1,point2,&vertex_count);! l% Z7 ?( O# y( r
if ((point1[0]==point2[0])&(point1[1]==point2[1]))- u! B$ S7 m& L6 o4 E
{
! n R$ B Q" ?% y) a( |8 r' ^ UF_MODL_put_list_item(end_list2,tt); F4 C6 }8 J$ y1 C) V# }8 D
}& I" l. l- G& ^6 E
}6 k! Y. v A; c/ V
UF_MODL_create_blend(radius,end_list2,smooth_overflow,cliff_overflow,notch_overflow,vrb_tool,&feature_obj_id);( B0 R, R1 l/ Z: F% o
UF_MODL_delete_list(&end_list); A& e; {7 A7 J
: V' e5 d0 n% p$ s& x0 S/ |) f; Q: w2 A
UF_terminate();1 H* f1 d; Q5 `/ {
return;+ { I: W" v( t* i% q
}( _2 A4 f9 _: S5 f. e
3 Q* ~: U* M/ p$ T
extern int ufusr_ask_unload()% F+ u/ G8 K# [5 e" O% D
{
4 `# x1 J- d) Z- y; V' w- O return UF_UNLOAD_IMMEDIATELY;1 @+ ]( d: F" | `
}
* L" H2 O: i* N+ ^7 k- \& X9 f- X* q' V: g2 t/ b3 p+ i
|
-
评分
-
查看全部评分
|