【revit二次开发】再次重拾revit二开遇到的一些新的坑

一、代码目标平台不符的警告

所生成项目的处理器架构“MSIL”与引用“***”的处理器架构“x86”不匹配。这种不匹配可能会导致运行时失败。请考虑通过配置管理器更改您的项目的目标处理器架构,以使您的项目与引用间的处理器架构...

提示这个问题是 因为 生成目标的 处理器不对

选择项目右键属性

目标平台中选择相对应的正确的平台即可

 

二、通过revit中的 附加模块 ==》外部工具==》add in manager      可以边更改代码边调试

三、addin文件位置

C:\ProgramData\Autodesk\Revit\Addins\版本号

四、选择风管并显示其中的一个属性的实现代码

using System;
using System.Text;
using System.Threading.Tasks;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
using Autodesk.Revit.Attributes;
using Autodesk.Revit.UI.Selection;
using Autodesk.Revit.DB.Mechanical;

namespace ClassLibrary1
{
    [Transaction(TransactionMode.Manual)]
    public class Class1 : IExternalCommand
    {
        public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
            UIDocument uidoc = commandData.Application.ActiveUIDocument;
            Document doc = uidoc.Document;
            //1.选择一根风管
            Selection sel = uidoc.Selection;
            Reference r = sel.PickObject(ObjectType.PointOnElement);//reference 引用 相当于 全部实例的总类
            Element element = doc.GetElement(r);//基类
            Duct duct = element as Duct;
            if(duct == null)
            {
                return Result.Failed;
            }
            Parameter paramete = duct.get_Parameter(BuiltInParameter.RBS_CURVE_HEIGHT_PARAM);
            double s = paramete.AsDouble();
            TaskDialog.Show("doem1", s.ToString());




            return Result.Succeeded;
        }
    }
}

 

五、lookup  中通过选中一个模型查看其属性的方法

选择一截风管后通过lookup打开

其中 可以看到继承自 Element 基类

它本身是属于风管类  Duct

通过Parameters 可以查看风管的属性

不同的属性参数需要 通过不同的字段去进行调用

Parameter paramete = duct.get_Parameter(BuiltInParameter.RBS_CURVE_HEIGHT_PARAM);

 代码中是使用这一段来进行调用,其中 builtinparameter 是每个属性自带的一个参数值,可以通过 Definition 进入,然后找到相对应的参数段,即可进行调用 

 


版权声明:本文为zyandyz001原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。