首次提交: OnebotCatalog 项目代码与文档(含 NX 按需生成服务二期、后台、一键启动)
This commit is contained in:
45
sample-data/tools/add-expressions.vb
Normal file
45
sample-data/tools/add-expressions.vb
Normal file
@@ -0,0 +1,45 @@
|
||||
' 给现有部件注入参数化表达式 (真数模做母模的管线验证用; 不改几何, 只加 bore/stroke/magOn/mountIdx)
|
||||
Option Strict Off
|
||||
Imports System
|
||||
Imports System.IO
|
||||
Imports System.Text
|
||||
Imports NXOpen
|
||||
Imports NXOpen.UF
|
||||
|
||||
Module AddExpressions
|
||||
Sub Main()
|
||||
Dim lw As ListingWindow = Session.GetSession().ListingWindow
|
||||
lw.Open()
|
||||
Dim outPath As String = Path.Combine(Directory.GetCurrentDirectory(), "KC_master.prt")
|
||||
If Not File.Exists(outPath) Then
|
||||
lw.WriteLine("部件缺失: " & outPath)
|
||||
Return
|
||||
End If
|
||||
Dim partLoadStatus1 As NXOpen.PartLoadStatus = Nothing
|
||||
Session.GetSession().Parts.OpenBaseDisplay(outPath, partLoadStatus1)
|
||||
Dim w As Part = Session.GetSession().Parts.Work
|
||||
If w Is Nothing Then
|
||||
lw.WriteLine("打开失败")
|
||||
Return
|
||||
End If
|
||||
Dim mm As NXOpen.Unit = w.UnitCollection.FindObject("MilliMeter")
|
||||
Try
|
||||
If mm IsNot Nothing Then
|
||||
w.Expressions.CreateExpressionWithUnit("Number", "bore=32", mm)
|
||||
w.Expressions.CreateExpressionWithUnit("Number", "stroke=10", mm)
|
||||
Else
|
||||
w.Expressions.CreateExpression("Number", "bore=32")
|
||||
w.Expressions.CreateExpression("Number", "stroke=10")
|
||||
End If
|
||||
w.Expressions.CreateExpression("Number", "magOn=0")
|
||||
w.Expressions.CreateExpression("Number", "mountIdx=0")
|
||||
lw.WriteLine("表达式已注入")
|
||||
Catch ex As Exception
|
||||
lw.WriteLine("表达式注入失败: " & ex.Message)
|
||||
Return
|
||||
End Try
|
||||
Dim pss As NXOpen.PartSaveStatus = w.Save(NXOpen.BasePart.SaveComponents.True, NXOpen.BasePart.CloseAfterSave.False)
|
||||
If pss IsNot Nothing Then pss.Dispose()
|
||||
lw.WriteLine("已保存: " & outPath)
|
||||
End Sub
|
||||
End Module
|
||||
Reference in New Issue
Block a user