|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
/*********************************************************/& n/ Q8 R$ `' ?. X- L' s
#include <stdio.h>
! d# ]7 [% Q4 A$ F. P% Y9 N4 E' l; G#include <stdlib.h>
; U% v4 i; [3 T/ J4 v#include <uf.h>* A: R1 E" s$ w2 Y* y* W' \" U0 O8 T
#include <uf_attr.h>. P- @1 X, o- A T i, r
#include <uf_cfi.h>
9 k; x! D( d6 z6 M% b" @#include <uf_curve.h>$ f; S+ j( C2 l
#include <uf_ui.h>
; d$ v* |, \4 }9 l#include <uf_modl.h>! l- Q# `/ C7 \
" [4 e. k+ L/ H' m2 u/************* unload alloc mem *************************/
. H$ s5 d! W! S: `2 x, t/* UF_UNLOAD_SEL_DIALOG _UG_TERMINATE _IMMEDIATELY */, ^3 }$ r; h; k5 w
" I9 w- H2 a! W; x! U5 x0 Mextern void ufusr( char *param, int *reTCod, int param_len )
9 R! Y# a p% o4 j' m{
1 V. J, A$ m; s* n8 @; S UF_initialize();8 v2 N+ X- r8 S: {9 k4 w
1 P2 W, L) k \+ H5 n
7 T3 {$ m! W: A+ T' k$ B double coner[3]={0,0,0};5 l3 W. g' t, w0 X
char *edge[3] = {"10","50","20"};9 A6 S! ^$ l2 W7 m; F+ R3 c/ n
tag_t blk_tag;# u7 Y- S: y- K( u% l. d
UF_MODL_create_block1(UF_NULLSIGN,coner,edge,&blk_tag);
) e2 f8 l$ c, x8 ~6 K: i4 G/ U& q+ D# O, f3 ^
: U4 s" {6 f8 a7 q# |) f UF_MODL_ask_feat_body(blk_tag,&blk_tag); }* U( r% T! w. i0 H( L
uf_list_p_t end_list;
2 p9 D9 r% ~4 u7 R0 d( Z/ J+ a UF_MODL_create_list(&end_list);" [$ k4 `' U Q! `) ~6 G* d
UF_MODL_ask_body_edges(blk_tag,&end_list);
1 \7 Z* R0 V' Z int num;
6 T) r& _8 `8 U) X5 f UF_MODL_ask_list_count(end_list,&num);3 Q! i/ z6 s2 [, T& j, N/ F# w
* l, m3 n% @' X5 i, h
char *radius ="2";
# D/ C2 x1 L& s* w) Q3 O int smooth_overflow = 0;
& c2 h t H1 h* e& n% Z int cliff_overflow = 0;' u- D, S( n- |3 t! L* y/ ^
int notch_overflow = 0;
4 d' z, p) B7 K, q' d double vrb_tool = 0;' _8 Y2 x0 `% A# d
tag_t feature_obj_id ;/ I, e6 ], S. l a( a8 |1 h
uf_list_p_t end_list2;, ]4 h" q- \& g5 `
UF_MODL_create_list(&end_list2);
' k% O3 A/ {( U9 u/ O$ n; J7 p3 a6 r* d for (int i = 0; i < num ; i++)
# w+ J1 B/ f1 Z" X$ d$ v {
! q5 V* k$ `% S) x; ? tag_t tt,curve1;( z/ g$ b5 m& @ x4 O
UF_MODL_ask_list_item(end_list,i,&tt);$ W& w1 I- `. c5 `5 q9 ^* \
UF_MODL_create_curve_from_edge(tt,&curve1); //抽取曲线/ G+ L2 k @3 V, j/ \. n4 ?8 @
double point1 [ 3 ] ;
1 s5 q7 v0 ?2 j1 Y+ ? double point2 [ 3 ] ;% g9 a6 o8 a" j; o# d/ P5 ~
int vertex_count;
+ w' x& h7 j/ O5 y0 c h UF_MODL_ask_edge_verts(tt,point1,point2,&vertex_count);9 {$ {% w3 e' _
if ((point1[0]==point2[0])&(point1[1]==point2[1]))
8 |7 ?5 C* U' m2 N: U0 e) Q {
0 `8 f+ G* F& L+ w3 E UF_MODL_put_list_item(end_list2,tt);( {; S- \# C' R% x' _2 V3 z9 Y
}
# I" M9 I8 b) V' V- ?! Z }
, Z- q" B; S$ {& b( z UF_MODL_create_blend(radius,end_list2,smooth_overflow,cliff_overflow,notch_overflow,vrb_tool,&feature_obj_id);& b+ H8 t9 `- A: {' U
UF_MODL_delete_list(&end_list);
0 O0 q( H# d8 V
4 A0 S9 o4 |5 f3 A. M UF_terminate();
+ `8 n6 _) k- g" |: L4 ]( V& Z" O return;
( Q7 O; h9 X6 ?}$ ^9 t3 h- m- n; \6 \ M$ h
( o# x+ H2 k1 I% M. e& ~- a
extern int ufusr_ask_unload()6 d, s! X5 f: d ~
{* ?/ c; U* N' c! r. Q' \
return UF_UNLOAD_IMMEDIATELY;
, T+ f7 D5 d& I. s' @}
% Y1 o3 S7 W9 Q" W2 f" d5 ~
% D, L7 i j! Q! y! m$ ?7 Q* [# } |
-
评分
-
查看全部评分
|