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

iCAx开思网

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

[原创] VB.NET FOR UG 二次开发 教程(附全部源码)--.NET 开发的里程碑

[复制链接]
41
发表于 2009-10-12 11:41:37 | 只看该作者
第八个例子:怎样用VB.NET在UG中选择曲线和边?

Option Strict Off  

Imports System
Imports NXOpen
Imports NXOpen.UF
Imports NXOpen.UI
Imports NXOpen.Utilities

Module select_curves_or_edges

  Dim s As Session = Session.GetSession()
  Dim ufs As UFSession = UFSession.GetUFSession()

Sub Main()

Dim curves() As NXOpen.Tag
Dim num_curves As Integer
Dim n As String = vbCrLf

    num_curves = select_curves_or_edges("Select Curves or Edges:", curves)

    If (num_curves) > 0 Then
        ufs.Ui.OpenListingWindow()
        ufs.Ui.WriteListingWindow("Selected count: " & num_curves.ToString & n)
    End If

End Sub

Function select_curves_or_edges(ByVal prompt As String, _
                                ByRef curves() As NXOpen.Tag) As Integer

    Dim cnt As Integer = 0
    Dim response As Integer
    Dim inx As Integer = 0
    Dim mask_crvs As UFUi.SelInitFnT = AddressOf mask_for_curves

    ufs.Ui.LockUgAccess(UFConstants.UF_UI_FROM_CUSTOM)

    Try
        ufs.Ui.SelectWithClassDialog(prompt, "Curves:", _
            UFConstants.UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY, _
            mask_crvs, Nothing, response, cnt, curves)
    Finally
        ufs.Ui.UnlockUgAccess(UFConstants.UF_UI_FROM_CUSTOM)
    End Try

    For inx = 0 To curves.Length - 1
        ufs.Disp.SetHighlight(curves(inx), 0)
    Next

    Return cnt

End Function

Function mask_for_curves(ByVal select_ As IntPtr, _
                       ByVal userdata As IntPtr) As Integer

    Dim num_triples As Integer = 6
    Dim mask_triples(5) As UFUi.Mask

    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

    mask_triples(2).object_type = UFConstants.UF_conic_type
    mask_triples(2).object_subtype = 0
    mask_triples(2).solid_type = 0

    mask_triples(3).object_type = UFConstants.UF_spline_type
    mask_triples(3).object_subtype = 0
    mask_triples(3).solid_type = 0

    mask_triples(4).object_type = UFConstants.UF_point_type
    mask_triples(4).object_subtype = 0
    mask_triples(4).solid_type = 0

    mask_triples(5).object_type = UFConstants.UF_solid_type
    mask_triples(5).object_subtype = 0
    mask_triples(5).solid_type = UFConstants.UF_UI_SEL_FEATURE_ANY_EDGE

    ufs.Ui.SetSelMask(select_, _
                       UFUi.SelMaskAction.SelMaskClearAndEnableSpecific, _
                       num_triples, mask_triples)

    Return UFConstants.UF_UI_SEL_SUCCESS

End Function

  Public Function GetUnloadOption(ByVal dummy As String) As Integer

      GetUnloadOption = UFConstants.UF_UNLOAD_IMMEDIATELY

  End Function

End Module
42
发表于 2009-10-12 15:01:44 | 只看该作者
楼主,你好,我再向你请教一个问题:
如何确定 与两条空间曲线同时相切的圆 的 圆心轨迹?也就是说 如果已知两条曲线的直角坐标方程,如何才能得到 与它们都相切的圆呢?希望楼主能给点建议
希望能得到楼主的 答复
谢谢

本帖子中包含更多资源

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

x
43
发表于 2009-10-12 15:06:28 | 只看该作者
比如上面 我上传的图片,应该如何求解 与两条边界曲线同时相切的圆 的 圆心坐标呢?
44
发表于 2009-10-14 09:30:51 | 只看该作者
求助使用VB.net修改表达式值的程序书写格式,本人关键不明白怎么样获取实体模型相关的表达式,将值赋给表达式,更新模型
Dim exps as Tag 是1维数组吗?


UF_MOLD_ask_exps_of_part(……..,exps)
Exps 是否表示实体模型全部表达放置到内存里
UF_free(exps)
怎么样释放出来

UF_modl_edit_exp
UF_modl_update
45
发表于 2009-10-14 12:09:28 | 只看该作者
44# UG008

在后面的教程会有表达式方面的实例,请关注!
46
发表于 2009-10-14 15:16:08 | 只看该作者
楼主.看了你的文档.对你只能说一个字"好"!
我是用C#来对NX做二次开发.现在我用NX里面用UIstyler做好一个界面以后.用VS2005里面的NX向导打开.
写好代码之后运行时出现"命名空间"NXOpen.UIStyler"中不存在类型或命名空间名称"UnkuownType""
我是用UIStyler导出来的代码.为什么不行呢.而且头文件也都加了.
我的QQ:269737616
47
发表于 2009-10-16 07:50:51 | 只看该作者
再次感谢楼主
48
发表于 2009-10-16 08:00:14 | 只看该作者
高手啊,
我都看不懂,支持一下啊
49
发表于 2009-10-17 13:48:52 | 只看该作者
good    good..........
50
发表于 2009-10-20 18:35:40 | 只看该作者
老大:你好,我遇到个问题,想向您请教。两个体,布尔差运算怎么做,里面有个参数要求be free,我没弄出来,能帮我解答么?不胜感激!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2025-1-31 01:46 , Processed in 0.026872 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2025 www.iCAx.org

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