QQ登录

只需一步,快速开始

快捷登录

登录 或者 注册 请先

UG爱好者

查看: 2542|回复: 8
打印 上一主题 下一主题

[求助] 求助 nxopen vb.net 做出面与线的交点 出错

[复制链接]

四级士官

Rank: 3Rank: 3

8

主题

34

帖子

805

积分
跳转到指定楼层
楼主
发表于 2019-1-31 18:49:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示:System.NullReferenceException: 未将对象引用设置到对象的实例
getpt.CreateSurfaceCurveIntersection(fa, cv.Tag, helppt1, helppt2, outpt) 这一行出错

Public Function createpoint() As Integer
        Dim theSession As Session = Session.GetSession()
        Dim workPart As Part = theSession.Parts.Work
        Dim displayPart As Part = theSession.Parts.Display

        Dim getpt As UFPoint
        Dim fa As NXOpen.Tag
        Dim cv As NXOpen.Tag
        fa=intface.Tag    'intface是选的面
        cv=intcurve(0).Tag   'intcurve(0)是选的线

        Dim helppt1 As NXOpen.Tag
        Dim helppt2 As NXOpen.Tag
        Dim outpt As NXOpen.Tag = Tag.Null

        Dim c1 As Double() = {-640, -409.326198682, 23.052587025}
        Dim c2 As Double() = {-640.0, -824.876391165, -13.940597438}
        theufsession.Curve.CreatePoint(c1, helppt1)
        theufsession.Curve.CreatePoint(c2, helppt2)

        getpt.CreateSurfaceCurveIntersection(fa, cv.Tag, helppt1, helppt2, outpt)

    End Function

有奖推广贴子: 

回复

使用道具 举报

四级士官

Rank: 3Rank: 3

8

主题

34

帖子

805

积分
沙发
 楼主| 发表于 2019-1-31 18:55:48 | 只看该作者
用ug 录制的  操作记录 好长,也看不懂,ug录制交点用的是Section,好麻烦
回复 支持 反对

使用道具 举报

上尉

Rank: 6Rank: 6

4

主题

162

帖子

5940

积分
板凳
发表于 2019-2-1 09:07:59 | 只看该作者
Dim c1 As Double() = {-640, -409.326198682, 23.052587025}
        Dim c2 As Double() = {-640.0, -824.876391165, -13.940597438}
        theufsession.Curve.CreatePoint(c1, helppt1)
        theufsession.Curve.CreatePoint(c2, helppt2)

这些点位是不是录制的,你没改啊?
回复 支持 反对

使用道具 举报

四级士官

Rank: 3Rank: 3

8

主题

34

帖子

805

积分
地板
 楼主| 发表于 2019-2-1 09:43:46 | 只看该作者
蓝摩羯 发表于 2019-2-1 09:07
Dim c1 As Double() = {-640, -409.326198682, 23.052587025}
        Dim c2 As Double() = {-640.0, -8 ...

我这里不是录制的,求交线需要两个参考点,随手做的,我想做面与线的交点。参考点能不能用空值?
回复 支持 反对

使用道具 举报

四级士官

Rank: 3Rank: 3

8

主题

34

帖子

805

积分
5#
 楼主| 发表于 2019-2-1 09:46:10 | 只看该作者
UFPoint 是个 Class, 网上说要先实例化,我总是实例化不了。。。
回复 支持 反对

使用道具 举报

上尉

Rank: 6Rank: 6

4

主题

162

帖子

5940

积分
6#
发表于 2019-2-1 10:23:42 | 只看该作者
VB不会啊,你可以参考一下 UF_MODL_intersect_curve_to_face
回复 支持 反对

使用道具 举报

四级士官

Rank: 3Rank: 3

8

主题

34

帖子

805

积分
7#
 楼主| 发表于 2019-2-1 10:50:05 | 只看该作者
Public Function createpoint() As Integer
        Dim theSession As Session = Session.GetSession()
        Dim workPart As Part = theSession.Parts.Work
        Dim displayPart As Part = theSession.Parts.Display
        dim theufsession as nxopen.uf.ufsession = nxopen.ug.ufsession.getufsession

        Dim fa As NXOpen.Tag
        Dim cv As NXOpen.Tag
        fa=intface.Tag    'intface是选的面
        cv=intcurve(0).Tag   'intcurve(0)是选的线

        Dim helppt1 As NXOpen.Tag= Tag.Null
        Dim helppt2 As NXOpen.Tag= Tag.Null
        Dim outpt As NXOpen.Tag = Tag.Null
       theufsession.point.CreateSurfaceCurveIntersection(fa, cv.Tag, helppt1, helppt2, outpt)

    End Function

原来不用定义,在uf.ufsession 里,花了两天才试出来。
回复 支持 反对

使用道具 举报

四级士官

Rank: 3Rank: 3

8

主题

34

帖子

805

积分
8#
 楼主| 发表于 2019-2-1 10:53:13 | 只看该作者
蓝摩羯 发表于 2019-2-1 10:23
VB不会啊,你可以参考一下 UF_MODL_intersect_curve_to_face

谢谢!了,VC 我也不会,上学时早,只学过C,C语言我看到指针就头痛,所以我就改成vb 了
回复 支持 反对

使用道具 举报

少尉

Rank: 5Rank: 5

3

主题

171

帖子

2134

积分
9#
发表于 2019-11-1 14:22:04 | 只看该作者
niu就是牛啊,没看看东
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

 
 
QQ:1359218528
工作时间:
9:00-17:00
 
微信公众号
手机APP
机械社区
微信小程序

手机版|UG爱好者论坛 ( 京ICP备10217105号-2 )    论坛管理员QQ:1359218528

本站信息均由会员发表,不代表本网站立场,如侵犯了您的权利请联系管理员,邮箱:1359218528@qq.com  

Powered by UG爱好者 X3.2  © 2001-2014 Comsenz Inc. GMT+8, 2024-11-25 11:41

返回顶部