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

iCAx开思网

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

[求助] 有没有人用VB或者C#做UG二次开发的?

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

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

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

x
首先,有QQ的加我吧:370566617
MSN:begtostudy@gmail.com

我主要是有个问题,在OPEN C中开发菜单关联的dll
都是这样的
static UF_MB_action_t actionTable[]=
{
  {"JK_TEST_1_ACTION",TEST_mian_menu,NULL},
  {NULL,NULL,NULL}
};

    try
    {
        /* TODO: Add your application code here */
  UF_MB_add_actions(actionTable);
    }

我想问一下,用VB或者C#怎么实现菜单动作"JK_TEST_1_ACTION"的回调
前提是不使用NXOpen.UF
谢谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2008-5-21 09:39:57 | 只看该作者
到NX4.0为止,.Net库还没有完全涵盖UF中的函数,很多功能依然需要通过调用UF来实现,包括你所说的注册回调函数.
当NX.net完善到一定程度后,会有这样的类出现
直接用菜单文件也许更方便些

1程序
我使用的一个基本框架
using System;
namespace MyPlus
{
public class MyLoader
{
  //运行时,NX先查找Main函数,并执行它,如果没有Main,则会报错,你可以使用Main作为整个插件的入口点.
  public static void Main(string[] args)
  {
     YourClass yc = new YourClass();
     yc.AnyFunction();
  }
  public static int GetUnloadOption(string arg)
  {
   return (int) Session.LibraryUnloadOption.Explicitly;
  }
}
public class YourClass()
{
  public void AnyFunction()
  {
  }
}
}
C#环境下,不用在开始和末尾加入UF_initialize()和UF_terminate()

2菜单

!编译文件为MYPLUS.DLL
VERSION 170
EDIT UG_GATEWAY_MAIN_MENUBAR

!菜单位置,定位于帮助后面
AFTER UG_HELP
CASCADE_BUTTON MYPLUS_MENU
LABEL MYPlus
END_OF_AFTER

MENU MYPLUS_MENU
BUTTON MY_FUN
LABEL My Fun
ACTIONS MYPLUS.dll
END_OF_MENU

[ 本帖最后由 tealy 于 2008-5-21 09:54 编辑 ]
3
发表于 2008-5-21 14:51:49 | 只看该作者

回复 2楼 tealy 的帖子

非常感谢!

首先,不知道你有QQ吗?很想加你,应为用.net开发UG的人不多

其次,感谢你的回答,我用UF已经实现了,但是NXOpen没有实现,NX5也是如此

再次,建议你的框架里加上try catch

最后,更正一下,UG先找Startup函数,没有的话才去找Main
这是UG帮助里的原话
4
发表于 2009-3-2 10:44:04 | 只看该作者
用C#做UG的二次开发没问题!呵呵!只是刚发现一个问题:用C#制作的对话框只能被调用一次,也就是说UG可以多次调用自己搞的那个对话框(我不喜欢,功能不强!),但是一旦加了C#的对话框,第一次打开UG,然后点击相应的菜单可以调出C#的对话框,但是关闭后再开就有警告了,无法打开了。不知大家有没有发现?
5
发表于 2011-8-14 15:51:26 | 只看该作者
按2楼所提供的方法,也就是每次点击一下菜单,就需要把对应的dll或exe文件装载一下?
6
发表于 2011-11-11 11:08:14 | 只看该作者
UG自带的例子中,使用了Application_Button这种方式:
APPLICATION_BUTTON Train_Parametric_APP
   LABEL Test
  LIBRARIES TrainPara
   MENU_FILES TrainPara.men

这样的话,会在应用下添加一个项,链接到TrainPara.dll文件中,这个调试成功了。问题是,加载了这个应用后,建模模块就不见了(建模的工具和菜单都不见了)

有何解决方案
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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