Attribute VB_Name = "Module1" Sub main() Dim objApp As SolidEdgeFramework.Application Dim objDoc As SolidEdgePart.PartDocument Dim objModel As SolidEdgePart.Model Dim objThreads As SolidEdgePart.Threads Dim objThread As SolidEdgePart.Thread Dim objHoleColl As SolidEdgePart.HoleDataCollection Dim objHoleData As SolidEdgePart.HoleData Dim objVars As SolidEdgeFramework.Variables Dim objVar1 As SolidEdgeFramework.Variable Dim TESTFILE As String TESTFILE = "c:\temp\Part1.par" ' Report errors Const PI = 3.14159265358979 ' Create/get the application with specific settings On Error Resume Next Set objApp = GetObject(, "SolidEdge.Application") 'If Err Then 'Err.Clear 'Set objApp = CreateObject("SolidEdge.Application") 'Set objDoc = objApp.Documents.Open(TESTFILE) Set objDoc = objApp.Documents.Open(TESTFILE) ' Get the model object in the test case Set objModel = objDoc.Models(1) 'Get the Threads Object for the Model Set objThreads = objModel.Threads Set objThread = objThreads.Item(1) Set objVars = objDoc.Variables Set objHoleData = objThread.HoleData Dim m As Long Dim l As Long m = 20 l = 60 objHoleData.ThreadDescription = "sdfasd" objHoleData.ThreadExternalDiameter = m / 2000 objHoleData.ThreadNominalDiameter = m / 1000 objDoc.HoleDataCollection.Item(1).ThreadDescription = "sdf" objDoc.HoleDataCollection.Item(1).ThreadMinorDiameter = m / 1000 objDoc.HoleDataCollection.Item(1).ThreadNominalDiameter = m * 1.2 / 1000 objDoc.HoleDataCollection.Item(1).ThreadExternalDiameter = m / 1000 objDoc.Recompute Call objVars.Edit("M", m) Call objVars.Edit("l", l) End Sub