Sub SetModelXdata(xdModel As ModelReference, xdAppName As String, xdType As MsdXDatumType, xdvalue)
Dim Xdata() As XDatum
Dim xd_i As Integer
If xdModel.HasXData(xdAppName) Then
        Xdata = xdModel.GetXData(xdAppName)
        For xd_i = LBound(Xdata) To UBound(Xdata)
            With Xdata(xd_i)
                If .Type = xdType Then .value = xdvalue
            End With
        Next
Else
        'AppendXDatum Xdata, msdXDatumTypeControlString, "{"
        AppendXDatum Xdata, xdType, xdvalue
        'AppendXDatum Xdata, msdXDatumTypeControlString, "}"
End If
xdModel.SetXData xdAppName, Xdata
End Sub
'得到模型的扩展数据
Function getModelXdata(xdModel As ModelReference, xdAppName As String, xdType As MsdXDatumType)
Dim Xdata() As XDatum
Dim xd_i As Integer
If xdModel.HasXData(xdAppName) Then
        Xdata = xdModel.GetXData(xdAppName)
        For xd_i = LBound(Xdata) To UBound(Xdata)
            With Xdata(xd_i)
                If .Type = xdType Then getModelXdata = .value
            End With
        Next
Else
getModelXdata = ""
End If
End Function
注意,在第二个函数的定义时没有明确指定其返回类型,是因为扩展数据的值有多种类型,使用了VB的自由变量,这些函数在本人开发的断面处理程序中能正常运行。
TAG: 测量
发表评论
【声明】 路桥吾爱刊载的资讯及其他内容均由网友提供分享 并且纯属作者个人观点,不表示路桥吾爱同意其说法或描述,仅为提供更多信息,也不构成任何建议。网友转载请注明原作者姓名及出处。如有侵犯到您的版权,请与我们联系,我们会马上进行重新整理!