iLogic iProperties example

Top  Previous  Next

Here you go:


Option Explicit


Public Sub Main()


   ' Get the Documents collection object.

   Dim invDocs As Documents

   invDocs = ThisApplication.Documents

   Dim sExt As String


   ' Iterate through the contents of the Documents collection.

   Dim invDocument As Document

   Dim SubDoc As Document


   Dim Asm As AssemblyDocument

   Dim DocsInAsm As DocumentsEnumerator

   Dim SubDocAsAsm As AssemblyDocument


   For Each invDocument In invDocs

       ' Display the full filename of the document in the Immediate window.


       If invDocument.DocumentType = kAssemblyDocumentObject Then

            Asm = invDocument

            DocsInAsm = Asm.AllReferencedDocuments

            MessageBox.Show ("Assembly " & invDocument.FullFileName & " has " & DocsInAsm.Count & " sub documents")

            ListUserParameters (Asm)

       End If




End Sub


Private Sub ListUserParameters(ByRef Asm As AssemblyDocument)

   Dim oDef As AssemblyComponentDefinition

   Dim AsmUserParams As UserParameters

   Dim AsmUserParam As UserParameter


   Dim doc As Document

   doc = ThisApplication.ActiveDocument


   ' Get the custom property set.

   Dim customPropSet As PropertySet

   customPropSet = doc.PropertySets.Item("Inventor User Defined Properties")


       Dim customProp As Object


       customProp = customPropSet.Item ("CIRCUITS")


   oDef = Asm.ComponentDefinition

   AsmUserParams = oDef.Parameters.UserParameters


   For Each AsmUserParam In AsmUserParams

       ' Debug.Print ("param is <" & UserParam.Name & ">")

       If AsmUserParam.Name = "CIRCUITS" Then

           MessageBox.Show ("CIRCUITS = " & AsmUserParam.ModelValue)

                       customProp.Value = AsmUserParam.ModelValue

       End If



End Sub



Enter topic text here.

Text, images and diagrams © 2021 Owen F. Ransen. All rights reserved. (But copy the source code as much as you want!)