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

iCAx开思网

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

[求助] 求关于NXOpen用C#开发的选择对话框的实例代码

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

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

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

x
小弟以前一直用ugopen开发,最近刚学.net做UG的二次开发。用的是C#,网上只有很少的资料可供学习。这里高手多,哪位高人先指点小弟一下怎么调用选择对话框啊,以后还多多交流。对于c语言的ugopen开发,我还是懂的比较多的,也可以相互交流一下。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
15
发表于 2009-11-26 09:11:49 | 只看该作者
wangxunming 发表于 2009-11-24 21:10
不是太明白楼主意思,但是C#里面有ShowDialog模式对话框运行此对话框的时候,其它变灰色!


谢谢回复。
问题已经解决了,我不是用UG做的对话框,我是用c#做的界面,UG只是调用dll文件,所以以前可以运行很多个同样的对话框,这是禁忌啊。不过现在已经解决了
14
发表于 2009-11-24 21:10:05 | 只看该作者
不是太明白楼主意思,但是C#里面有ShowDialog模式对话框运行此对话框的时候,其它变灰色!
13
发表于 2009-11-24 10:20:05 | 只看该作者
可我的问题还没解决呢,郁闷啊
就是那个怎么让用户只能运行一个用c#做的对话框。

本帖最后由 waster 于 2009-11-24 10:22 编辑
12
发表于 2009-11-23 20:47:52 | 只看该作者
非常感谢楼主,问题解决了!!!
11
发表于 2009-11-18 17:03:49 | 只看该作者
/设置选择对话框中的选择项为线函数
        static int initProCurve(IntPtr select_, IntPtr user_data)
        {
            int errorCode = 1;
            int numTriples = 4;
            NXOpen.UF.UFUi.Mask[] maskTriples = new UFUi.Mask[4];
            maskTriples[0].object_type = NXOpen.UF.UFConstants.UF_line_type;
            maskTriples[0].object_subtype = NXOpen.UF.UFConstants.UF_all_subtype;
            maskTriples[0].solid_type = 0;
            maskTriples[1].object_type = NXOpen.UF.UFConstants.UF_circle_type;
            maskTriples[1].object_subtype = NXOpen.UF.UFConstants.UF_all_subtype;
            maskTriples[1].solid_type = 0;
            maskTriples[2].object_type = NXOpen.UF.UFConstants.UF_spline_type;
            maskTriples[2].object_subtype = NXOpen.UF.UFConstants.UF_all_subtype;
            maskTriples[2].solid_type = 0;
            maskTriples[3].object_type = NXOpen.UF.UFConstants.UF_conic_type;
            maskTriples[3].object_subtype = NXOpen.UF.UFConstants.UF_all_subtype;
            maskTriples[3].solid_type = 0;
            theUFSession.Ui.SetSelMask(select_, UFUi.SelMaskAction.SelMaskClearAndEnableSpecific,
                                        numTriples, maskTriples);
            return errorCode;
        }
这个是我的代码
10
发表于 2009-11-18 16:58:54 | 只看该作者
UFUi.Mask[] mask_triples = new UFUi.Mask[1];
这句应该改为下面这个吧,是2,不是1
UFUi.Mask[] mask_triples = new UFUi.Mask[2];
9
发表于 2009-11-16 21:44:49 | 只看该作者

o

太感谢楼主了,我加了后面两句呀
都还是不行呀,调用的函数代码如下:
   public int  initProSolid(IntPtr select, int userdata)
        {
            int num_triples = 2;
            UFUi.Mask[] mask_triples = new UFUi.Mask[1];

            mask_triples[0].object_type = UFConstants.UF_line_type;
            mask_triples[0].object_subtype = 0;
            mask_triples[0].solid_type = 0;
            mask_triples[1].object_type = UFConstants.UF_circle_type;
            mask_triples[1].object_subtype = 0;
            mask_triples[1].solid_type = 0;
            ufs.Ui.SetSelMask(select, UFUi.SelMaskAction.SelMaskClearAndEnableSpecific, num_triples, mask_triples);
            return UFConstants.UF_UI_SEL_SUCCESS;
        }
麻烦楼主解答一下,非常感谢了!

本帖最后由 wangxunming 于 2009-11-23 20:47 编辑
8
发表于 2009-11-16 10:25:56 | 只看该作者
wangxunming 发表于 2009-11-13 23:23
请教一下楼主:initProSolid等等这些都是方法对吗
如果是一种情况就是
NXOpen.UF.UFUi.SelInitFnT initPro=new NXOpen.UF.UFUi.SelInitFnT(initProSolid);      
但是我试了很多次都不行,还请楼主帮忙解答一下, ...


只要initProSolid是一个函数名,你这个用法是对的。如果还是不行就有可能是initProSolid函数本身有问题,或者把这两句加上试试看。theUFSession.Ui.LockUgAccess(UFConstants.UF_UI_FROM_CUSTOM);
theUFSession.Ui.UnlockUgAccess(UFConstants.UF_UI_FROM_CUSTOM);
7
发表于 2009-11-16 10:23:02 | 只看该作者
wy.dk 发表于 2009-11-13 18:27
waster   ,我是新手,现在开发用C#开发 UG  的一些常规操作,但用C#开发 UG  的资料很少,希望能和你们这些高的交换一些资料 QQ104462894



其实我也没什么资料,就有个UG的帮助文档,还有MSDN,还有C#的一些书。很多东西都是靠自己慢慢试试出来的,这方面的资料确实少,而且用C#的人也少,一般都是用C
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2025-8-26 21:15 , Processed in 0.033610 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2025 www.iCAx.org

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