接着昨天的示例,继续创建梁,这次展示以椭圆弧、Nurbs为轴线。

创建以椭圆弧为轴线的梁

椭圆弧曲线的创建:

# 创建椭圆弧
def CreateEllipse(ctx : MyContext, z: float) -> DB.Curve:"""create a horizontal partial ellipse instance with specified z coordinate value"""session = ctx.sessioncenter = DB.XYZ.ctor(session, m2feet(15), m2feet(-10), z);radX = m2feet(3.0)radY = m2feet(5.0)xVec = DB.XYZ.ctor(session, 1, 0, 0);yVec = DB.XYZ.ctor(session, 0, 1, 0);param0 = deg2rad(0)param1 = deg2rad(180)ellpise = DB.Ellipse.CreateCurve(session, center, radX, radY, xVec, yVec, param0, param1)return ellpise

批量创建梁:

与昨天的一样,只需要将curve = CreateArc(ctx, levelZ) 替换为 curve = CreateEllipse(ctx, levelZ)即可。生成结果:

3D

创建以Nurbs为轴线的梁

Nurbs的创建:

# 创建Nurbs曲线
def CreateNurbSpline(ctx : MyContext, z: float) -> DB.Curve:"""create a horizontal nurbspline instance with specified z coordinate value"""session = ctx.sessionnumPoints = 5;outerRadius = 5.0;innerRadius = outerRadius * math.cos(math.pi / 10) / math.cos(3 * math.pi / 10)startAngleDeg = 90.0;weights = Revit.ListDouble.ctor(session)# create control points with same z valuectrPoints = DB.ListXYZ.ctor(session)for i in range(numPoints * 2):angleDeg = startAngleDeg - i * 360.0 / (numPoints * 2)angleRad = angleDeg * math.pi / 180.0if i % 2 == 1:radius = outerRadiuselse:radius = innerRadiusx = radius * math.cos(angleRad)y = radius * math.sin(angleRad)ctrPoints.Add(DB.XYZ.ctor(session, m2feet(x), m2feet(y), z))weights.Add(1)nurbSpline = DB.NurbSpline.CreateCurve(session, ctrPoints, weights)return nurbSpline

批量创建梁:

同样,只需要将curve = CreateArc(ctx, levelZ) 替换为 curve = CreateNurbSpline(ctx, levelZ)即可(注:不同的Nurbs几何形状/大小会影响FamilySymbol实例的创建,可能会因约束不满足而创建失败。这是正常的与手工创建无异。生成结果:

3D

自动完成:启动Revit => 创建项目 => 批量创建 => 保存项目文档 => 结束Revit 全程无需手工操作。有了DRVT的加持,Revit插件的核心能力可以在外面用Python脚本轻松驾驭。


相关文章

Python+DRVT 从外部调用 Revit:从外部启动 Revit-CSDN博客

Python+DRVT 从外部调用 Revit:打开项目文件-CSDN博客

Python+DRVT 从外部调用 Revit:获取项目信息-CSDN博客

Python+DRVT 从外部调用 Revit:更新项目信息-CSDN博客

Python+DRVT 从外部调用 Revit:第一个完整示例-CSDN博客

Python+DRVT 从外部调用 Revit:创建新项目-CSDN博客

Python+DRVT 从外部调用 Revit:创建族文档-CSDN博客

Python+DRVT 从外部调用 Revit:批量创建轴网-CSDN博客

Python+DRVT 从外部调用 Revit:批量创建标高-CSDN博客

Python+DRVT 从外部调用 Revit:创建风管系统加劲肋-CSDN博客

Python+DRVT 从外部调用 Revit:创建剖面-CSDN博客

Python+DRVT 从外部调用 Revit:创建桁架族-CSDN博客

Python+DRVT 从外部调用 Revit:批量创建墙-CSDN博客

Python+DRVT 从外部调用 Revit:批量创建门-CSDN博客

Python+DRVT 从外部调用 Revit:批量创建门和窗-CSDN博客

Python+DRVT 从外部调用 Revit:批量创建梁-CSDN博客

深度嵌入数字化工作流:DRVT 的思考与实践-CSDN博客

从插件化走向系统集成——Revit-CSDN博客

Revit变身智能组件,BIM未来可期-CSDN博客

#SystemIntegration #Revit #RevitAPI #Python #Automation #DesignAutomation #BIM #Interop #AEC #DigitalTwin #Workflow

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

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

相关文章

Flutter × 鸿蒙系统:一文搞懂如何将你的 App 移植到 HarmonyOS!

摘要 Flutter 是一个高效的跨平台框架,开发者可以使用同一套代码快速部署到 Android、iOS 等主流平台。随着华为鸿蒙系统(HarmonyOS)的崛起,越来越多开发者希望能将已有的 Flutter 应用迁移到鸿蒙生态中运行。目前,通过…

QML Charts组件之主题与动画

目录前言相关系列ChartView 概述:主题与动画示例一:主题设置(ChartTheme.qml)图表与主题设置主题切换部分示例二:动画设置(ChartAnimation.qml)图表与动画属性部分分类轴与柱状图数据部分交互与…

【论文阅读】Security of Language Models for Code: A Systematic Literature Review

Security of Language Models for Code: A Systematic Literature Review 该论文于2025年被CCF A类期刊TOSEM收录,作者来自南京大学和南洋理工大学。 概述 代码语言模型(CodeLMs)已成为代码相关任务的强大工具,其性能优于传统方法…

[光学原理与应用-422]:非线性光学 - 计算机中的线性与非线性运算

在计算机科学中,线性运算和非线性运算是两类核心的数学操作,它们在算法设计、数据处理、机器学习等领域有广泛应用。两者的核心区别在于是否满足叠加原理(即输入信号的线性组合的输出是否等于输出信号的线性组合)。以下是详细解释…

Day21_【机器学习—决策树(3)—剪枝】

决策树剪枝是一种防止决策树过拟合的一种正则化方法;提高其泛化能力。决策树在训练过程中如果生长过深、过于复杂,会过度拟合训练数据中的噪声和异常值,导致在新数据上表现不佳。剪枝通过简化树结构,去除不必要的分支,…

从零构建企业级LLMOps平台:LMForge——支持多模型、可视化编排、知识库与安全审核的全栈解决方案

🚀 从零构建企业级LLMOps平台:LMForge——支持多模型、可视化编排、知识库与安全审核的全栈解决方案 🔗 项目地址:https://github.com/Haohao-end/LMForge-End-to-End-LLMOps-Platform-for-Multi-Model-Agents ⭐ 欢迎 Star &…

如何使显示器在笔记本盖上盖子时还能正常运转

1、搜索找到控制面板,打开进入 2、找到硬件和声音,进入 3、选择电源选项 4、选择 选择关闭笔记本计算机盖的功能 5、把关闭子盖时,改成不采取任何操作 参考链接:笔记本电脑合上盖子外接显示器依然能够显示设置_笔记本合上外接显示…

FPGA学习笔记——SDR SDRAM的读写(调用IP核版)

目录 一、任务 二、需求分析 三、Visio图 四、具体分析 1.需要注意的问题 (1)器件SDRAM需要的时钟 (2)跨时钟域(异步FIFO) 2.模块分析和调用 (1)SDR SDRAM IP核调用 &…

离散数学学习指导与习题解析

《离散数学学习指导与习题解析(第2版)》是屈婉玲、耿素云、张立昂编著的《离散数学(第2版)》的配套参考书,旨在为学生提供系统的学习指导和丰富的习题解析。本书内容全面,涵盖数理逻辑、集合论、代数结构、…

Qt网络通信服务端与客户端学习

Qt网络通信服务端与客户端学习 一、项目概述 本项目基于Qt框架实现了TCP服务端与客户端的基本通信,涵盖连接、消息收发、断开管理等功能,适合初学者系统学习Qt网络模块的实际用法。 二、项目结构 52/ 服务端:main.cpp、widget.cpp、widget.h5…

神马 M60S++ 238T矿机参数解析:高效SHA-256算法比拼

1. 算法与适用币种神马 M60S 238T采用SHA-256算法,适用于挖掘主流的加密货币,包括比特币(BTC)和比特币现金(BCH)。SHA-256(安全哈希算法256位)是一种广泛应用于比特币等加密货币挖矿…

[特殊字符] 深入理解操作系统核心特性:从并发到分布式,从单核到多核的全面解析

🚀 深入理解操作系统核心特性:从并发到分布式,从单核到多核的全面解析💡 前言:操作系统是计算机的灵魂,它就像一个优秀的管家,协调着硬件和软件之间的关系。今天,我们将深入探讨操作…

人工智能机器学习——聚类

一、无监督学习(Unsupervised Learning)机器学习的一种方法,没有给定事先标记过的训练示例,自动对输入的数据进行分类或分群。优点: 算法不受监督信息(偏见)的约束,可能考虑到新的信息不需要标签数据&#…

优化MySQL分区表备份流程详解

在大型数据驱动应用中,MySQL分区表是优化查询和维护历史的常见选择。但随之而来的数据备份问题却让许多开发者头疼:如何确保分散在不同分区的数据能完整、一致地被备份,并在需要时快速恢复?手动处理不仅繁琐,而且极易出…

用 Go + HTML 实现 OpenHarmony 投屏(hdckit-go + WebSocket + Canvas 实战)

本文带你用 Go HTML/WebSocket 从零实现一个 OpenHarmony 设备投屏 Demo:Go 侧用 hdckit-go 连接设备并抓取屏幕帧(UiDriver),通过 WebSocket 二进制实时推送到浏览器,前端用 Canvas 渲染,并根据设备分辨率…

运筹学——求解线性规划的单纯形法

单纯形法的原理 先来举个例子: 用单纯形法求解下面线性规划问题的最优解:注释:解的过程是反复迭代的过程,如果第一次迭代没有理解也没关系,再继续看第二次迭代,和第三次迭代,每次迭代的流程都是…

Python GUI 框架 -- DearPyGui 简易入门

DearPyGui 关于 DPG 是一个简单且功能强大的 Python 图形用户界面框架。 与其他Python图形用户界面库相比,DPG具有以下独特之处: GPU 渲染多线程高度可定制内置开发人员工具:主题检查、资源检查、运行时指标带有数百种小部件组合的 70 多…

gcloud cli 使用 impersonate模拟 服务帐号

什么是模拟服务帐号 众所周知, gcloud 登陆的方式有两种 使用个人帐号, 通常是1个邮箱地址使用一个service account 通常是1个 json key 文件 所谓模式服务帐号意思就是, 让操作人员用个人帐号登陆, 但是登陆后所有的操作都是基于…

idf--esp32的看门狗menuconfig

1.Interrupt Watchdog Timeout (ms):意思是中断看门狗,也就是专门监管中断响应时间的看门狗,如果某个中断服务程序超过了这个运行时间,就会导致程序重启。2.红框是任务看门狗的最大看门时间,超过时间就会警告&#xff…

git在Linux中的使用

git-Linux中的使用一、下载git二、https方式上传三、ssh秘钥方式上传一、下载git 版本信息 [rootrocky ~]# cat /etc/rocky-release Rocky Linux release 9.4 (Blue Onyx) [rootrocky ~]# cat /etc/rocky-release-upstream Derived from Red Hat Enterprise Linux 9.4 [rootro…