青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

青华模具培训学院
查看: 1440|回复: 0

[疑难] 求曲线长度的程序,各位帮忙看看啊,那里出问题了?

[复制链接]
发表于 2011-11-10 15:46 | 显示全部楼层 |阅读模式
我看了,求曲线程度的UF_CURVE_ask_arc_length这个函数,但是我写了后却没有用啊,求指教,我是新手,也不知道程序对还是不对,
4 V% W7 p  x, Z' r: r1 }5 t/ O        UpdateData(true);
2 F+ @0 q. V2 \% a4 ?6 K7 M        tag_t part_tag;
  S3 Z6 |7 _" {* k        UF_PART_new("1",1,&part_tag);3 l' t7 v, k: W8 C% E) F
        tag_t line_tag;9 Z" `8 `4 T) q; {
        UF_CURVE_line_t line_coords; - f: i4 s5 o2 D4 x6 z0 a, `
        line_coords.start_point[0]=x0;
; d3 ]0 Z3 E' c/ A% N  J8 K        line_coords.start_point[1]=y0;6 \/ W" a# b- g, f% B. @
        line_coords.start_point[2]=z0;
4 w1 \* F9 z6 ^5 }        line_coords.end_point[0]=x1;( I# A# D# l7 p( J& R* }" `- p* _
        line_coords.end_point[1]=y1;
9 Y+ }" m$ w) L' }' m9 M! n        line_coords.end_point[2]=z1;6 D' p: m# t) x# x- T
        UF_CURVE_create_line(&line_coords,&line_tag);//生成直线
' ?# c$ k/ v9 H; G% I
4 V: Y3 y& `, c9 J8 v. k        char buffer[UF_UI_MAX_STRING_LEN];
1 V3 o( m$ V  r/ ]  \8 w( J1 `. u    double parm;' m5 j' P& ?- n+ E
        parm=0;0 s* U9 E9 {9 I8 G/ b
        double point[3];
& K7 k$ c3 r3 t* Y' h0 f0 D+ X        point[0]=x0;7 L6 K3 s4 O3 y
        point[1]=y0;
% T( G( N5 e/ r" t        point[2]=z0;6 e* U7 q# w; X0 T4 a5 G
        double tangent[3], p_norm[3], b_norm[3], torsion, rad_of_cur;( O% I$ h# U# h8 ]2 z# `3 K1 k/ J
        UF_MODL_ask_curve_props(line_tag,parm,point,tangent,p_norm,b_norm,&torsion,&rad_of_cur); ; q: o/ ?6 l1 L3 Q) F: y) W
    double point1[3];
, \) z% a5 X8 b$ R$ M        point1[0]=x1;
7 k# ^7 }* G+ o' j        point1[1]=y1;  \' p7 I. A! W" d
        point1[2]=z1;
, }1 {/ |* U% D* t8 y& V" o        UF_MODL_ask_curve_props(line_tag,parm,point1,tangent,p_norm,b_norm,&torsion,&rad_of_cur);   s6 q+ L/ y; W$ b% d! {7 L

( L) j: w1 m. y) f9 O        tag_t curve_tag;1 D" D9 _3 s, y& X: F/ o, }
    curve_tag=line_tag;
$ b7 q6 l- d. `6 U9 v' v$ t        double start_param;9 K' s) r  o& ^( O0 j
        start_param=0.0;4 d" h* ?% S2 A+ X* l
        double end_param;
- F5 f( R  w1 l% y' ^; @9 v        end_param=1.0;1 i+ E8 N; l( V' u
        UF_MODL_units_t unit_flag;: a9 c7 N. u/ u# Z  p- T/ M% |0 c
        unit_flag=UF_MODL_UNITS_PART;" ]' e4 U# m  }5 _
        double *arc_length;/ x- v! j  b/ k* U: F0 R' a
        UF_CURVE_ask_arc_length(curve_tag,start_param,end_param,unit_flag,arc_length);//计算曲线长度
3 V3 W7 R' G: O . I1 `. C8 X) A4 B+ a  U3 W/ O
    char   meassage[133];
1 o& J+ ?0 Y+ F    sprintf(meassage, "%f\n",arc_length);  
2 L3 f  n5 w! i5 a9 s    UF_UI_write_listing_window(meassage); & X: k6 \1 t; Q: p5 }6 l

# k' F% M, h6 b, V1 L0 _9 F        ShowWindow(SW_MINIMIZE);
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|关于我们|sitemap|小黑屋|Archiver|手机版|UG网-UG技术论坛-青华数控模具培训学校 ( 粤ICP备15108561号 )

GMT+8, 2025-2-19 06:28 , Processed in 0.048031 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表