前言

画一条线,然后沿着这条线来对房间进行编号。(前同事也做过类似的操作,好久不见,写个脚本做个纪念。)

房间编号效果

在这个例子里面采用了样条曲线,实际上多段线或者其它类型的线应该也是没有问题的。这个例子的关键点在于如何对房间从近到远进行排序,虽然从肉眼一下子就能看到房间的位置和顺序,但是对于计算机来说,它是不知道这些信息的,需要你来告诉它。

Dynamo 脚本逻辑

要完成这个功能:

  1. 选择一条线(需用户手绘)
  2. 对房间进行过滤(通过类别,楼层和面积)
  3. 输入曲线和房间的几何图形求交,然后按照距离由近到远进行排序
  4. 对房间由近到远进行编号

选择一条线

这条线需用户手绘。

对房间进行过滤

通过类别,楼层和面积来对房间进行过滤,将不可见的和不符合条件的房间过滤掉。

几何求交、排序

输入曲线和房间的几何图形求交,然后按照距离由近到远进行排序。

对房间由近到远进行编号

房间由近到远进行编号:0, 1, 2, 3, 4 …

总图

总结

这个例子的难点在于排序,使用节点List.SortIndexByValue,它可以对一个 List 进行排序,然后得到他们的索引。再用这个索引做为节点 List.GetItemAtIndex 的输入即可得到排序后的 List。

Dynamo For Revit:房间编号相关推荐

  1. Dynamo For Revit: 创建镂空圆柱面

    如何使用Dynamo For Revit 创建一个镂空圆柱面? 效果如下: 右击在新的标签页打开更加清楚.(已经对节点进行分组并加了注释) Python 节点中的代码(求输入的表面中面积最大的一个): ...

  2. 轴添加点击事件_Q群答疑丨如何批量修改Revit轴网编号,为它添加前缀?

    点击上方"蓝字"关注我们 群里小伙伴问到:想把轴网的编号从A.B.C...... 批量修改成DA.DB.DC......应该怎样操作? 答:修改轴网的符号族,统一添加一个前缀&qu ...

  3. Dynamo For Revit: NurbsCurve

    前言 三维建模总是逃不过样条曲线,Dynamo支持 NurbsCurve. Nurbs 介绍 百度百科: NURBS是一种非常优秀的建模方式,在高级三维软件当中都支持这种建模方式.NURBS能够比传统 ...

  4. Dynamo For Revit: 铺地砖

    前言 本文介绍如何用 Dynamo 铺地砖,仅仅是演示版,把基本思想梳理一下. 地砖效果 可以适用于不规则的地块,地砖长和宽可以调整. Dynamo 脚本逻辑 要完成这个功能: 找到要铺地砖的平面,设 ...

  5. Dynamo For Revit: 多边行花瓶

    概述 利用 Dynamo 的几何造型功能创建一个多边形的花瓶.花瓶的水平截面是一个多边形,两头大中间小.做这个例子的目的主要是为了熟悉 Dynamo 的 list 以及几何节点. 步骤 创建一个递增序 ...

  6. Dynamo For Revit: List 连缀 和 Level

    前言 本文介绍 Dynamo 中 List 的连缀和 Level,以及他们在 Design Script 里面的表示形式. 内容 下面介绍 Dynamo 中 List 的连缀和 Level. 连缀 最 ...

  7. Dynamo For Revit: 快速体育场造型

    前言 使用 Dynamo 迅速创建一个体育场造型. 内容 效果: 创建步骤: 创建底面椭圆 创建顶面椭圆 创建中心椭圆 得到三个椭圆上的等分点 每3个点加上他们的重心,4个点做一个面 输入以及各步骤对 ...

  8. Dynamo For Revit:宜家小方桌

    宜家小方桌 宜家的小方桌,一个简单的桌面,加上4条腿,看似简单,如何通过Dynamo来把它画出来呢? 进行分析: 桌面和桌腿要分开 桌面的长和宽是一样的 桌腿的长和宽是一样的 桌腿的边缘和桌面的边缘的 ...

  9. Dynamo For Revit : 梦露大厦简单实现

    简介 梦露大厦,看到很多和 Dynamo 有关的地方都有人提到这个,以及如何实现.我也动手写了一个,觉得还挺适合的.思路其实很简单: 画一个椭圆 根据这个椭圆,做一系列椭圆,每个椭圆有一定旋转角度 根 ...

最新文章

  1. Android RecyclerView实现横向滚动
  2. MySQL高级 - 常用工具 - mysqladmin
  3. c语言打印字符的函数参数,C语言格式化打印函数vsnprintf()的实现
  4. adapter对象的更新操作
  5. FLASH与ASP.NET通讯[Flash | CS3 | ActionScript | ASP.NET | FluorineFx ]
  6. 在windows上传一个新的项目到GitHub上
  7. MongoDB 之聚合函数查询统计
  8. 桌面支持--outlook会议邀请(选择可选参加的领导)
  9. c语言小车路径规划算法,小车自动避障及路径规划.doc
  10. 私密智能搜题小助手,支持智能图片识别和智能复制,支持多接口
  11. 详解动态代理及其实现原理
  12. 如何c51和mdk共存兼容_解决KeilMDK和KeilC51的兼容性——如何只用一个keil软件既可编译51核又可编译ARM核...
  13. 基本磁盘与动态磁盘 RAID磁盘冗余阵列区分(简单了解各种卷组)
  14. 关于大学中软件工程课程的开设问题——不要把实践性科学当作理论性学科来教授...
  15. jack-server配置
  16. 苹果Mac合上屏幕怎样才能不休眠?
  17. 【pytest】pytest配置文件pytest.ini详解
  18. aegisub用的是java还是c,aegisub
  19. oracle ogg搭建
  20. 2019浙大计算机考研经验贴

热门文章

  1. 【观察】站在亚马逊云科技re:Invent舞台看未来,释放技术创新澎湃力量
  2. 不属于python关键字的有_下面不属于python关键字的有
  3. 网页设计与制作:第一章HTML与CSS网页设计概述与第二章HTML入门
  4. PVE 7 虚拟化 Intel UHD630 WIN10 UEFI 关机后 无法启动问题 显卡无法安装问题 intel 显核驱动 错误代码8 问题 解决方案
  5. matplotlib实现按钮以及鼠标响应事件
  6. openGauss 社区贡献排行榜发布,云和恩墨位列伙伴贡献第一
  7. 2022-2027年中国共享充电宝市场规模现状及投资规划建议报告
  8. 推荐一款好用的Linux模拟器
  9. win10系统启动AppScan时提示管理员已阻止运行该应用
  10. 【流媒体|从入门到出家】:零,开始