青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

青华模具培训学院
查看: 4425|回复: 5

[原创] 关于UF_CURVE_create_spline_thru_pts函数的使用

[复制链接]
发表于 2010-4-23 10:16 | 显示全部楼层 |阅读模式
最近遇到一个问题,想用这个函数画个凸轮廓线,我目前已经利用数学公式获得凸轮廓线的X,Y,Z的坐标,生成.dat文件,我想能不能利用这个UF_CURVE_create_spline_thru_pts函数,生成一个廓线,不知道还有没有其他的方法,主要想调用生成的.dat文件,这个函数里的 point_data,参数不会用,想能不能从.dat中读出数组,赋给这个 point_data?纠结中!!部分代码如下
2 F' C$ m* s0 E, b- h! o//public int Excute()
0 H+ u& Y4 h( c8 \        //{# B1 d/ P; _, D% ]
        //    /* B-spline parameters  */
, L5 @* E% R7 X- B( }        //    int degree = 3;: S8 a3 O3 U/ V  I8 q
        //    int periodicity = 1;
) `( E+ G0 V4 ^3 L        //    int num_points = NUMBER_POINTS;
* e4 _. @" j6 |$ N/ u: w( s        //    int save_def_data = 1;
0 h/ r5 Q+ g$ x        //    /* Point/slope UFCurve attribute array */5 d" F/ Z/ e5 n* M& b% v0 @
        //    UFCurve.PtSlopeCrvatr[] point_data = new UFCurve.PtSlopeCrvatr[NUMBER_POINTS];. X1 w8 D, c9 p1 ?
4 Y/ H7 q  c2 R5 r0 W( V
        //    fs = new FileStream(path, FileMode.Open, FileAccess.Read);
. X) P' l* r% H  ?+ }        //    StreamReader br = new StreamReader(fs, System.Text.Encoding.GetEncoding("gb2312"));  ! L7 U! s# f4 E' y: P/ b1 A: n
        //    string m = br.ReadLine();' M$ v, b* ]& p+ m. ?5 H1 A
        //    string[] arr = m.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);6 z9 `" L6 q- A' ]( \! r
        //    List<double> list = new List<double>();
0 P2 a' i- s0 L. f- k/ H* h% X& ~- V9 D8 V
        //    w.Flush();0 G4 M7 ~- {% ^2 ~0 b
        //    w.Close();9 c! c8 y) L( o, s' }: X
/ Z3 j' V6 E5 z$ M4 x& ]' x
        //    /* Arrays of user's defining point data */
' V, E  p% @0 R) M, n  Z, z- i        //    double[] parameters = null;
! E& {- B' L0 j- U        //    double[] points = arr;
* Q9 W5 d5 M6 ]/ R$ B        //    Tag spline_tag;4 o) K. f. X5 w; ]" D+ {, S

; l) O: K$ C: Y4 X3 y7 w- L; b8 v        //    /* Create B-spline UFCurve */
3 Q( z5 b3 n/ J. w) F' c" ?1 O        //    theUfSession.Curve.CreateSplineThruPts(degree,0 ?* ?: T! Q$ C7 F) r8 g! H# ~4 B6 c
        //        periodicity,9 {, Y$ ]* D/ I! i0 p
        //        num_points,
4 O9 c  j# \. [$ n" n2 L2 f2 _        //        point_data,- x4 w" n6 k$ }" [# r& O/ q% p3 Q
        //        parameters,0 @0 V& a9 R% ?9 @$ v$ c
        //        save_def_data,
# _8 z  h$ L% |/ f4 |        //        out spline_tag);
% e4 H" D' o- F; G7 v7 v        //    theUfSession.Part.Save();
5 W8 X9 Q7 M; j* r- @# M. g        //    return 0;
- |( n. B' q5 a+ U4 i8 o        //}  n$ c( I3 m) Z! f' ?
还有这个ug6里面的journal功能,能不能录个insert-curve-spline,选择throUGh points的操作过程啊!!!
 楼主| 发表于 2010-4-23 10:31 | 显示全部楼层
顶一个,这个贴怎么下来了呢,顶,高手~~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-4-23 10:37 | 显示全部楼层
顶一个,这个贴怎么下来了呢,顶,高手~~
回复 支持 反对

使用道具 举报

发表于 2010-5-13 10:35 | 显示全部楼层
本帖最后由 wel8584 于 2010-5-13 10:37 编辑
" v  P# G5 \; R4 X+ x' `) C' k* ~/ j# h
这个是可以的,你写个解析dat文件的函数,每个点的坐标分好,然后一一按顺序赋给point data即可绘制样条$ P" a) Q% J$ ?1 D" w# Y; P
帮助文档里有现成的例子,可以参考一下(例子我见过的是C写的,不是C++,不知道有没有C++的例子)
回复 支持 反对

使用道具 举报

发表于 2010-9-2 16:28 | 显示全部楼层
回复 4# wel8584
8 y6 l2 G+ n5 w3 j" ~' Q' r. M3 e; x! V7 x- d3 W
2 ^! h' N- N7 i; ?6 C. {7 e4 I" d
    希望你能上传一下这个例子!!急用
回复 支持 反对

使用道具 举报

发表于 2011-1-3 15:23 | 显示全部楼层
LZ解决没...我正要用到一个渐开线的生成.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-17 12:46 , Processed in 0.050314 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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