创建天花——Dynamo for Revit2022

今天我们来聊一个期待已久的功能——生成天花,经过了这么多年的迭代,Revit终于开放了生成天花的API,而且功能还不错,是经过优化的,不过目前我手里还没拿到SDK,就不截图了。

而且新增的天花API不是在Document class下,而是在Ceiling下的,同时楼板也添加了相同的API,那和Document class下的NewFloor有什么区别呢?这个新的API支持直接创建带洞口的楼板了。
 

如下图这种情况,可以直接生成楼板,并把中间的洞口挖去了,方便很多:

话不多说,直接上代码:


# Copyright(c) 2019-2024, 九哥BIMer
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *clr.AddReference("RevitAPI")
import Autodesk
from Autodesk.Revit.DB import *clr.AddReference("RevitServices")
import RevitServices 
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManagerclr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.Elements)
clr.ImportExtensions(Revit.GeometryConversion)doc = DocumentManager.Instance.CurrentDBDocumentArrayCurves = IN[0]
floorType = UnwrapElement(IN[1])
levels = UnwrapElement(IN[2])floors = []TransactionManager.Instance.EnsureInTransaction(doc)
for curves in ArrayCurves:curveloops = []for crv in curves:r = []for c in crv:r.append(c.ToRevitType())curveloop = CurveLoop.Create(r)curveloops.append(curveloop)flr = Floor.Create(doc, curveloops, floorType.Id, levels.Id)floors.append(flr)
TransactionManager.Instance.TransactionTaskDone()OUT = floors

核心API如下:

flr = Floor.Create(doc, curveloops, floorType.Id, levels.Id)

和之前我那篇创建楼板的唯一区别就是API换了,其他都差不多,就不细讲了。<详见前文:创建楼板——Dynamo Python系列教程(四)>

生成天花的核心代码,也就可以类比出来了:


TransactionManager.Instance.EnsureInTransaction(doc)
for curves in ArrayCurves:curveloops = []for crv in curves:r = []for c in crv:r.append(c.ToRevitType())curveloop = CurveLoop.Create(r)curveloops.append(curveloop)cei = Ceiling.Create(doc, curveloops, ceilingType.Id, levels.Id)ceiling.append(cei)
TransactionManager.Instance.TransactionTaskDone()

最后附上完整的dynamo截图:

因为没看到API的具体内容,目前只知道生成的天花高度,是自标高的高度偏移2600,是直接调用的默认偏移值。


 

看到这,有木有一丢丢的激动呢?

好了,今天的分享就到这里,小伙伴们快去自己尝试吧~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/699368.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

axios是如何实现的(源码解析)

1 axios的实例与请求流程 在阅读源码之前&#xff0c;先大概了解一下axios实例的属性和请求整体流程&#xff0c;带着这些概念&#xff0c;阅读源码可以轻松不少&#xff01; 下图是axios实例属性的简图。 可以看到axios的实例上&#xff0c;其实主要就这三个东西&#xff1a…

Sora是什么?

文章目录 前言Sora是什么&#xff1f;功能特色优点 缺点Sora模型的工作原理如何使用Sora模型Sora模型的应用场景Sora模型带来的问题虚假信息版权问题 后记 前言 Sora是美国人工智能研究公司OpenAI发布的一款令人惊叹的人工智能文生成视频大模型。近年来&#xff0c;人工智能技…

无人机基础技术,固定翼无人机动力系统技术详解,无人机飞行控制系统技术

推重比选择 推重比&#xff0c;是指无人机发动机推力/拉力与无人机飞行重力之比。该参数是衡量动力系统乃至整机性能的重要参数&#xff0c;很大程度上影响飞行性能。固定翼无人机的动力系统在配置时选择的推重比必须达到或超出设计的推重比。 重量要求 翼载荷是无人机单位面…

07 STL 简介

目录 什么是STLSTL的版本STL的六大组件STL的重要性如何学习STLSTL的缺陷 1. 什么是STL c标准库的重要组成部分&#xff0c;不仅是一个可复用的组件库&#xff0c;而且是一个包罗数据结构和算法的软件框架 2. STL的版本 原始版本 Alexander Stepanov、Meng Lee在惠普实验室的…

java: warning: source release 11 requires target release 11 解决办法

遇到问题 运行项目时报如下错 java: warning: source release 11 requires target release 11 原因&#xff1a;创建项目的时候选择的java11版本&#xff0c;现在用java8版本运行就会报这个错 查看项目的iml文件中LANGUAGE_LEVEL“JDK_xx”是多少 .iml 文件是 IntelliJ ID…

代码随想录算法训练营第四十一天|416. 分割等和子集。

416. 分割等和子集 题目链接&#xff1a;分割等和子集 题目描述&#xff1a; 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集&#xff0c;使得两个子集的元素和相等。 解题思路&#xff1a; 本题直接套用0-1背包问题确定以下四点 1、背包…

python保存网页为PDF

在互联网时代&#xff0c;网页是我们获取信息的重要来源。然而&#xff0c;有时我们可能希望将特定的网页保存为PDF格式&#xff0c;以便在没有网络连接的情况下查看或分享。Python作为一种强大的编程语言&#xff0c;可以帮助我们实现这一需求。本文将介绍如何使用Python将网页…

数据结构:树形数据结构

1. 树的基本概念 在计算机科学中&#xff0c;树是一种非常重要的数据结构&#xff0c;用于模拟现实世界中的层次关系。它由一组节点和一组连接这些节点的边组成&#xff0c;节点之间的关系是一对多的关系&#xff0c;其中一个节点称为父节点&#xff0c;它下面的节点称为子节点…

如何将建筑白模叠加到三维地球上?

​ 通过以下方法可以将建筑白模叠加到三维地球上。 方法/步骤 下载三维地图浏览器 http://www.geosaas.com/download/map3dbrowser.exe&#xff0c;安装完成后桌面上出现”三维地图浏览器“图标。 2、双击桌面图标打开”三维地图浏览器“ 3、点击“建筑白模”菜单&…

我一直想给自己辩护

哈喽&#xff0c;大家好&#xff0c;我叫人宅&#xff0c;这里特意和大家聊聊关于我的课程问题。 很多学员私下讨论我的课程&#xff0c;太难了&#xff0c;有的甚至准备去报个培训班。即使我们花了那么大精力来做入门引导&#xff0c;还是觉得有难度。 还有课程中有嵌套课程…

欢迎 Gemma: Google 最新推出开源大语言模型

今天&#xff0c;Google 发布了一系列最新的开放式大型语言模型 —— Gemma&#xff01;Google 正在加强其对开源人工智能的支持&#xff0c;我们也非常有幸能够帮助全力支持这次发布&#xff0c;并与 Hugging Face 生态完美集成。 Gemma 提供两种规模的模型&#xff1a;7B 参数…

ES6中的Map数据结构的键可以是哪些数据类型

Map 的键可以是任何数据类型&#xff0c;包括对象、函数、原始类型等。 1. 原始类型作为键&#xff1a; let primitiveKeyMap new Map(); primitiveKeyMap.set(1, One); // 数字作为键 primitiveKeyMap.set(name, Alice); // 字符串作为键 primitiveKeyMap.set(true, True);…

浅拷贝导致的bug

错误代码&#xff1a; //初始化formTableData的值 const formTableData ref({saleOrderTime:,saleOrderDetails:[] });const showModal async (item) > {//调接口获取后端返回的数据let data (await api.searchSaleOrderById({saleOrderId:item.id})).dataconsole.log(&…

文本处理三驾马车之 sed

sed 是 stream editor 的缩写&#xff0c;中文称之为“流编辑器”。 sed command file command 部分&#xff0c;针对每行要进行的处理file&#xff0c;要处理的文件 Actions d&#xff1a;删除该行p&#xff1a;打印该行i&#xff1a;在行的前面插入新行a&#xff1a;在行的后…

全流程点云机器学习(一)使用CloudCompare自制sharpNet数据集

前言 这不是高支模项目需要嘛&#xff0c;他们用传统算法切那个横杆竖杆流程复杂耗时很长&#xff0c;所以想能不能用机器学习完成这些工作&#xff0c;所以我就来整这个工作了。 工欲善其事&#xff0c;必先利其器&#xff0c;在正式开始之前&#xff0c;我们先要搞懂如何切…

API接口实现自动化数据同步

一、API的核心作用 API是现代电子商务生态系统中不可或缺的组成部分&#xff0c;它使得不同平台和服务之间的数据共享变得可能。通过API&#xff0c;开发者可以访问到商品信息、用户评价、销售数据等&#xff0c;这些数据对于市场分析、库存管理和用户体验优化至关重要。 二、…

每日leetcode--删除有序数组中的重复项

问题描述 给定一个包含重复元素的整数列表nums&#xff0c;我们需要移除其中的重复元素&#xff0c;并返回去重后的列表长度。 题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 解决方案&#xff1a; 我们可以使用一个额外的列表来存储不重复的元素&#xff…

Linux 开启防火墙 --- FirewallD is not running 问题修复

问题 在配置SSL认证后&#xff0c;需要放开防火墙的443端口&#xff0c;出现了FirewallD is not running错误 [rootxxx ~]# firewall-cmd --zonepublic --add-port443/tcp --permanent FirewallD is not running解决 只需要开启防火墙即可。 【1】先通过systemctl status fir…

旅游分享系列之:福建旅游攻略

旅游分享系列之&#xff1a;福建旅游攻略 一、漳州1.福建土楼2.云水谣3.四菜一汤景点 二、厦门1.园林博览苑2.海上自行车道3.山海步道4.海滩5.闽南菜6.落日 三、泉州1.衙口沙滩2.海上日出3.珞珈寺4.海滩烟花 一、漳州 游玩2个景点&#xff1a;云水谣&#xff0c;四菜一汤可以住…

基于Java+SpringBoot+Vue前后端分离仓库管理系统设计实现

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…