找回密码 注册 QQ登录
一站式解决方案

iCAx开思网

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

ug/cam 二次开发中关于udop函数调用的问题

[复制链接]
跳转到指定楼层
1
发表于 2005-3-13 00:46:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
偶是ug二次开发入门级人物,请问各位大侠,如何实现对一个exit函数UDOP的调用?我在ufd_cam_udop.c中看到必须定义一个环境变量指向udop调用时候指向的动态库。请问:
1.如何制作这个环境变量,是直接在”我的电脑“右键建立系统环境变量,还是在ug_env.dat中插入一个环境变量?
2.我用两种方式同时建立了一个环境变量USER_DEFINED_OPERATION;
USER_DEFINED_OPEARATION=C:\Documents and Settings\wrq1\My Documents\Visual Studio Projects\NX3 Open Wizard22\Debug\NX3 Open Wizard23.dll,(dll文件是用ufd_cam_udop.c编译而成)而且通过ug的log文件也看到了它的值;但是我在启动ug以后加入一个”MILL_USER"类型的操作后在,“exit name”对话诓或者“退出名称”(中文版)中输入USER_DEFINED_OPERATION,然后点积generate图标出现错误如下图示。请问如果我像调用这个函数我的操作是否错误?
3. 由于工作中需要自己计算刀位,用UF_PATH_create_linear_motion(UF_PATH_id_t path_id,....)的时候必须知道PATH 的id号,除了用
在udop调用中使用以下几个函数(这是ufd_cam_udop中例句)
ugzhon
extern void udop(char *param, int *status, int parm_len)
{
  char   op_name[UF_OPER_OPNAME_LEN];
  UF_UDOP_id_t    udop_id;
  UF_UDOP_purpose_t  purpose;
  UF_OPER_id_t    oper_id;
  UF_PATH_id_t    path_id;
/***** Convert UG/Open API param to CAM exit id ******/
  UF_CAM_exit_id_t    exit_id = (UF_CAM_exit_id_t)param;
/***** Using the exit_id to get the udop identifier ******/
  UF_initialize();
  UF_UDOP_ask_udop( exit_id, [$udop_id)]
/***** Using the udop_id to get the oper identifier ******/
  UF_UDOP_ask_oper( udop_id, [$oper_id)]
/***** Using the udop_id to get the pupose of the call ******/
  UF_UDOP_ask_purpose( udop_id, [$purpose)]
/***** Using the oper_id to get the name of the oper ******/
  UF_OPER_ask_name( oper_id, op_name);
/***** Using the oper_id to get the path identifier ******/
  UF_OPER_ask_path( oper_id, [$path_id)]
除了这种方法,对于其它的非“MILL USER"类型的opertaion是否可以容许用户自己定义它们刀位具体值呢?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2005-3-13 00:49:39 | 只看该作者
这是图片
3
发表于 2005-3-13 00:52:01 | 只看该作者
4
发表于 2005-3-14 08:43:03 | 只看该作者
user defined operation没用过,也从来没用过exit_id
每个主程序都应该有UF_terminate()结尾
另外,好像主程序名称不能随便定义吧
5
发表于 2008-6-23 15:00:47 | 只看该作者
kankan
thanks
6
发表于 2008-11-14 10:09:10 | 只看该作者
哦,原来是这个样子的啊,好像不会,我也在弄这个呢...
7
发表于 2008-12-4 20:35:23 | 只看该作者
我也在搞这个东西,这是UG的答案,希望对你有用

来邮交流一下:zjszjssg@yahoo.com.sg

/*************************************************************************//
//*                                                                       *//
//* This is basic example of how to write a UDOP entry in CS              *//
//* To use this after you build the dll as cs_udop.dll                    *//
//* 1) Put the dll in a folder - for example c:\my_udops\                 *//
//* 2) Create an system environment variable MYCORP_UDOP_2 and set it to  *//
//*    c:\my_udops\cs_udop.dll                                            *//
//* 3) Now in NX CAM create a MILL_USER and in the UI enter MYCORP_UDOP_2 *//
//*    for the "CAM API Exit Name in the user interface                   *//
//*    press either "User Parameters" or "Generate" to see the results    *//
//*                                                                       *//
//*************************************************************************//
8
发表于 2008-12-6 16:37:51 | 只看该作者
MILL USER使用的环境变量是写在ug_env.dat里的。
自己想写刀位只能写在MILL USER的udop里,UG自带的操作样板里不能写进东西。
9
发表于 2008-12-7 08:49:11 | 只看该作者
问题是找不到UG自带的操作样板的UF_OPER_id_t *  oper_id,高手请出点主意
10
发表于 2008-12-8 08:26:11 | 只看该作者
UG的操作样板不会允许你往里面写刀位的,不要走弯路,MILL USER就是专门提供给用户写自己的刀位的,我一直用它,能写出来和UG一样的,还能写出来UG没有的。多研究研究它,满足你的要求应该没问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2024-12-25 21:33 , Processed in 0.027492 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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