I need to convert a model parameter to a reference parameter thru the API.
I saw this item discussed in the group before, but I cant find the thread.
Can anyone help me out?
Solved! Go to Solution.
ConvertToReferenceParameter method works fine but not for built-in model parameters. See help. If you create model parameter programmatically then you are free to call this method. Try the following VBA sample.
Private Sub Model2Refs_1() Dim oDef As PartComponentDefinition Set oDef = ThisApplication.ActiveDocument.ComponentDefinition Dim oPars As Parameters Set oPars = oDef.Parameters Dim oModelPars As ModelParameters Set oModelPars = oPars.ModelParameters Dim oModelPar As ModelParameter 'create model parameter (not built-in) Set oModelPar = oModelPars.AddByExpression("333 mm", "mm", "NonBuiltIn") 'change its type to reference Call oModelPar.ConvertToReferenceParameter End Sub
You may control Boolean Driven property of dimension constraints. Create new part with the rectangle on the first sketch + create pair of dimensions (so you will get pair of model parameters). The following VBA code convert parameter which controls the first dimension constraint to reference type.
Private Sub Model2Refs_2() Dim oDoc As PartDocument Set oDoc = ThisApplication.ActiveDocument Dim oDef As PartComponentDefinition Set oDef = oDoc.ComponentDefinition Dim oSketch As PlanarSketch Set oSketch = oDef.Sketches.Item(1) Dim oDims As DimensionConstraints Set oDims = oSketch.DimensionConstraints Dim oDim As TwoPointDistanceDimConstraint Set oDim = oDims.Item(1) oDim.Driven = True End Sub
Hope the idea is clear.
Cheers,
Can't find what you're looking for? Ask the community or share your knowledge.