NX CAM 读取加工参数

'取加工几何试图程序组

Function GetGemoGroup_Name(ByVal camObjectTag As NXOpen.Tag) As String

Dim theGemoGroupTag As NXOpen.Tag

Dim gemoGroupName As String = ""

theUfSession.Oper.AskGeomGroup(camObjectTag, theGemoGroupTag)

theUfSession.Obj.AskName(theGemoGroupTag, gemoGroupName)

Return gemoGroupName

End Function

 

'取操作名称

Function GetToolPathName(ByVal camObjectTag As NXOpen.Tag) As String

Dim toolPathName As String = ""

theUfSession.Oper.AskNameFromTag(camObjectTag, toolPathName)

Return toolPathName

End Function

 

'获取刀具名称

Function GetToolName(ByVal camObjectTag As NXOpen.Tag) As String

Dim toolName As String = ""

Dim toolTag As NXOpen.Tag

theUfSession.Oper.AskCutterGroup(camObjectTag, toolTag)

theUfSession.Obj.AskName(toolTag, toolName)

Return toolName

End Function

 

'获取刀具号码

Function GetToolNumber(ByVal camObjectTag As NXOpen.Tag) As Integer

Dim toolTag As NXOpen.Tag

Dim toolNumber As Integer

theUfSession.Oper.AskCutterGroup(camObjectTag, toolTag)

theUfSession.Param.AskIntValue(toolTag, NXOpen.UF.UFConstants.UF_PARAM_TL_NUMBER, toolNumber)

Return toolNumber

End Function

 

'获取刀具长度

Function GetToolHeight(ByVal camObjectTag As NXOpen.Tag) As Double

Dim toolTag As NXOpen.Tag

Dim toolHeight As Double

theUfSession.Oper.AskCutterGroup(camObjectTag, toolTag)

theUfSession.Param.AskDoubleValue(toolTag, NXOpen.UF.UFConstants.UF_PARAM_TL_HEIGHT, toolHeight)

Return toolHeight

End Function

 

'获取刀具直径

Function GetToolDiameter(ByVal camObjectTag As NXOpen.Tag) As Double

Dim toolTag As NXOpen.Tag

Dim toolDiameter As Double

theUfSession.Oper.AskCutterGroup(camObjectTag, toolTag)

theUfSession.Param.AskDoubleValue(toolTag, NXOpen.UF.UFConstants.UF_PARAM_TL_DIAMETER, toolDiameter)

Return toolDiameter

End Function

 

'获取刀具刃长

Function GetToolFluteLength(ByVal camObjectTag As NXOpen.Tag) As Double

Dim toolTag As NXOpen.Tag

Dim toolFluteLength As Double

theUfSession.Oper.AskCutterGroup(camObjectTag, toolTag)

theUfSession.Param.AskDoubleValue(toolTag, NXOpen.UF.UFConstants.UF_PARAM_TL_FLUTE_LN, toolFluteLength)

Return toolFluteLength

End Function

 

'获取刀具R

Function GetToolCornerRadius(ByVal camObjectTag As NXOpen.Tag) As Double

Dim toolTag As NXOpen.Tag

Dim toolCornerRadius As Double

theUfSession.Oper.AskCutterGroup(camObjectTag, toolTag)

theUfSession.Param.AskDoubleValue(toolTag, NXOpen.UF.UFConstants.UF_PARAM_TL_COR1_RAD, toolCornerRadius)

Return toolCornerRadius

End Function

 

'取部件侧部余量

Function GetStockPart(ByVal camObjectTag As NXOpen.Tag) As Double

Dim stockPart As Double

theUfSession.Param.AskDoubleValue(camObjectTag, NXOpen.UF.UFConstants.UF_PARAM_STOCK_PART, stockPart)

Return stockPart

End Function

 

'取部件底部余量

Function GetStockFloor(ByVal camObjectTag As NXOpen.Tag) As Double

Dim stockfloor As Double

theUfSession.Param.AskDoubleValue(camObjectTag, NXOpen.UF.UFConstants.UF_PARAM_STOCK_FLOOR, stockfloor)

Return stockfloor

End Function

 

'取主轴转速

Function GetSpeedValue(ByVal camObjectTag As NXOpen.Tag) As Double

Dim speedVale As Double

theUfSession.Param.AskDoubleValue(camObjectTag, NXOpen.UF.UFConstants.UF_PARAM_SPINDLE_RPM, speedVale)

Return speedVale

End Function

 

'取进给速度

Function GetFeedValue(ByVal camObjectTag As NXOpen.Tag) As Double

Dim feedValue As Double

Dim camObject As NXOpen.TaggedObject = NXOpen.Utilities.NXObjectManager.Get(camObjectTag)

Dim params(0) As NXOpen.CAM.Operation

params(0) = CType(camObject, NXOpen.CAM.Operation)

Dim feedsBuilder1 As NXOpen.CAM.ObjectsFeedsBuilder = theSession.Parts.Work.CAMSetup.CreateFeedsBuilder(params)

feedValue = feedsBuilder1.FeedsBuilder.FeedCutBuilder.Value

feedsBuilder1.Destroy()

Return feedValue

End Function

 

'取切削时间

Function GetCutTime(ByVal camObjectTag As NXOpen.Tag) As Double

Dim cutTime As Double

theUfSession.Param.AskDoubleValue(camObjectTag, 142, cutTime)

Return cutTime

End Function

原文地址:https://www.cnblogs.com/bizca/p/5347012.html