|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
/*********************************************************/( @9 N& b" {8 V1 \8 U
#include <stdio.h>
M$ q0 a z& J8 r% o: k#include <stdlib.h>
0 ^8 q: J, Q8 n& p% m; V#include <uf.h>
% u3 P. l. d5 |1 k#include <uf_attr.h>
/ X0 g# t" R( W$ p9 u/ m" N; K#include <uf_cfi.h>( R( X# U" h4 g9 H+ D' K7 t, a
#include <uf_curve.h>1 K; W4 L0 ~7 o" K. U( W
#include <uf_ui.h>5 ?+ Z+ D) v4 T" Q
#include <uf_modl.h>* x# D7 s$ Y, P+ B4 d) ]. ?- G
0 k9 ]1 r4 ^! F
/************* unload alloc mem *************************/
1 ]; A5 \( i- @; C; t- d, d2 `/* UF_UNLOAD_SEL_DIALOG _UG_TERMINATE _IMMEDIATELY */
4 E% z2 L( S# t
2 S1 ?% t. f% F$ Lextern void ufusr( char *param, int *reTCod, int param_len )
3 J7 l9 }4 O2 a' D* n) O- Q{3 r+ s5 o2 S+ s! x3 u" Z
UF_initialize();% _. q6 b) @$ z2 K. S: H
+ T+ d$ K& {7 w% j$ K
R- _0 K4 n* ]& M double coner[3]={0,0,0};- n6 }# r0 E: c2 q: Z! @% @8 P
char *edge[3] = {"10","50","20"};% r, Q8 M2 D' l
tag_t blk_tag;
% U) e. A9 _: D' y. t! f0 ]! U UF_MODL_create_block1(UF_NULLSIGN,coner,edge,&blk_tag);
( K6 \% Z8 \( J- @: u o$ R; R; f
6 n3 Z. E$ x X3 [+ ~( A UF_MODL_ask_feat_body(blk_tag,&blk_tag);- Q; Q- M4 c+ ]9 } t, E
uf_list_p_t end_list;- p. ]1 a. s3 w+ P$ w# w
UF_MODL_create_list(&end_list);9 `4 Q" O' }, ^& u6 m- Q6 g
UF_MODL_ask_body_edges(blk_tag,&end_list);8 U- ?6 b* B1 X# m! V- C2 B& c6 x
int num;6 N4 U7 H7 H6 J- u/ K
UF_MODL_ask_list_count(end_list,&num);+ A) N; h' H9 ^, _( D
" \9 B' e: P ^
char *radius ="2";9 H* ]5 q, E" ?/ L* C
int smooth_overflow = 0;. ^+ s8 L0 c. k! e
int cliff_overflow = 0;$ ~: F) Z; l* u0 x, N5 Q; x( h
int notch_overflow = 0;& l$ \& {3 S/ {/ |* a
double vrb_tool = 0;, H1 Y2 _- v" c7 k0 Y
tag_t feature_obj_id ;; y1 P' p; V( y1 U( W3 f$ \- n
uf_list_p_t end_list2;
! q7 S+ s- t3 y+ T3 u* h3 H4 Z UF_MODL_create_list(&end_list2);9 I. ~" E* r4 A, f3 \8 |$ m# ]8 c
for (int i = 0; i < num ; i++). P- g, W2 Q. n( N3 p
{
0 Y) m% ^9 s, m' n: J tag_t tt,curve1;: G0 c/ Y" w& V4 ]# h, r
UF_MODL_ask_list_item(end_list,i,&tt);
3 ] v# M; w6 ?2 l UF_MODL_create_curve_from_edge(tt,&curve1); //抽取曲线8 y7 S) |, C, s
double point1 [ 3 ] ;5 Q' F( _8 I% E. @% f
double point2 [ 3 ] ;
% j3 \( G0 W' O+ Y! C9 O int vertex_count;. q S/ b: I3 f& \; Z
UF_MODL_ask_edge_verts(tt,point1,point2,&vertex_count);
- y! H2 c4 ]0 c/ a; e1 v, r* v if ((point1[0]==point2[0])&(point1[1]==point2[1]))+ s" Q. d8 m. `
{6 s& s) Q) N2 \5 U- {0 H4 d, @- T* G
UF_MODL_put_list_item(end_list2,tt);, S- u, X8 J8 w# h: U+ L0 U9 G
}
' x0 L7 ~: a+ V3 l0 Q } \( `: L( d- a0 c
UF_MODL_create_blend(radius,end_list2,smooth_overflow,cliff_overflow,notch_overflow,vrb_tool,&feature_obj_id);
. i; G, @3 r5 x0 q) s% H3 `: P' A! Y: I& U UF_MODL_delete_list(&end_list);3 g/ ^2 G' r. a- B1 }
! l5 y# K, M9 o D8 ~1 s UF_terminate();
2 p1 y: k( P, g3 ` return;$ h# O8 j* O, |& f
}
. y* h' x+ K; T7 B0 y' t' P! z
. X$ H( Z J4 jextern int ufusr_ask_unload()
% W d& @& @1 X{# g c5 X; t0 U) @ [( a+ a; A9 V- k
return UF_UNLOAD_IMMEDIATELY;
+ _4 L* c/ t. y3 m2 p: C}
9 n* }) V, A) i) D5 ~- ]
B0 W) R9 z1 y |
-
评分
-
查看全部评分
|