VBA, VB.NET For Creo
IpfcParameterOwner (Managing creo parameters)
ToolBOX01
2025. 1. 18. 09:34
반응형
□ IpfcParameterOwner 소개
Parameter 소유자와 관련된 Parameter 목록을 제공하는 기능입니다. 이를 통해 사용자는 Parameter를 상호작용적으로 선택할 수 있습니다. 또한, 특정 이름으로 지정된 Parameter를 검색할 수 있습니다
▷ Parameter 소유자와 관련된 다양한 기능을 제공합니다. 주요 기능은 다음과 같습니다:
- CreateParam: 지정된 이름과 값을 가진 파라미터를 데이터베이스에 추가하고 반환합니다.
- CreateParamWithUnits: 단위가 있는 파라미터를 생성하고 초기화합니다.
- GetParam: 이름으로 지정된 파라미터를 검색합니다.
- ListParams: 파라미터 소유자와 관련된 파라미터 목록을 제공합니다.
- SelectParam: 사용자가 목록에서 파라미터를 상호작용적으로 선택할 수 있게 합니다.
- SelectParameters: 파라미터 선택 옵션에 따라 목록에서 파라미터를 상호작용적으로 선택할 수 있게 합니다
참고)
Direct Known Subclasses:
IpfcModelItem, IpfcModel, IpfcMaterial
"Direct Known Subclasses" 의미
IpfcModel 클래스는 IpfcParameterOwner 인터페이스의 메서드와 속성을 사용할 수 있도록 정의되어 있습니다.
Dim Model As pfcls.IpfcModel
Dim ParameterOwner As pfcls.IpfcParameterOwner
set ParameterOwner = Model
▷ Code to get parameter names and values stored in model
Dim Model As pfcls.IpfcModel
Dim ParameterOwner As IpfcParameterOwner
Dim Parameters As IpfcParameters
Dim ParameterObject As Object
Dim ParamValue As IpfcParamValue
Dim i As Integer
Set ParameterOwner = model
Set Parameters = ParameterOwner.ListParams()
For i = 0 To Parameters.Count - 1
Set ParameterObject = Parameters.Item(i)
Set ParamValue = ParameterObject.Value
Ddburg.Print ParameterObject.Name
If ParamValue.discr = 0 Then
Ddburg.Print ParamValue.StringValue
ElseIf ParamValue.discr = 1 Then
Ddburg.Print ParamValue.ParamValue.IntValue
ElseIf ParamValue.discr = 2 Then
Ddburg.Print ParamValue.ParamValue.BoolValue
ElseIf ParamValue.discr = 3 Then
Ddburg.Print ParamValue.DoubleValue
End If
Next i
▷ Code to get specific parameter values from the model
Dim Model As pfcls.IpfcModel
Dim ParameterOwner As pfcls.IpfcParameterOwner
Dim BaseParameter As pfcls.IpfcBaseParameter
Dim ParamValue As pfcls.IpfcParamValue
Dim ParamterName As String
ParamterName = "PART_NAME"
Set ParameterOwner = Model
Set BaseParameter = ParameterOwner.GetParam(ParamterName)
set ParamValue= BaseParameter.Value
deburg.print ParamValue.StringValue
▷ Code to modify specific parameter values
Dim Model As pfcls.IpfcModel
Dim ParameterOwner As pfcls.IpfcParameterOwner
Dim BaseParameter As pfcls.IpfcBaseParameter
Dim Parameter As IpfcParameter
Dim ParamValue As pfcls.IpfcParamValue
Dim ParamObject As New CMpfcModelItem
Dim ParamterName As String
ParamterName = "PART_NAME"
Dim PART_NAMEValue As String
PART_NAMEValue = "korea"
Set ParameterOwner = Model
Set Parameter = ParameterOwner.GetParam(ParamterName)
set BaseParameter= Parameter
set ParamValue = ParamObject.CreateStringParamValue(PART_NAMEValue)
BaseParameter.Value = ParamValue
New CMpfcModelItem.CreateBoolParamValue
New CMpfcModelItem.CreateDoubleParamValue
New CMpfcModelItem.CreateIntParamValue
New CMpfcModelItem.CreateNoteParamValue
New CMpfcModelItem.CreateStringParamValue
▷ Code to create a string type parameter
Dim Model As pfcls.IpfcModel
Dim ParameterOwner As pfcls.IpfcParameterOwner
Dim Parameter As IpfcParameter
Dim ParamObject As New CMpfcModelItem
Dim ParamValue As New CpfcParamValue
Dim ParamterName As String
ParamterName = "PART_NAME"
Dim PART_NAMEValue As String
PART_NAMEValue = "korea"
Set ParameterOwner = Model
Set ParamValue = ParamObject.CreateStringParamValue(PART_NAMEValue)
Set Parameter = ParameterOwner.CreateParam(ParamterName, ParamValue)