青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

青华模具培训学院
查看: 4424|回复: 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?纠结中!!部分代码如下' x* h- U' S+ ~) A" z, E, [
//public int Excute()( D9 G* I1 U8 ]3 t! i* I! f
        //{
9 y& P" [' z1 R# V( V        //    /* B-spline parameters  */
# }" v2 \5 S* f- b9 Y8 U' L; _$ r0 _        //    int degree = 3;
9 C5 U' a2 ~; z  V5 M        //    int periodicity = 1;* I3 t) D5 A! I1 y
        //    int num_points = NUMBER_POINTS;
3 D3 O3 g: X, V7 h! m8 j% ?/ y7 |        //    int save_def_data = 1;$ [3 R' C' ?" s1 L  v) F( e
        //    /* Point/slope UFCurve attribute array */
! @+ N3 z7 ~: H: L        //    UFCurve.PtSlopeCrvatr[] point_data = new UFCurve.PtSlopeCrvatr[NUMBER_POINTS];7 t9 i4 u: r* M

1 P& [$ ?8 Q1 N" o        //    fs = new FileStream(path, FileMode.Open, FileAccess.Read);
- n1 _6 x. o" g9 Z: D) ~        //    StreamReader br = new StreamReader(fs, System.Text.Encoding.GetEncoding("gb2312"));  
! ~$ N7 C" l4 n! u        //    string m = br.ReadLine();0 a! `7 j8 Y  `0 _1 }0 u2 D
        //    string[] arr = m.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
* ~' N  ]  b  a% |( F        //    List<double> list = new List<double>();
. p4 L9 ^2 }- O* J1 o0 O4 D4 A2 i$ q1 p' C
        //    w.Flush();
7 t9 G( i9 x" `" O9 x4 P( B) ]        //    w.Close();# ?& P3 [3 J+ E# q3 Z+ }9 N  T

6 L7 Q) S. V% a  E        //    /* Arrays of user's defining point data */
. }9 g, S& `9 g3 e5 O1 o! y' ]        //    double[] parameters = null;
9 A! X0 \  T2 P) p* `- _1 O        //    double[] points = arr;
: ^1 T3 l/ O" D$ E2 \5 a% M7 Y        //    Tag spline_tag;
  g) I' E7 [0 I( d# X7 d$ S1 {8 b& b1 S3 c. ?4 W8 p
        //    /* Create B-spline UFCurve */
/ J+ L0 J" |# n        //    theUfSession.Curve.CreateSplineThruPts(degree,. Y- I" i+ J0 w
        //        periodicity,+ v5 }" S' {$ z- j/ ^7 w0 Q
        //        num_points,3 J: W$ f& U' _6 X4 `
        //        point_data,) z( y# b: J7 M* R; }! v8 j0 A1 }
        //        parameters,' ^# W% |, C; F" f5 N
        //        save_def_data,% L6 c  ~4 w7 I/ F
        //        out spline_tag);& Q! y% J3 y  q$ s7 d- k4 f+ C
        //    theUfSession.Part.Save();1 b8 T' W. b: ^
        //    return 0;* z7 B5 ^& H9 \" w) U2 ]
        //}
9 j6 n4 ~; ?0 c$ A. 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 编辑 # h9 e) J) g/ I5 }: y! o; N. H2 C
- b% f8 d6 ~. V
这个是可以的,你写个解析dat文件的函数,每个点的坐标分好,然后一一按顺序赋给point data即可绘制样条. |4 M4 o7 r+ Y$ y7 S! L7 y
帮助文档里有现成的例子,可以参考一下(例子我见过的是C写的,不是C++,不知道有没有C++的例子)
回复 支持 反对

使用道具 举报

发表于 2010-9-2 16:28 | 显示全部楼层
回复 4# wel8584
8 o7 J+ e4 G- I5 A
; u9 k  Y3 i9 i0 ~5 f
" H% S: F& v! G& G    希望你能上传一下这个例子!!急用
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-17 12:30 , Processed in 0.056667 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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