public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
{
UIApplication UIP = commandData.Application;
Autodesk.Revit.ApplicationServices.Application APP = UIP.Application;
UIDocument UIDOC = UIP.ActiveUIDocument;
Autodesk.Revit.DB.Document doc = UIDOC.Document;
Selection Sle = UIDOC.Selection;
if (Sle.GetElementIds().ToList().Count>0)
{
using (Transaction transaction = new Transaction(doc))
{
transaction.Start("可见性");
FamilyInstance familyInstance = doc.GetElement(Sle.GetElementIds().ToList()[0] as ElementId) as FamilyInstance;
ParameterMap parameterSet = familyInstance.ParametersMap;
List<string> names = new List<string>();
foreach (var item in parameterSet)
{
Parameter parameterA = item as Parameter;
if (parameterA.Definition.ParameterGroup == BuiltInParameterGroup.INVALID)
{
names.Add((doc.GetElement(parameterA.Id) as ParameterElement).Name);
}
}
foreach (var name in names)
{
FamilyInstance familyInstanceA = doc.GetElement(ElementTransformUtils.CopyElement(doc, familyInstance.Id, new XYZ(0, 0, 0)).ToList()[0]) as FamilyInstance;
foreach (var n in names)
{
if (name == n)
{
familyInstanceA.GetParameters(name)[0].Set(1);
}
else
{
familyInstanceA.GetParameters(n)[0].Set(0);
}
}
}
doc.Delete(familyInstance.Id);
TaskDialog.Show("创建结果", "成功");
transaction.Commit();
}
}
return Result.Succeeded;
}
有解决方案了吗,我也遇到了
看起来您在 C# 代码中遇到编译时错误,提示“找不到类型或命名空间名称‘X’(是否缺少 using 指令或程序集引用?)”。当编译器找不到您的代码中引用的类型或命名空间时,会发生此错误。
此错误有几个可能的原因:
要排除此错误,您需要确定其中哪些原因与您的情况相关并采取适当的措施。如果您不确定如何修复错误,您可能需要做一些额外的研究或向熟悉代码库的开发人员寻求帮助。