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

iCAx开思网

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

【求助】UG二次开发中UF_MODL_move_feature()函数的使用问题

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

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

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

x
UF_MODL_move_feature()函数是否是对特征体进行移动操作,如何正确使用,程序代码如下,系统报错:
  uf_list_p_t car_list_for_move;
    UF_MODL_create_list([$car_list_for_move)]
    UF_MODL_put_list_item(car_list_for_move, blk_obj);
    UF_MODL_put_list_item(car_list_for_move, tyre1);
    UF_MODL_put_list_item(car_list_for_move, dplane);
    UF_MODL_put_list_item(car_list_for_move, mirror_tag);
  double move_points[2][12]={0,0,0,13587,0,0};
      UF_MODL_move_feature (car_list_for_move,0,move_points);
     UF_MODL_update();
  
  
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
4
发表于 2009-12-14 10:22:51 | 只看该作者
移动特征的例子:将方块沿X方向移动10mm,采用点到到的方式。

extern DllExport void ufusr( char *parm, int *returnCode, int rlen )
{
    /* Initialize the API environment */
    if( UF_CALL(UF_initialize()) )
    {
        /* Failed to initialize */
        return;
    }
   
    /* TODO: Add your application code here */
    double adCornerPnt[3] = {0.0};
    char *asEdgeLen[3] = {"100", "60", "36"};
    tag_t tBlock = NULL_TAG;
    UF_MODL_create_block1(UF_NULLSIGN, adCornerPnt, asEdgeLen, &tBlock);

    uf_list_p_t move_list;
    UF_MODL_create_list(&move_list);
    UF_MODL_put_list_item(move_list, tBlock);

    double adRealData[2][12] = {{  0.0, 0.0, 0.0,
                                                     0.0, 0.0, 0.0,
                                                     0.0, 0.0, 0.0,
                                                     0.0, 0.0, 0.0},
                                                 { 10.0, 0.0, 0.0,
                                                     0.0, 0.0, 0.0,
                                                     0.0, 0.0, 0.0,
                                                     0.0, 0.0, 0.0}
                                                  };
    UF_CALL(UF_MODL_move_feature(move_list, 0, adRealData));
    UF_MODL_update();

    /* Terminate the API environment */
    UF_CALL(UF_terminate());
}
3
发表于 2009-12-13 23:47:33 | 只看该作者
我在使用这个函数时也遇到了问题。建立了一个BLOCK,想用UF_MODL_move_feature移动到另一点,不知为什么就是不成功。我已经做了一整天了就是不成功。请教各位了。代码如下:

#include <stdio.h>
#include <uf.h>
#include <uf_ui.h>
#include <uf_modl.h>
#include "moveblock.h"
static void PrintErrorMessage( int errorCode );
static void dougopenapi(void)
{
  int errorCode;
  
  tag_t blocktag;
  static double corner_pt[3]={0,0,0};
  char *edge_len[3]={"10","10","10"};
  uf_list_p_t feat_list;
  static int mode=0;
  static double movecoor[2][3]={{0.0,0.0,0.0},{10.0,10.0,10.0}};

  errorCode=UF_MODL_create_block( UF_NULLSIGN,  NULL,
                                corner_pt, edge_len, &blocktag );
   PrintErrorMessage( errorCode );
   UF_MODL_create_list(&feat_list);
   UF_MODL_put_list_item(feat_list, blocktag);
   UF_MODL_move_feature(feat_list, mode, movecoor);
   UF_MODL_update();
}

extern DllExport void ufusr( char *parm, int *returnCode, int rlen )
{
    int errorCode = UF_initialize();
    if ( 0 == errorCode )
    {
          dougopenapi();
   
        errorCode = UF_terminate(); /* Terminate the API environment */
    }
   
    PrintErrorMessage( errorCode ); /* Print out any error messages */
}

extern int ufusr_ask_unload( void )
{
    return( UF_UNLOAD_IMMEDIATELY );
}

static void PrintErrorMessage( int errorCode )/* PrintErrorMessage*/
{
    if ( 0 != errorCode )
    {
        /* Retrieve the associated error message */
        char message[133];
        UF_get_fail_message( errorCode, message );
/* Print out the message */
        UF_UI_set_status( message );
        uc1601(message,1);
    }
}
2
发表于 2004-12-31 21:17:24 | 只看该作者
兄弟,把你的代码贴的完整点儿。
你用的是point_to_point方式,你的坐标好像也不对。
应该设置如下:
move_pt[0][0] = 0;
move_pt[0][1] = 0;
move_pt[0][2] = 0;
  
move_pt[1][0] = 5;
move_pt[1][1] = 5;
move_pt[1][2] = 5;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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