找回密码 注册 QQ登录
开思网工业级高精度在线3D打印服务

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
查看: 15888|回复: 3
打印 上一主题 下一主题

【求助】斑竹看过来ug二次开发如何创建曲线?

[复制链接]
跳转到指定楼层
1
发表于 2004-11-12 14:42:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
   /* ---- Enter your callback code here ----- */
   int degree = 3;
   int periodicity = 0;
   int num_points = NUMBER_POINTS;
   double point1[3] = {-0.0539, 0.0511, 0.0000};
   double point2[3] = {-0.4801, 0.8428, 0.0000};
   double point3[3] = {2.0000, 0.9000, 3.5956};
   double point4[3] = {2.3456, 1.3456, 3.7890};
   double point5[3] = {3.1000, 2.4567, 3.3214};
   double slope1[ 3 ] = {0,0,0};
   double slope2[ 3 ] = {0,0,0};
   double slope3[ 3 ] = {0,0,0};
   double slope4[ 3 ] = {0,0,0};
   double slope5[ 3 ] = {0,0,0};
   double crvatr1[ 3 ] = {0,0,0};
   double crvatr2[ 3 ] = {0,0,0};
   double crvatr3[ 3 ] = {0,0,0};
   double crvatr4[ 3 ] = {0,0,0};
   double crvatr5[ 3 ] = {0,0,0};

   
  
   /* Point/slope curve attribute array */
  
   UF_CURVE_pt_slope_crvatr_t point_data[NUMBER_POINTS] =
    {  
       {  point1[3],  
          UF_CURVE_SLOPE_AUTO,      slope1[ 3 ],
          UF_CURVE_CRVATR_NONE,     crvatr1[ 3 ]  
       },
       {  point2[3],  
          UF_CURVE_SLOPE_NONE,      slope2[ 3 ],
          UF_CURVE_CRVATR_NONE, crvatr2[ 3 ]  
       },
       {  point3[3],  
          UF_CURVE_SLOPE_NONE,      slope3[ 3 ],
          UF_CURVE_CRVATR_NONE,     crvatr3[ 3 ]  
       },
       {  point4[3],  
          UF_CURVE_SLOPE_DIR,       slope4[ 3 ],
          UF_CURVE_CRVATR_VEC,      crvatr4[ 3 ]  
       },
       {  point5[3],  
          UF_CURVE_SLOPE_VEC,       slope5[ 3 ],
          UF_CURVE_CRVATR_VEC,      crvatr5[ 3 ]  
       }
    };

/*
  UF_CURVE_pt_slope_crvatr_t point_data[NUMBER_POINTS] =
   {  
      {  {-0.0539, 0.0511, 0.0000},  
      UF_CURVE_SLOPE_AUTO,      {0,0,0},
         UF_CURVE_CRVATR_NONE,     {0,0,0}  
      },
      {  {-0.4801, 0.8428, 0.0000},  
         UF_CURVE_SLOPE_NONE,      {0,0,0},
         UF_CURVE_CRVATR_NONE, {0,0,0}  
      },
      {  {2.0000, 0.9000, 3.5956},  
         UF_CURVE_SLOPE_NONE,      {0,0,0},
         UF_CURVE_CRVATR_NONE,     {0,0,0}  
      },
      {  {2.3456, 1.3456, 3.7890},  
         UF_CURVE_SLOPE_DIR,       {0,0,0},
         UF_CURVE_CRVATR_VEC,      {0,0,0}
      },
      {  {3.1000, 2.4567, 3.3214},  
         UF_CURVE_SLOPE_VEC,       {0,0,0},
         UF_CURVE_CRVATR_VEC,      {0,0,0}
      }
   };
*/
  /* Arrays of user's defining point data */
   double parameters[NUMBER_POINTS] = {0.00, 0.89,  1.73,  2.23,  2.85};
  
   int i, save_def_data = 1;
   tag_t spline_tag;
  
   /* Create B-spline curve */
   UF_CURVE_create_spline_thru_pts(degree,
                                           periodicity,
                                           num_points,
                                       point_data,
                                           parameters,
                                           save_def_data,
                                           [$spline_tag)]
  
   
    UF_terminate ();
上面是我创建曲线的程序,如果直接输入点的值的话,可以创建曲线如程序里绿色的部分,但是我定义一个变量,然后把点的值赋值给变量,就不好使了,如程序中红色的部分,请问为什么。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2004-11-12 22:48:25 | 只看该作者
这个应该是C语法的错误。
类似于这个样子的错误吧。
double a[3]={0.0,0.1,3.0};
double b[3]=a[3];
  
如果你是想让结构体中的数据是由交互输入来得到的,可以换个思路做啊,多写几行代码的事。
3
发表于 2004-11-13 08:11:39 | 只看该作者
上面那点问题算是解决了。好久不见了
4
发表于 2004-11-13 10:10:22 | 只看该作者
搬家了,网络一直不通。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2024-12-26 13:50 , Processed in 0.034460 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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