iCAx开思网

标题: 请问有谁使用vb.net作ug开发? [打印本页]

作者: zhangcanwei    时间: 2006-1-1 23:26
标题: 请问有谁使用vb.net作ug开发?
如果有,能否探讨一个问题,就是每次在vb中编译程序时,必须把ug关闭才行,否则就会报告说一个程序正打开同一路径。。。我知道,那是因为我刚刚在ug中试运行了刚刚编译的程序。
作者: 深夜摔键盘    时间: 2006-1-2 13:33
从NX3开始,OPEN C API有了Basic声明,可以在VB环境中调用。

第二个问题,是因为unload函数中,没有将你的程序定制成结束后就退出。当你编译的时候,上次执行的程序依然停驻在内存中,它是不可写的。
作者: pzytony    时间: 2006-1-3 10:55
厉害!
作者: zhangcanwei    时间: 2006-1-3 17:49
怎么回事?
我昨天中午回来吃饭时明明是给键盘回帖的,怎么没有啊?谢谢键盘!

再问一个:怎样调出class selection 对话框? 使用NXOPEN.selection类时,为什么老是报错?
作者: 深夜摔键盘    时间: 2006-1-3 19:40
具体的问题,最好说的详细一些。

1.你想采用什么方式调出类选对话框。
2 在用.NXOPEN.selection时,报错,是编译报错,还是连接报错,还是程序运行报错呢?这样的问题,要么抓个图,最好把源程序贴上来。
作者: zhangcanwei    时间: 2006-1-4 21:59
这是在ug中执行时的报错信息
作者: zhangcanwei    时间: 2006-1-4 22:00
这是代码截图
如果把这一句去掉,则一切正常:
rrr = sss.SelectObjects("AAA", "BBB", Selection.SelectionScope.AnyInAssembly, True, True, ooo)
但是,正是靠这一句是来选择对象的

[ 本帖最后由 zhangcanwei 于 2006-1-4 22:04 编辑 ]
作者: zhangcanwei    时间: 2006-1-4 22:10
这是系统日志文件,里面提示没有引用对象,但是,这个selection对象却根本不能引用,因为其new()函数是private类型。
作者: zhangcanwei    时间: 2006-1-4 22:13
这是代码完整文件,为了减肥,我把引用的ug文件去掉了。
可以在这里引用...\ugII\managed\,把其中的几个dll文件全部引用过来。
作者: zhangcanwei    时间: 2006-1-4 22:17
这是系统日志文件
请各位高手诊断!
作者: zhangcanwei    时间: 2006-1-4 22:22
哦,对了。代码中没有调用GetUnloadOption()这个函数。这是推出函数。是接受键盘的提醒才加上的,在另外一个窗体中通过按钮调用,因为窗体与本题无关,我删除了。
作者: 深夜摔键盘    时间: 2006-1-5 10:56
不会VB.NET语言。

推测一下,VB.NET也是对象化的东西,是不是你的sss对象申明之后,还需要有一些初始化之类的行为?
作者: supergirl    时间: 2006-1-5 11:29
我觉得问题是这样的,selection对象是依附与UIstyler的对话框的,你不能在其他的对话框(比如VB的对话框,或者是其他任何类库的对话框)里面去调用它,不然会出错滴。

我记得以前在同时处理uistyler对话框和其他的对话框时候,要lock ug的access,这样才能避免对话框资源冲突,你要调class selection的对话框也是一个uistyler的。我觉得也应该去lock一下。
作者: vodka    时间: 2006-1-6 10:06
Give you an example

Sub SelectCurve(ByRef selectedObject As NXObject, ByRef helpPoint As Point3d)

        Dim ui As UI = ui.GetUI

        Dim message As String = "Select curve"
        Dim title As String = "Selection"

        Dim scope As Selection.SelectionScope = Selection.SelectionScope.WorkPart
        Dim keepHighlighted As Boolean = True
        Dim includeFeatures As Boolean = True
        Dim response As Selection.Response
        Dim selectionAction As Selection.SelectionAction = Selection.SelectionAction.ClearAndEnableSpecific

        response = ui.SelectionManager.SelectObject(message, title, scope, false, false, selectedObject, helpPoint)
        If response = Selection.Response.Cancel Or response = Selection.Response.Back Then
            Return
        End If
    End Sub
作者: vodka    时间: 2006-1-6 10:20
你的代码里面 Dim theui As UI = ui.GetUI 漏写了
以上代码你改一下应该可以run的。
用VB.net写的代码不用编译就可以运行的,用Alt+F8 直接运行。最后在递交前编译,如果你喜欢
一般来说, NXOPEN VB.net 不用 UI Styler的,你可以用Windows Form做界面, 非常方便的

[ 本帖最后由 vodka 于 2006-1-6 23:26 编辑 ]
作者: zhangcanwei    时间: 2006-1-6 17:48
vodka你好!
凭直觉,我觉得你是一个专家级的高手,我先按照你的方法试试。然后再作评论!
作者: zhangcanwei    时间: 2006-1-6 19:08
成功了!
困扰多日的难题解决了,谢谢vodka!

也谢谢键盘!的确,是应该做一些初始化。selection不应该直接调用,我这是初次使用ug内部的类库,很不熟悉。也谢谢超级女生,可惜我对uistyle不懂。以后请多多指教!
作者: vodka    时间: 2006-1-8 19:57
原帖由 zhangcanwei 于 2006-1-6 19:08 发表
成功了!
困扰多日的难题解决了,谢谢vodka!

也谢谢键盘!的确,是应该做一些初始化。selection不应该直接调用,我这是初次使用ug内部的类库,很不熟悉。也谢谢超级女生,可惜我对uistyle不懂。以后请多 ...

德尔燕
作者: vencent    时间: 2006-2-26 22:39
希望Vodka多多指教!
作者: murongjun    时间: 2006-3-15 10:19
真是高手
作者: zhangcanwei    时间: 2006-3-15 11:59
现在ug内部的函数只是封装了一部分,好多仍然是C++的原始类库。不知道以后会不会对VB提供更好的支持?会在哪一版才提供完整支持呢?
作者: vodka    时间: 2006-3-15 12:19
原帖由 zhangcanwei 于 2006-3-15 11:59 发表
现在ug内部的函数只是封装了一部分,好多仍然是C++的原始类库。不知道以后会不会对VB提供更好的支持?会在哪一版才提供完整支持呢?

所有老的UFunc (是c, 不是c++) 都可以通过NX.UF调用。所有UFunc产生的对象都可以在.NET 或Java里管理和引用。现在就可以
作者: 昆山人    时间: 2006-9-28 11:16
提示: 作者被禁止或删除 内容自动屏蔽
作者: wenjiquan    时间: 2007-7-3 21:26
但所有的UC****不能在vb.net中使用!!!
很不方便!!
作者: wenjiquan    时间: 2007-7-3 21:27
ug 公司应该也把这部分能上去,这就不用vc++方便多了。
作者: hello_test    时间: 2007-7-4 14:44
Vodka,键盘老大,能不能给点vb.net编写cam的代码示例,比如说创建operation后,如何设置drive geometry呢,如何设置加工geometry呢,先谢谢啦。




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