Community
Inventor Programming - iLogic, Macros, AddIns & Apprentice
Inventor iLogic, Macros, AddIns & Apprentice Forum. Share your knowledge, ask questions, and explore popular Inventor topics related to programming, creating add-ins, macros, working with the API or creating iLogic tools.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Convert model parameter to reference parameter

4 REPLIES 4
SOLVED
Reply
Message 1 of 5
tclayton
753 Views, 4 Replies

Convert model parameter to reference parameter

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?

4 REPLIES 4
Message 2 of 5
jletcher
in reply to: tclayton

Property Driven() As VARIANT_BOOL

 

Message 3 of 5
tclayton
in reply to: jletcher

Sorry, I didn't get that answer.

Has anyone put the " ModelParameter.Convert to Reference Parameter" Method? 

Message 4 of 5
Vladimir.Ananyev
in reply to: tclayton

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,


Vladimir Ananyev
Developer Technical Services
Autodesk Developer Network

Message 5 of 5
tclayton
in reply to: Vladimir.Ananyev

Excellent answer, thank you

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report