iCAx开思网

标题: ug/cam 二次开发中关于udop函数调用的问题 [打印本页]

作者: beiliya    时间: 2005-3-13 00:46
标题: ug/cam 二次开发中关于udop函数调用的问题
偶是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是否可以容许用户自己定义它们刀位具体值呢?
作者: beiliya    时间: 2005-3-13 00:49
这是图片
作者: beiliya    时间: 2005-3-13 00:52

作者: jdbc2kdsp    时间: 2005-3-14 08:43
user defined operation没用过,也从来没用过exit_id
每个主程序都应该有UF_terminate()结尾
另外,好像主程序名称不能随便定义吧
作者: jiang1lingling    时间: 2008-6-23 15:00
kankan
thanks
作者: 蓝墨水瓶    时间: 2008-11-14 10:09
哦,原来是这个样子的啊,好像不会,我也在弄这个呢...
作者: zjs    时间: 2008-12-4 20:35
我也在搞这个东西,这是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    *//
//*                                                                       *//
//*************************************************************************//
作者: dianzi24    时间: 2008-12-6 16:37
MILL USER使用的环境变量是写在ug_env.dat里的。
自己想写刀位只能写在MILL USER的udop里,UG自带的操作样板里不能写进东西。
作者: zjs    时间: 2008-12-7 08:49
问题是找不到UG自带的操作样板的UF_OPER_id_t *  oper_id,高手请出点主意
作者: dianzi24    时间: 2008-12-8 08:26
UG的操作样板不会允许你往里面写刀位的,不要走弯路,MILL USER就是专门提供给用户写自己的刀位的,我一直用它,能写出来和UG一样的,还能写出来UG没有的。多研究研究它,满足你的要求应该没问题。
作者: zjs    时间: 2008-12-8 22:39
UG的操作样板是可以写刀位,只是在菜单操作,ugopen 可能不行。
MILL USER不可以选几何体,并以此为基础进行碰撞检查。碰撞检查算法很复杂,只能靠UG
作者: dianzi24    时间: 2008-12-9 08:32
我一直在MILL USER里写,倒是从来没想过要在UG样板里用函数写。可以选择并保存几何体,虽然麻烦但能实现,碰撞检查没做过,确实复杂,也许有其他牛人能做。
作者: zjs    时间: 2008-12-13 10:31
如果不能在MILL USER内实现碰撞检查,这样的做法是没有溶合到UG。
对于UG样板进行修改主要目的是由UG生成程序,然后对其进行优化--如在尖角处加上园弧过度。
作者: 春泉    时间: 2008-12-13 19:14
实现碰撞检查不难,只是分析的时间会比较长
作者: 春泉    时间: 2008-12-13 19:23
“对于UG样板进行修改主要目的是由UG生成程序,然后对其进行优化--如在尖角处加上园弧过度。”

修改UG本身的刀路,估计很难实现,PM的刀路修剪功能独步天下,可惜UG我从去年想到今年年底也无从下手,不知有没有高手能实现直接修改刀路,而不是通过修改G代码,那样毫无意义!
作者: zjs    时间: 2008-12-15 19:17
UG菜单上有个cls import功能,如果能找到这个功能的dll,分析一下,可以还有出路。UF_OPER_id_t 的定义是void
作者: boxi2279    时间: 2009-5-10 07:01
kankan0 s# \; T5 K4 M( f
thanks
作者: yue010    时间: 2011-4-18 14:31
您好,我是一个新手,请问下您是在mill_user中怎么写刀位的呢,我感觉这方面的资料很少啊,能否给我推荐一些相关资料,有空给我指点下吧。谢谢了。

本帖最后由 yue010 于 2011-5-1 11:25 编辑
作者: 猪石琦    时间: 2011-8-10 16:09
yue010 发表于 2011-4-18 14:31
您好,我是一个新手,请问下您是在mill_user中怎么写刀位的呢,我感觉这方面的资料很少啊,能否给我推荐一些 ...

你好,我现在也在研究在mill_user中写刀位的问题,请问您那有什么资料吗?
作者: 猪石琦    时间: 2011-8-10 16:45
你好,我想请问一下,您的问题怎么解决的?
作者: hhb1987    时间: 2011-8-17 21:50
{:soso_e120:}怎么用啊
作者: hhb1987    时间: 2011-8-17 21:52
MILL USER怎么写刀路啊
作者: huangjiuchao    时间: 2011-10-31 15:43
dianzi24 发表于 2008-12-8 08:26
UG的操作样板不会允许你往里面写刀位的,不要走弯路,MILL USER就是专门提供给用户写自己的刀位的,我一直用 ...

请问MILL USER该如何用呢?求高手指点
作者: yang19861007    时间: 2012-6-9 16:59
dianzi24 发表于 2008-12-8 08:26
UG的操作样板不会允许你往里面写刀位的,不要走弯路,MILL USER就是专门提供给用户写自己的刀位的,我一直用 ...

怎么操作啊 ?
我想做仿真刀位文件




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3