@@ -2035,10 +2035,11 @@ def name(self):
20352035
20362036class FamilyParamOption (TemplateListItem ):
20372037 """Level wrapper for :func:`select_family_parameters`."""
2038- def __init__ (self , fparam , builtin = False , labeled = False ):
2038+ def __init__ (self , fparam , builtin = False , labeled = False , associated = False ):
20392039 super (FamilyParamOption , self ).__init__ (fparam )
20402040 self .isbuiltin = builtin
20412041 self .islabeled = labeled
2042+ self .isassociated = associated
20422043
20432044 @property
20442045 def name (self ):
@@ -2727,7 +2728,8 @@ def select_family_parameters(family_doc,
27272728 include_instance = True ,
27282729 include_type = True ,
27292730 include_builtin = True ,
2730- include_labeled = True ):
2731+ include_labeled = True ,
2732+ include_associated = True ):
27312733 """Standard form for selecting parameters from given family document.
27322734
27332735 Args:
@@ -2742,6 +2744,8 @@ def select_family_parameters(family_doc,
27422744 include_type (bool, optional): list type parameters
27432745 include_builtin (bool, optional): list builtin parameters
27442746 include_labeled (bool, optional): list parameters used as labels
2747+ include_associated (bool, optional):
2748+ list parameters associated to others
27452749
27462750 Returns:
27472751 (list[DB.FamilyParameter]): list of family parameter objects
@@ -2779,10 +2783,15 @@ def select_family_parameters(family_doc,
27792783 if not include_labeled and family_param .Id in label_param_ids :
27802784 continue
27812785
2786+ associated_to_others = not (family_param .AssociatedParameters .IsEmpty )
2787+ if not include_associated and associated_to_others :
2788+ continue
2789+
27822790 param_defs .append (
27832791 FamilyParamOption (family_param ,
27842792 builtin = get_elementid_value (family_param .Id ) < 0 ,
2785- labeled = family_param .Id in label_param_ids )
2793+ labeled = family_param .Id in label_param_ids ,
2794+ associated = associated_to_others )
27862795 )
27872796
27882797 param_defs .sort (key = lambda x : x .name )
@@ -2796,6 +2805,7 @@ def select_family_parameters(family_doc,
27962805 'Type Parameters' : [x for x in param_defs if x .istype ],
27972806 'Built-in Parameters' : [x for x in param_defs if x .isbuiltin ],
27982807 'Used as Label' : [x for x in param_defs if x .islabeled ],
2808+ 'Associated to Others' : [x for x in param_defs if x .isassociated ],
27992809 },
28002810 title = title ,
28012811 button_name = button_name ,
0 commit comments