@@ -2035,10 +2035,11 @@ def name(self):
2035
2035
2036
2036
class FamilyParamOption (TemplateListItem ):
2037
2037
"""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 ):
2039
2039
super (FamilyParamOption , self ).__init__ (fparam )
2040
2040
self .isbuiltin = builtin
2041
2041
self .islabeled = labeled
2042
+ self .isassociated = associated
2042
2043
2043
2044
@property
2044
2045
def name (self ):
@@ -2727,7 +2728,8 @@ def select_family_parameters(family_doc,
2727
2728
include_instance = True ,
2728
2729
include_type = True ,
2729
2730
include_builtin = True ,
2730
- include_labeled = True ):
2731
+ include_labeled = True ,
2732
+ include_associated = True ):
2731
2733
"""Standard form for selecting parameters from given family document.
2732
2734
2733
2735
Args:
@@ -2742,6 +2744,8 @@ def select_family_parameters(family_doc,
2742
2744
include_type (bool, optional): list type parameters
2743
2745
include_builtin (bool, optional): list builtin parameters
2744
2746
include_labeled (bool, optional): list parameters used as labels
2747
+ include_associated (bool, optional):
2748
+ list parameters associated to others
2745
2749
2746
2750
Returns:
2747
2751
(list[DB.FamilyParameter]): list of family parameter objects
@@ -2779,10 +2783,15 @@ def select_family_parameters(family_doc,
2779
2783
if not include_labeled and family_param .Id in label_param_ids :
2780
2784
continue
2781
2785
2786
+ associated_to_others = not (family_param .AssociatedParameters .IsEmpty )
2787
+ if not include_associated and associated_to_others :
2788
+ continue
2789
+
2782
2790
param_defs .append (
2783
2791
FamilyParamOption (family_param ,
2784
2792
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 )
2786
2795
)
2787
2796
2788
2797
param_defs .sort (key = lambda x : x .name )
@@ -2796,6 +2805,7 @@ def select_family_parameters(family_doc,
2796
2805
'Type Parameters' : [x for x in param_defs if x .istype ],
2797
2806
'Built-in Parameters' : [x for x in param_defs if x .isbuiltin ],
2798
2807
'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 ],
2799
2809
},
2800
2810
title = title ,
2801
2811
button_name = button_name ,
0 commit comments