Revit SDK 介绍:CreateAirHandler 创建户式风管机

这篇具有很好参考价值的文章主要介绍了Revit SDK 介绍:CreateAirHandler 创建户式风管机。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

这个例子介绍如何通过 API 创建一个户式风管机族的内容,包含几何和接头。

内容

Revit SDK 介绍:CreateAirHandler 创建户式风管机,Revit SDK 介绍,C#

效果

Revit SDK 介绍:CreateAirHandler 创建户式风管机,Revit SDK 介绍,C#

核心逻辑

  1. 必须打开机械设备的族模板
  2. 创建几何实体来表示风管机
  3. 创建风机的接头

创建几何实体来表示风管机

例子中创建了多个拉伸,下面仅截取一段代码:

// 创建一个 curve 数组
curves = app.NewCurveArray();
curves.Append(Line.CreateBound(profileData[i, 0], profileData[i, 1]));
curves.Append(Line.CreateBound(profileData[i, 1], profileData[i, 2]));
curves.Append(Line.CreateBound(profileData[i, 2], profileData[i, 3]));
curves.Append(Line.CreateBound(profileData[i, 3], profileData[i, 0]));

// 创建一个轮廓,curve数组的数组
profile = app.NewCurveArrArray();
profile.Append(curves);

// 创建参考平面
plane = Plane.CreateByNormalAndOrigin(sketchPlaneData[i, 0], sketchPlaneData[i, 1]);
sketchPlane = SketchPlane.Create(m_document, plane);

// 创建一个拉伸
extrusions[i] = f.NewExtrusion(isSolid[i], profile, sketchPlane,extrusionOffsets[i, 1]);
extrusions[i].StartOffset = extrusionOffsets[i, 0];

// 把拉伸加入数组,方便后续的几何合并
m_combineElements.Append(extrusions[i]);

创建风机的接头

例子中有四个接头,两个风管,两个水管。

// 风管接头的例子,创建及设置参数
ConnectorElement connReturnAir = ConnectorElement.CreateDuctConnector(m_document, DuctSystemType.ReturnAir, ConnectorProfileType.Rectangular, m_planarFaces[0].Reference);
param = connReturnAir.get_Parameter(BuiltInParameter.CONNECTOR_HEIGHT);
param.Set(connectorDimensions[1, 0]);
param = connReturnAir.get_Parameter(BuiltInParameter.CONNECTOR_WIDTH);
param.Set(connectorDimensions[1, 1]);
param = connReturnAir.get_Parameter(BuiltInParameter.RBS_DUCT_FLOW_DIRECTION_PARAM);
param.Set(1);
param = connReturnAir.get_Parameter(BuiltInParameter.RBS_DUCT_FLOW_CONFIGURATION_PARAM);
param.Set(1);
param = connReturnAir.get_Parameter(BuiltInParameter.RBS_DUCT_FLOW_PARAM);
param.Set(flow);
// 水管接头的例子,创建及设置参数
ConnectorElement connSupplyHydronic = ConnectorElement.CreatePipeConnector(m_document, PipeSystemType.SupplyHydronic, m_planarFaces[0].Reference);
param = connSupplyHydronic.get_Parameter(BuiltInParameter.CONNECTOR_RADIUS);
param.Set(arcRadius);
param = connSupplyHydronic.get_Parameter(BuiltInParameter.RBS_PIPE_FLOW_DIRECTION_PARAM);
param.Set(2);

创建机电接头的接口

namespace Autodesk.Revit.DB
{
    public class ConnectorElement : Element, IConnector
    {
        public virtual Transform CoordinateSystem { get; }
        public bool IsPrimary { get; }
        public MEPSystemClassification SystemClassification { get; set; }
        public XYZ Direction { get; }
        public virtual double Width { get; }
        public virtual ConnectorProfileType Shape { get; }
        public virtual XYZ Origin { get; }
        public virtual double Radius { get; }
        public virtual double Height { get; }
        public virtual Domain Domain { get; }
        public static ConnectorElement CreateCableTrayConnector(Document document, Reference planarFace, Edge edge);
        public static ConnectorElement CreateCableTrayConnector(Document document, Reference planarFace);
        public static ConnectorElement CreateConduitConnector(Document document, Reference planarFace, Edge edge);
        public static ConnectorElement CreateConduitConnector(Document document, Reference planarFace);
        public static ConnectorElement CreateDuctConnector(Document document, DuctSystemType ductSystemType, ConnectorProfileType profileShape, Reference planarFace);
        public static ConnectorElement CreateDuctConnector(Document document, DuctSystemType ductSystemType, ConnectorProfileType profileShape, Reference planarFace, Edge edge);
        public static ConnectorElement CreateElectricalConnector(Document document, ElectricalSystemType electricalSystemType, Reference planarFace);
        public static ConnectorElement CreateElectricalConnector(Document document, ElectricalSystemType electricalSystemType, Reference planarFace, Edge edge);
        public static ConnectorElement CreatePipeConnector(Document document, PipeSystemType pipeSystemType, Reference planarFace);
        public static ConnectorElement CreatePipeConnector(Document document, PipeSystemType pipeSystemType, Reference planarFace, Edge edge);
        public void AssignAsPrimary();
        public void FlipDirection();
        public ConnectorElement GetLinkedConnectorElement();
        public bool IsSystemClassificationValid(MEPSystemClassification systemClassification);
        public void SetLinkedConnectorElement(ConnectorElement otherConnector);
    }
}

其它

创建几何实体来表示风管机和创建风机的接头之后都需要调用m_document.Regenerate来更新文档。文章来源地址https://www.toymoban.com/news/detail-689987.html

到了这里,关于Revit SDK 介绍:CreateAirHandler 创建户式风管机的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Revit SDK 介绍:MeasurePanelArea 统计分割表面中族的面积

    这个例子介绍如果从分割表面中,获取内部Tile(或者Panel)的族里面的几何实体的面的面积。 本例子的逻辑相对来说比较简单,主要是对 DividedSurface 和 Element 的API接口要熟悉。 设置单个面板Panel的面积上限和下限 获取所有分割表面 如果用户已经选择了分割表面,就使用当前

    2024年02月09日
    浏览(32)
  • Revit SDK 介绍:AutoStamp 自动水印 & AutoUpdate 自动更新 & CancelSave

    这三个例子都是通过注册事件来完成相应的工作,内容比较简单。 事件参考博客:Revit API:Events 事件总览 使用到的事件: 注册事件: 事件处理: 这个例子仅仅是更新了地址信息: 注册文件打开完成事件 application.ControlledApplication.DocumentOpened 事件处理函数 在文件上加入地址

    2024年02月10日
    浏览(37)
  • Revit SDK:AutoParameter 添加参数

    这个例子介绍如果往族文件里添加参数。 Revit 的参数,参考官方文档: 这个例子的关键接口: 如果是共享参数,他的定义存储在外部文件,需要通过 Autodesk.Revit.ApplicationServices.Application 的 DefinitionFile OpenSharedParameterFile() 读取共享参数。从 DefinitionFile 获取 DefinitionGroups ,从

    2024年02月10日
    浏览(35)
  • Revit 3D高效处理:cad exchanger sdk 3.21 Crack

    3D 格式概述:Revit Revit 已成为寻求高效、准确的建筑信息建模的专业人士的首选解决方案。在这篇引人入胜的功能概述中了解 Revit 的特性和影响。 什么是Revit? Autodesk Revit 是一款流行的 CAD 软件,重点关注 BIM,被建筑师、工程师、设计师和承包商广泛使用。它最初由 Charle

    2024年02月11日
    浏览(48)
  • Revit SDK:SpatialFieldGradient 在面上显示渐变颜色(AVF)分析显示样式

    这个例子使用Revit显示样式功能将面显示成不同的颜色。分析显示样式参考官方文档。 效果: 核心逻辑: 得到一个 SpatialFieldManager 拾取一系列的面: uiDoc.Selection.PickObjects(ObjectType.Face) 计算面上的 UV 值,以及对应的颜色值 应用到对应的面: sfm.UpdateSpatialFieldPrimitive 核心代码

    2024年02月10日
    浏览(44)
  • Revit中如何创建一个台阶梯?

    拉伸作为族环境中最常用的工具之一,操作简单,用处十分巨大下面用一个台阶的创建步骤,带你们更加了解拉伸的使用。 新建一个族样板,选择公制常规模型,接下来我们要绘制一个类似于这样的简单台阶   首先绘制台阶侧旁的构件,需要在立面图进行绘制,拉伸必须要

    2024年02月16日
    浏览(39)
  • Revit中如何创建曲面嵌板及一键成板

    一、Revit中如何创建曲面嵌板 在我们的绘图过程中可能会遇见一些曲面形状,而我们的常规嵌板没办法满足我们绘制的要求,我们今天学习如何在revit中绘制曲面嵌板。 1.新建“自适应公制常规模型”族,创建4个点图元并为其使用自适应。   2.在相同的位置再创建4个点(通过

    2024年02月04日
    浏览(42)
  • Revit中如何创建水的效果及基坑?

    一、Revit中如何创建水的效果? 我们在创建建筑的时候会遇上小池塘啊小池子之类的装饰景观,Revit又不像专业的3D软件那样可以有非常真实的水的效果,那么我们该如何简单创建水呢?下面来看步骤: 1、 在水池位置创建一块楼板,并将该楼板加厚           2、 编辑类型,改

    2024年02月16日
    浏览(33)
  • Vivado SDK工程创建指南

    在完成工程创建后,详见: Vivado使用指南 第一步先选择主页左侧菜单栏中的模块创建,如下图所示: 可自定义模块名称,然后选择ok即可。 输入zynq后,双击该IP核完成创建。 最后我们可以得到如下图所示模块: 接着双击该IP核进行设置,我们可以看到ZYNQ模块的结构框图。

    2023年04月08日
    浏览(39)
  • VIVADO2022 sdk 工程创建流程

    正点原子uart历程复现 create block design(起名 为System) - open block design - +号/IP catalog 中搜索zynq 双击打开, 将和pl相关的时钟都干掉 再auto 布线一下 把herarchy中的sources 中的system.bd右键、 无脑下一步导出 如果不能无脑下一步,生成遇到错误,找其他的工程试试,大概率工程的问

    2024年02月14日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包