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

iCAx开思网

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

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

[复制链接]
21
发表于 2009-9-24 18:10:07 | 只看该作者
20# liujingcheng

很简单,首先你用的是阵列的功能,那就到API里去找到阵列的函数:
有两个:
(1)UF_MODL_create_circular_iset()做圆周阵列
(2)UF_MODL_create_linear_iset()做线性阵列

然后就去调试这两个函数就可以了。。不要说不会调试。。这个是做开发最基本的事情
按照你的问题,应该是用第一个函数的,你试试看去。。。不管怎么样,先把这两个函数调试成功再说,如果有不明白的话再问我
22
发表于 2009-9-25 11:20:03 | 只看该作者
强烈期待你的创建对象和搜索对象
23
发表于 2009-9-25 13:52:57 | 只看该作者
创建对象已经做完了。。。 22# caiyu0
24
发表于 2009-9-25 14:01:02 | 只看该作者
第七个例子:怎样用VB.NET在UG中选择一个面?

Option Strict Off

Imports System

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

Module select_a_face_demo

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

Sub Main()
    Dim face As NXOpen.Tag

    While select_a_face(face) = Selection.Response.Ok

        MsgBox("Face Tag:" & face.ToString())

        ufs.Disp.SetHighlight(face, 0)

    End While

    End Sub

Function select_a_face(ByRef face As NXOpen.Tag) As Selection.Response

    Dim message As String
    Dim title As String = "Select a FACE"
    Dim scope As Integer = UFConstants.UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY
    Dim response As Integer
    Dim obj As NXOpen.Tag
    Dim view As NXOpen.Tag
    Dim cursor(2) As Double
    Dim mask_face As UFUi.SelInitFnT = AddressOf mask_for_faces

    ufs.Ui.LockUgAccess(UFConstants.UF_UI_FROM_CUSTOM)

    Try
        ufs.Ui.SelectWithSingleDialog(message, title, scope, mask_face, _
                     Nothing, response, face, cursor, view)
    Finally
         ufs.Ui.UnlockUgAccess(UFConstants.UF_UI_FROM_CUSTOM)
    End Try

    If response <> UFConstants.UF_UI_OBJECT_SELECTED And _
       response <> UFConstants.UF_UI_OBJECT_SELECTED_BY_NAME Then
        Return Selection.Response.Cancel
    Else
        Return Selection.Response.Ok
    End If

    End Function

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

    Dim num_triples As Integer = 1
    Dim mask_triples(0) As UFUi.Mask
    mask_triples(0).object_type = UFConstants.UF_solid_type
    mask_triples(0).object_subtype = UFConstants.UF_solid_face_subtype
    mask_triples(0).solid_type = UFConstants.UF_UI_SEL_FEATURE_ANY_FACE

    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
25
发表于 2009-9-26 07:37:05 | 只看该作者
老大:我是菜鸟,你可以帮我解答一个问题么?
库缺少需要的入口函数,是怎么回事?如何解决?万分感谢
26
发表于 2009-9-26 10:15:27 | 只看该作者
如果是.net的话,在解决方案浏览器中的引用中添加UGII\managed 目录下面的五个dll,然后在程序的开头部分,如我上面的,添加imports...就可以了
27
发表于 2009-9-28 09:44:52 | 只看该作者
file:///f:/未命名.bmp
28
发表于 2009-9-28 09:49:16 | 只看该作者
f:\未命名.bmp
请看图片,按照图片步骤做就可以了
29
发表于 2009-9-28 09:56:24 | 只看该作者
请看附件中的图片,按照图片步骤做就可以了

本帖子中包含更多资源

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

x
30
发表于 2009-9-28 10:03:12 | 只看该作者
26# 苏州人

C#.net用的是using
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2025-1-31 01:55 , Processed in 0.022802 second(s), 9 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2025 www.iCAx.org

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