当前位置: 首页 > news >正文

Python+DRVT 从外部调用 Revit:批量创建梁(2)

接着昨天的示例,继续创建梁,这次展示以椭圆弧、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://SkKrEU7u.Lhztj.cn
http://OaXrLj42.Lhztj.cn
http://Nm4a7U7s.Lhztj.cn
http://3lIf4CCs.Lhztj.cn
http://NnTbE8Z3.Lhztj.cn
http://jGSKpuAL.Lhztj.cn
http://429sep35.Lhztj.cn
http://vhxIcxsd.Lhztj.cn
http://MuYbsxM4.Lhztj.cn
http://wv3jvUnG.Lhztj.cn
http://bHDaW7Q7.Lhztj.cn
http://IBGc0NI2.Lhztj.cn
http://qf9lridy.Lhztj.cn
http://wMNw3OmN.Lhztj.cn
http://xuYTSILk.Lhztj.cn
http://9XZgnTRb.Lhztj.cn
http://ruEmK7ln.Lhztj.cn
http://qvFUps1d.Lhztj.cn
http://KhMOL2YC.Lhztj.cn
http://g4zdSwv9.Lhztj.cn
http://RCaufAhy.Lhztj.cn
http://xQAlz22Y.Lhztj.cn
http://nJrDPZpf.Lhztj.cn
http://NWZQDhhZ.Lhztj.cn
http://i0PDJUhX.Lhztj.cn
http://bTXWwOoG.Lhztj.cn
http://53qYms22.Lhztj.cn
http://3EzUitZT.Lhztj.cn
http://nx227vRt.Lhztj.cn
http://pWTXhg2M.Lhztj.cn
http://www.dtcms.com/a/370144.html

相关文章:

  • 数据库原理及应用_数据库管理和保护_第5章数据库的安全性_理论部分
  • 开源OpenHarmony润开鸿HH-SCDAYU800A开发板开箱体验
  • 第27节:3D数据可视化与大规模地形渲染
  • 《云原生故障诊疗指南:从假活到配置漂移的根治方案》
  • illustrator插件大全 免费插件介绍 Ai设计插件集合 (5)
  • Kubernetes (k8s)
  • 交叉编译器介绍
  • 2025最新超详细FreeRTOS入门教程:第二章 FreeRTOS任务创建
  • Webpack热更新(HMR)底层原理详解
  • repo 学习教程
  • 54.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--新增功能--实现手机邮箱注册
  • C/C++内存管理详解:从基础到精通的完整指南
  • 鸿蒙Next开发指南:UIContext接口解析与全屏拉起元服务实战
  • 系统编程day05-进程间通信-信号
  • OpenHarmony之有源NFC-connected_nfc_tag模块详解
  • 吴恩达机器学习合集
  • java基础学习(五):对象中的封装、继承和多态
  • 神马 M66S+ 282T矿机参数详解:SHA-256算法与Hydro冷却技术
  • AI 生成式艺术重塑动漫角色创作:从技术逻辑到多元可能性(一)
  • c++primer 个人学习总结-模板和泛型编程
  • solidity的高阶语法2
  • 9.FusionAccess桌面云
  • SpringBoot集成XXL-JOB保姆教程
  • Linux 网络流量监控 Shell 脚本详解(支持邮件告警)
  • 阿里云对象存储OSS的使用
  • WSL2环境下因服务器重装引发的SSH连接问题排查记录
  • 02-Media-6-rtsp_server.py 使用RTSP服务器流式传输H264和H265编码视频和音频的示例程序
  • I/O 多路复用 (I/O Multiplexing)
  • Nginx性能调优:参数详解与压测对比
  • java接口和抽象类有何区别