点击查看详细介绍

NXOpen-VB.net开发实例

vodka 20年前 18079 9

购买与咨询 NX 二次开发视频教程,请联系微信号:13890821008  QQ号:85585969  


这是一个用NX3 Journal做开发的一个小例子。用VB.net语言简单直观易学好用。

一个NX的用户提出他们希望在Sketch里增加一个功能,做一个整圆与三条曲线(或直线)向切。NX3 做这样的功能需要三步。1 做个三处相切的Fillet,2 延长圆弧变成整圆,3 加三个相切约束。大多数用户可以接受这样的Workflow,我的客户每天要做几十个这样的“三切圆” 。他们不希望生活过的那末单调憋抑

小菜一碟,对于本坛子里许多江湖高手来说,C#,C ,.....十八般武艺,条条大路通罗马......用Journal功能来生成VB代码最适合像我这样的懒人了

先做一个草图作为项目的起点

0

最新回复 (9)
  • vodka 20年前
    1

    到Tools-

  • vodka 20年前
    2

    可以看出来

    Dim arcArray1() As Arc
    arcArray1 = theSession.ActiveSketch.Fillet(curve1, curve2, curve3, point3d1,...............1)

    做了一条圆弧
    Life is easy

  • vodka 20年前
    3

    调用以上函数就会做出一条圆弧。需要先喂给它三条曲线对象(NXObject)和三个参照点(helpPoint).在捕捉下来的VB代码里它们是死代码(Hardcoded). 为了在别的场合重复这个过程来创建一条三切圆弧,我们需要一段选取用的子程序。这里是一段简单的子程序代码

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

  • vodka 20年前
    4

    用这段子程序替换掉原来代码中的硬代码就可以回到NX3测试一下下了。
    我一直是直接使用UG的,好多年了吧。写Code还是好多年前做学生时候的事情了,心里有点悬
    言归正传,回到NX3, 进入Sketch,做三条线用来做相切的对象。然后到Tools-

  • vodka 20年前
    5

    头上的两个Imports 用来说明对象的名称空间(Name Space, 我也不知道确切地应该叫什么,有点难为情,...本来我就不是学Computer Science的)
    然后是Get Session. 这些都是固定的套路了
    忘记说了,Windows O/S 要先安装.NET FrameWork

    然后我要查查看怎么找到圆心和半径

  • vodka 20年前
    6

    打开NX3 Help library-

  • vodka 20年前
    7

    再回到Sketch, 用圆心和半径的方式作个圆。用Journal把Code抓出来看看

    Dim point3d1 As Point3d = New Point3d(-9.93871664596234, 9.27613553623151, 0.0)
    Dim nXMatrix1 As NXMatrix = CType(theSession.Parts.Work.NXMatrices.FindObject(

  • vodka 20年前
    8

    Dim centerpoint1 As Point3d = arcArray1(0).CenterPoint
    Dim radius1 As Double = arcArray(0).Radius

    Dim nXMatrix1 As NXMatrix = CType(theSession.Parts.Work.NXMatrices.FindObject(

  • vodka 20年前
    9

    然后把先前的Fillet删了

    Dim errorList1 As ErrorList
    errorList1 = theSession.ActiveSketch.DeleteObjects(arcArray1)
    errorList1.Dispose()

    当然,这段代码也是Journal出来的

请登录后发表新帖