找回密码
 立即注册

QQ登录

只需一步,快速开始

微信扫码登录

搜索
查看: 3121|回复: 3

[求助] UG工程图所有尺寸导出excel

[复制链接]

2

主题

43

回帖

477

积分

二级士官

积分
477
发表于 2019-2-16 08:55:00 | 显示全部楼层 |阅读模式
想把UG工程图中所有已标注的尺寸(含公差),形位公差等所有内容导出到excel中,大神有方法做到吗?

0

主题

32

回帖

95

积分

禁止访问

积分
95
发表于 2019-2-16 09:42:27 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

2

主题

43

回帖

477

积分

二级士官

积分
477
 楼主| 发表于 2019-2-18 22:33:03 | 显示全部楼层
代码如下:

Option Strict Off
Imports System
Imports NXOpen
Imports NXOpenUI

Module Module1

    Sub Main()

        Dim theSession As Session = Session.GetSession()
        Dim theUISession As UI = UI.GetUI
        Dim workPart As Part = theSession.Parts.Work

        Dim lw As ListingWindow = theSession.ListingWindow
        lw.Open()

        Dim markId1 As Session.UndoMarkId
        markId1 = theSession.SetUndoMark(Session.MarkVisibility.Visible, "journal")

        'change excelFileName to meet your needs
        Const excelFileName As String = "C:\Temp\part_dimensions.xlsm"
        Dim row As Long = 1
        Dim column As Long = 1

        'create Excel object
        Dim objExcel = CreateObject("Excel.Application")
        If objExcel Is Nothing Then
            theUISession.NXMessageBox.Show("Error", NXMessageBox.DialogType.Error, "Could not start Excel, journal exiting")
            theSession.UndoToMark(markId1, "journal")
            Exit Sub
        End If

        'open Excel file
        Dim objWorkbook = objExcel.Workbooks.Open(excelFileName)
        If objWorkbook Is Nothing Then
            theUISession.NXMessageBox.Show("Error", NXMessageBox.DialogType.Error, "Could not open Excel file: " & excelFileName & ControlChars.NewLine & "journal exiting.")
            theSession.UndoToMark(markId1, "journal")
            Exit Sub
        End If

        objExcel.visible = True

        objExcel.Cells(row, 1) = workPart.FullPath

        Dim myDimText() As String
        Dim myDimDualText() As String
        For Each myDimension As Annotations.Dimension In workPart.Dimensions
            row += 1
            myDimension.GetDimensionText(myDimText, myDimDualText)
            objExcel.Cells(row, column) = myDimText(0)
        Next

        'objExcel.Quit()
        objWorkbook = Nothing
        objExcel = Nothing

        lw.Close()

    End Sub


    Public Function GetUnloadOption(ByVal dummy As String) As Integer

        'Unloads the image when the NX session terminates
        GetUnloadOption = NXOpen.Session.LibraryUnloadOption.AtTermination

        '----Other unload options-------
        'Unloads the image immediately after execution within NX
        'GetUnloadOption = NXOpen.Session.LibraryUnloadOption.Immediately

        'Unloads the image explicitly, via an unload dialog
        'GetUnloadOption = NXOpen.Session.LibraryUnloadOption.Explicitly
        '-------------------------------

    End Function

End Module


运行后弹出错误:System.Runtime.InteropService.COMException:
头大

1

主题

48

回帖

671

积分

三级士官

积分
671
发表于 2024-8-18 15:05:15 | 显示全部楼层
iamarunner 发表于 2019-2-18 22:33
代码如下:

Option Strict Off

这解决了吗,可以分享下吗?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

咨询QQ:1359218528|发帖须知!|Archiver|手机版|小黑屋|UG爱好者论坛 ( 京ICP备10217105号-2 )

GMT+8, 2025-1-9 13:11

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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