Get Connector Associated Parameter

Does anyone know how to get a connectors associated parameters? I’m specifically trying to get the parameter that controls the connector’s radius. This is what I have below (I’m just testing stuff, please be kind), but I can’t seem to get “print(info.GetAssociateFamilyParameterId(c.Id))” to work.

for sE in selectedElements:
    print(sE)
    try:
        conn = sE.MEPModel.ConnectorManager.Connectors
        print("Collected")
        for c in conn:
            info = c.GetMEPConnectorInfo()
            print(info)
            print(info.ToString())
            #famInfo = c.MEPFamilyConnectorInfo
            #print(famInfo)
            connectorParameterId = c.Id
            print(connectorParameterId)
            print(info.GetAssociateFamilyParameterId(c.Id))
            connParameter = info.GetAssociateFamilyParameterId(c.Id)
            #connParaValue = info.GetAssociateParameterValue
            print(connParameter)
    except:
        print("Nope")
1 Like

@Crapai ,

i found this script… maybe you can modify it. i use pickObject methode

grafik


# 🎳 Revit Variables
uidoc     = __revit__.ActiveUIDocument
doc       = __revit__.ActiveUIDocument.Document #type: Document
app       = __revit__.Application
selection = uidoc.Selection #type: Selection

# 🎯 pick object

ref_picked_object = selection.PickObject(ObjectType.Element)
picked_object     = doc.GetElement(ref_picked_object)


# 🥁 get Info
if isinstance(picked_object, list):
    fittings = picked_object
    toggle = 0
else:
    toggle = 1
    fittings = [picked_object]


def getConnSysType(connector):
    domain = connector.Domain
    if domain == Domain.DomainHvac:
        return connector.DuctSystemType.ToString()
    elif domain == Domain.DomainPiping:
        return connector.PipeSystemType.ToString()
    elif domain == Domain.DomainElectrical:
        return connector.ElectricalSystemType.ToString()
    else:
        return None


p = []
dir = []
fd = []
ref = []
conns = []
descript = []
H = []
W = []
R = []
MEP = []
Sys = []
Shap = []
sysClass = []

for fitting in fittings:

    points = []
    direction = []
    flowdir = []
    refs = []
    connlist = []
    description = []
    height = []
    width = []
    radius = []
    MEPSystem = []
    systemType = []
    shape = []
    systemclass = []

    try:
        connectors = fitting.MEPModel.ConnectorManager.Connectors
    except:
        try:
            connectors = fitting.ConnectorManager.Connectors
        except:
            p.append(None)
            dir.append(None)
            fd.append(None)
            ref.append(None)
            conns.append(None)
            descript.append(None)
            H.append(None)
            W.append(None)
            R.append(None)
            Shap.append(None)
            MEP.append(None)
            Sys.append(None)
            sysClass.append(None)
            continue
    for conn in connectors:
        connlist.append(conn)
        description.append(conn.Description)
        try:
            height.append(conn.Height)
            width.append(conn.Width)
            radius.append(None)
        except:
            try:
                radius.append(conn.Radius)
                height.append(None)
                width.append(None)
            except:
                radius.append(None)
                height.append(None)
                width.append(None)
        shape.append((conn.Shape).ToString())

        try:
            MEPSystem.append(conn.MEPSystem.Name)
            systype = doc.GetElement(conn.MEPSystem.GetTypeId())
            systemType.append(systype)
        except:
            MEPSystem.append(None)
            systemType.append(None)

        try:
            systemclass.append(getConnSysType(conn))
        except:
            systemclass.append(None)

        points.append(conn.Origin)
        direction.append(conn.CoordinateSystem.BasisZ)

        try:
            flowdir.append(conn.Direction.ToString())
        except:
            flowdir.append(None)
        for c in conn.AllRefs:
            refs.append(c.Owner)
    p.append(points)
    dir.append(direction)
    fd.append(flowdir)
    ref.append(refs)
    conns.append(connlist)
    descript.append(description)
    H.append(height)
    W.append(width)
    R.append(radius)
    MEP.append(MEPSystem)
    Sys.append(systemType)
    Shap.append(shape)
    sysClass.append(systemclass)

# 🍉 Assign your output to print.
if toggle:
    print(points, flowdir, refs, direction, connlist, description, height, width, radius, MEPSystem, systemType, shape, systemclass)
else:
    print(p, fd, ref, dir, conns, descript, H, W, R, MEP, Sys, Shap, sysClass)