首次提交: OnebotCatalog 项目代码与文档(含 NX 按需生成服务二期、后台、一键启动)
This commit is contained in:
69
sample-data/tools/debug-export.vb
Normal file
69
sample-data/tools/debug-export.vb
Normal file
@@ -0,0 +1,69 @@
|
||||
' 调试: 单步 STEP 导出定位 "File already exists" 来源
|
||||
Option Strict Off
|
||||
Imports System
|
||||
Imports System.IO
|
||||
Imports System.Text
|
||||
Imports NXOpen
|
||||
Imports NXOpen.UF
|
||||
|
||||
Module DebugExport
|
||||
Sub Main()
|
||||
Dim sb As New StringBuilder()
|
||||
Dim cur As String = Directory.GetCurrentDirectory()
|
||||
Dim masterPath As String = Path.Combine(cur, "KC_master.prt")
|
||||
sb.AppendLine("CWD=" & cur & " masterExists=" & File.Exists(masterPath))
|
||||
Dim partLoadStatus1 As NXOpen.PartLoadStatus = Nothing
|
||||
Session.GetSession().Parts.OpenBaseDisplay(masterPath, partLoadStatus1)
|
||||
Dim w As Part = Session.GetSession().Parts.Work
|
||||
sb.AppendLine("Work=" & (If(w Is Nothing, "NULL", w.FullPath)))
|
||||
If w IsNot Nothing Then
|
||||
Dim ufs As UFSession = UFSession.GetUFSession()
|
||||
Try
|
||||
ufs.Modl.EditExp("stroke=87")
|
||||
ufs.Modl.Update()
|
||||
sb.AppendLine("EditExp+Update OK")
|
||||
Catch ex As Exception
|
||||
sb.AppendLine("EditExp/Update 失败: " & ex.Message)
|
||||
End Try
|
||||
' 诊断: 实体数与引用集
|
||||
Dim bodyCount As Integer = 0
|
||||
Try
|
||||
For Each b As NXOpen.Body In w.Bodies
|
||||
bodyCount += 1
|
||||
Next
|
||||
Catch
|
||||
End Try
|
||||
sb.AppendLine("实体数=" & bodyCount)
|
||||
Try
|
||||
For Each rs As NXOpen.ReferenceSet In w.GetAllReferenceSets()
|
||||
sb.AppendLine("引用集: " & rs.Name)
|
||||
Next
|
||||
Catch ex As Exception
|
||||
sb.AppendLine("引用集枚举失败: " & ex.Message)
|
||||
End Try
|
||||
Dim outDir As String = Path.Combine(cur, "dbg_out")
|
||||
Directory.CreateDirectory(outDir)
|
||||
Dim stpPath As String = Path.Combine(outDir, "DBG.stp")
|
||||
If File.Exists(stpPath) Then File.Delete(stpPath)
|
||||
Try
|
||||
Dim sc As NXOpen.StepCreator = Session.GetSession().DexManager.CreateStepCreator()
|
||||
sc.ExportFrom = NXOpen.StepCreator.ExportFromOption.ExistingPart ' 批处理无显示部件 → 直接处理部件文件
|
||||
sc.InputFile = masterPath
|
||||
sc.ExportAs = NXOpen.StepCreator.ExportAsOption.Ap214
|
||||
sc.OutputFile = stpPath
|
||||
sc.ColorAndLayers = True
|
||||
sc.Commit()
|
||||
sc.Destroy()
|
||||
sb.AppendLine("STEP 导出成功: " & stpPath & " size=" & (New FileInfo(stpPath)).Length)
|
||||
Catch ex As Exception
|
||||
sb.AppendLine("STEP 导出失败: " & ex.GetType().Name & " / " & ex.Message)
|
||||
Dim inner As Exception = ex.InnerException
|
||||
While inner IsNot Nothing
|
||||
sb.AppendLine(" inner: " & inner.Message)
|
||||
inner = inner.InnerException
|
||||
End While
|
||||
End Try
|
||||
End If
|
||||
File.WriteAllText(Path.Combine(cur, "debug-export.txt"), sb.ToString(), Encoding.UTF8)
|
||||
End Sub
|
||||
End Module
|
||||
Reference in New Issue
Block a user