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://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…