首页 > 解决方案 > 如何将使用“Out”参数的 C# 方法转换为 Python

问题描述

我正在使用 Revit API,但在执行这段代码时遇到了一些麻烦。我知道 C# 中的“out”参数在 Python 中不受尊重,所以我想问是否有任何方法可以将此方法转换为 Python 代码以便可以执行。

我在这里留下了 Revit API 文档的链接: https ://www.revitapidocs.com/2020/5d34b8dd-9137-da2f-9df7-172304d0cc08.htm

提前致谢。

C#版本:

public class FamilyLoadOptions : IFamilyLoadOptions
    {
        public bool OnFamilyFound(bool familyInUse, out bool overwriteParameterValues)
        {
            overwriteParameterValues = true;
            return true;
        }

        public bool OnSharedFamilyFound(Family sharedFamily, bool familyInUse, out FamilySource source, out bool overwriteParameterValues)
        {
            source = FamilySource.Family;
            overwriteParameterValues = true;
            return true;
        }

    }


Family loadedFamily = null;

var success = doc.LoadFamily(localPath, new FamilyLoadOptions(), out loadedFamily);

我在 Python 中的版本:

class FamilyLoadOptions(IFamilyLoadOptions):
    def OnFamilyLoad(familyInUse, overwriteParameterValues):
        overwriteParameterValues = True
        return True
    
    def OnsharedFamilyFound(sharedFamily, familyInUse, source, overwriteParameterValues):
        overwriteParameterValues = True
        return True

ref = clr.Reference[Family]()

doc.LoadFamily(familyPath, FamilyLoadOptions(), ref)    

标签: pythonc#revit-apiout-parameters

解决方案


推荐阅读