999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Staad.Pro支座反力讀取程序開發及應用

2022-04-16 06:23:34胡合江
科技創新與應用 2022年9期
關鍵詞:程序設計

程 浩,胡合江,余 巍

(中國電力工程顧問集團中南電力設計院有限公司,湖北 武漢 430071)

目前,隨著BIM技術的迅速普及,廣大設計企業對正向設計方法的探索不斷深入,各軟件之間設計信息和數據傳輸的需求也隨之不斷增加。結合前述原因,在Staad.Pro軟件完成上部結構的內力分析之后接續基礎設計的需求顯得日益迫切,而其中的關鍵在于支座反力的讀取。由于Staad.Pro軟件的模型文件和內力結果文件都是公開的,其輸入命令流和輸出結果的格式也有相關的說明,因此可以考慮編寫程序完成這一過程,國內已有不少相關的研究:胡小龍等[6]基于Staad.Pro軟件的計算結果編寫相關的計算程序,以完成鍋爐爐架及變電構架的設計;喬愛科等[7]利用VC++和AutoCAD二次開發工具ARX編制了自動化的可視化后處理應用軟件,可提取Staad.Pro軟件計算模型的數據,擴展了其后處理功能;魏亮等[8]介紹了一些Staad.Pro軟件二次開發的經驗,并對開發過程中存儲、查詢數據的2種方案的效率進行比較;李金光等[9]介紹了基于Staad.Pro軟件開發的3個輔助程序,提高了工作效率;葉蔥蔥[10]使用VB對Staad.Pro軟件進行二次開發,完成了輸煤棧橋混凝土構件和基礎設計的程序。從以上研究中可知,對Staad.Pro軟件進行二次開發以讀取支座反力是一種簡便可行的方法,本文將對一些相關問題進行討論。

1 Staad.Pro輸入和輸出文件的解析

Staad.Pro的輸入文件為*.std格式,輸出結果文件為*.anl格式,都可直接采用記事本打開查看,可以比較方便地分析其內容的組織和格式,編寫相應的代碼以獲取需要的內容,文獻[8]介紹了一些讀取這兩個文件的基本要點。對于支座反力而言,需要從*.std文件中讀取支座坐標以及荷載工況等,從*.anl文件中讀取各支座在各工況下的反力值,為保證程序能夠正確穩定的讀取,還有以下需要注意的問題:

(1)Staad.Pro默認在輸出文件中打印輸入文件中的所有內容,因此在一般情況下,僅需從*.anl文件中就可讀取到所有的信息。當在輸入命令流中使用SET ECHO OFF命令時,自該命令之后的內容將不再輸出文件中打印,對于此種情況,需考慮同時從*.std文件中讀取部分信息。

(2)Staad.Pro默認采用Y軸作為豎向軸,但也提供了SET Z UP命令將Z軸作為豎向軸,因此在讀取過程中必須檢測輸入文件中是否存在此命令,以正確判斷支座反力的方向。

(3)需要在命令流中添加PRINT SUPPORT REACTIONS命令才能將支座反力輸出到*.anl文件中,當輸入命令流中不存在此命令時,需要提示用戶進行操作。此外,PRINT ANALYSIS RESULTS也能達到同樣的目的,但它是PRINT SUPPORT REAC TIONS、PRINT MEMBER FORCES以及PRINT JOINT DISPLACEMENTS三個命令之和,當只需要輸出支座反力而不需要其他結果時,此命令將導致*.anl文件較大,對文件讀取速度有較大的影響,應盡量避免。

(4)Staad.Pro可通過命令流控制所需要輸出的荷載工況和支座。對于荷載工況,可以采用LOAD LIST即“有效荷載”命令控制輸出的荷載工況,Staad.Pro將僅輸出在LOAD LIST之后所列出的荷載工況。對于支座反力同理,在PRINT SUPPORT REACTIONS命令之后添加LIST,可以僅輸出其后所列出的支座的反力。因此,從輸出文件中并不一定能獲取所有的支座反力,在出現此情況時對用戶發出提示是比較有必要的。在輸出文件的PROBLEM STATISTICS項中列出了項目的總體信息,如圖1所示,可以獲取到當前項目中的支座及荷載工況的數量,便于與實際讀取到的數量進行比較。

圖1 輸出文件中的PROBLEM STATISTICS項

(5)部分命令流有簡寫的方式,如PRINT SUPPORT REACTIONS簡寫為PRI SUP REA,PRINT ANALYSIS RESULTS簡寫為PRI ANA RES,更多簡寫的命令可查詢Staad.Pro的相關技術說明,讀取過程中需要對完整和簡寫的情況均進行識別。

(6)支座反力輸出的單位和格式。支座反力輸出內容的示例,如圖2所示。首行的“-UNIT KN METE”列出了支座反力的單位。Staad.Pro中長度和力的單位見表1和表2,在讀取或后續的輸出過程中需注意進行轉換。從圖2中可見,支座反力在輸出文件中是依次按節點和工況順序輸出的,不同的支座之間沒有其他標記,只在每個支座首行的開頭列出了支座編號。此外,當支座反力的輸出結果跨越多頁時,在每頁的開頭都將重新列出表頭,即圖2中方框內的部分,在讀取的過程中應予以忽略。

表2 Staad.Pro命令流中的力單位

圖2 輸出文件中的支座反力

表1 Staad.Pro命令流中的長度單位

2 開發實現

如前所述,*.std和*.anl的文件格式都是公開的,因此一般的開發語言都能夠直接讀取其中的信息,本文以C#為例介紹支座反力的讀取方式。

其中金錢是一塊塊脊柱骨,外圓內空,如同一枚枚金錢。所謂釣蟾就是將丹田之氣,過海底上脊椎,撐命門,入玄關。因為入海底之下有尾閭下關,這關口是真氣極不容易過的,所以叫釣蟾!”

(1)文件內容的讀取。C#提供了StreamReader類用于讀取文本文件,為方便后續的查找操作,可采用逐行讀取的方式,對于讀取到的每一行內容,調用string類的ToUpper方法將其統一轉換成大寫,再將其存儲到List集合當中。通過StreamReader對象的EndOfStream屬性判斷是否讀取到文件末尾,在到達末尾位置后,使用Close方法關閉文件。

(2)關鍵信息的提取。提取關鍵信息的主要過程就是對文件的查找和搜索過程,一般這些關鍵內容都是隨著某些關鍵字一起出現,如“NUMBER OF SUPPORTS”等,因此首先需要找到關鍵字所在的位置,再獲取相關的內容。還有部分關鍵信息具有特定的格式,如支座反力的首行數據以支座編號開始,后續為工況編號以及6個內力數據,中間由一個或多個空格分隔,而其它行只有工況編號以及6個內力。C#提供了正則表達式Regex類,可以用于查找和匹配具有特定字符或格式的字符串,對于需要的信息,在了解其關鍵字和格式之后即可編寫出用于匹配的模式,如對于支座數量的獲取可以采用匹配模式:NUMBERs+OFs+SUPPORTSs+[1-9]d*,對于支座反力的首行采用匹配模式:^s+[1-9]d*s+[1-9]d*(s+(-?d+)(.d+)?){6}$等,在獲取匹配的內容之后,再進行字符串的分割和提取操作即可得到所需要的內容。

(3)數據的存儲。文獻[8]通過將數組和散列表對比,發現使用散列表來存儲數據的效率遠高于數組。C#中的Dictionary容器即是一種散列表,因此適合用來存儲支座反力。首先構建由節點號、荷載工況號和支座反力組成的JointLoad類來存儲一個支座在一個工況下的支座反力;然后建立以荷載工況號為key,JointLoad為value的Dictionary,用于存儲一個支座在多個工況下的反力;再建立以支座節點號為key,Dictionary為value的Dictionary>,用于存儲所有的支座反力。這樣即可實現對任意支座在任意工況下反力的快速查找。

對于支座反力的讀取和輸出往往有獲取其極值或排序等其它操作,一種比較方便的方式是利用C#面向對象的特性,創建繼承于Dictionary>的SupportReaction類,將排序、獲取極值等方法或屬性放在此類中,這樣既可以簡化代碼,程序結構也更加清晰,便于擴展功能。

3 應用案例

圖3為某工程500 kV變電構架,其上部結構采用Staad.Pro進行內力分析,在桿件截面設計完成之后,基礎采用基于Revit開發的變電構支架基礎設計程序進行三維正向設計,基礎采用天然基礎。

圖3 某500 kV變電構架

在基礎設計過程中需要輸入柱腳的設計荷載,程序雖然提供了荷載輸入的功能,但是因柱腳和荷載工況較多,需要設計人員在Staad.Pro軟件中篩選部分荷載工況之后再輸入到軟件當中,這往往會耗費較多的時間,且存在遺漏最不利工況的可能。程序在后續開發過程中引入了本文上述介紹的方法,提供了從Staad.Pro讀取上部結構荷載的功能,在上部結構設計完成之后,直接從輸出文件中讀取支座反力,再經必要的設置和調整,即可獲取基礎的設計荷載。

如圖4所示,對于荷載工況,Staad.Pro本身只進行單工況和組合工況的區分,對于組合工況則并不區分具體的類型,也不區分是否為地震工況,在設置導入的荷載工況時,程序可對荷載工況的類型進行初步判斷,并可由用戶進行調整。

圖4 Staad.Pro荷載工況導入設置界面

導入之后的基礎設計荷載如圖5所示,其中荷載作用點標高可從支座的坐標中讀取以作為默認值,也可由用戶進行修改。此后,基礎設計程序即可使用導入的荷載完成基礎計算及后續設計過程。

圖5 導入后的基礎設計荷載

本工程通過在基礎設計程序中引入支座反力讀取的模塊,實現了從Staad.Pro上部結構計算到基礎設計荷載輸入的接口,簡化了人工篩選及輸入荷載工況的過程,提高了基礎設計程序的便利性和設計工作效率。

4 結論

本文介紹了通過讀取Staad.Pro輸入和輸出文件以獲取支座反力的一些要點,指出了在解析文件格式過程中的一些關鍵問題;并以C#語言為例,介紹了讀取支座反力的具體方法;最后通過在程序開發以及實際工程中的應用,驗證了其在基礎設計過程中的可行性及便利性。

猜你喜歡
程序設計
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
主站蜘蛛池模板: 欧美精品亚洲精品日韩专区| 欧美黄网站免费观看| 1024你懂的国产精品| 亚洲精品无码不卡在线播放| 精品亚洲国产成人AV| 日韩a在线观看免费观看| 91精品人妻互换| 精品一区二区三区自慰喷水| 亚洲国产日韩在线成人蜜芽| 久久这里只有精品国产99| 9啪在线视频| 国产最新无码专区在线| 制服无码网站| 毛片a级毛片免费观看免下载| 99久久国产综合精品女同| 亚洲av日韩综合一区尤物| 久久精品亚洲热综合一区二区| 婷婷亚洲视频| 欧美另类视频一区二区三区| 美臀人妻中出中文字幕在线| 亚洲色图在线观看| 中文字幕久久精品波多野结| 九九久久99精品| 欧美日韩第三页| 日韩国产黄色网站| 国产精品久线在线观看| 免费无遮挡AV| 久久免费视频6| 毛片基地视频| 毛片网站在线看| 国产一区二区福利| 亚洲无码免费黄色网址| 露脸国产精品自产在线播| 日本成人福利视频| 亚洲国产日韩欧美在线| av在线人妻熟妇| 国产男女免费视频| 日本在线免费网站| 精品国产www| 毛片大全免费观看| 欧美亚洲欧美| 91九色国产porny| 114级毛片免费观看| 午夜不卡视频| 欧洲精品视频在线观看| 久久无码av一区二区三区| 欧美国产在线看| 日韩精品一区二区三区免费在线观看| 2021天堂在线亚洲精品专区 | 东京热av无码电影一区二区| 91啪在线| 亚洲人成高清| 欧美国产日韩一区二区三区精品影视| 久久人妻系列无码一区| 国产午夜福利亚洲第一| 日韩小视频在线观看| 亚洲国产系列| 久草国产在线观看| 精品国产自| 中文字幕久久亚洲一区| 亚洲人视频在线观看| 国产精品成人免费综合| 成人久久精品一区二区三区| 色综合天天娱乐综合网| 先锋资源久久| 五月天久久综合| 欧美一区二区丝袜高跟鞋| 色成人亚洲| 欧美www在线观看| 女人18毛片水真多国产| 国产jizzjizz视频| 亚洲精品无码AV电影在线播放| 免费看a级毛片| 91免费片| 亚洲swag精品自拍一区| 日韩欧美中文字幕在线精品| 午夜无码一区二区三区| 久久精品人人做人人爽电影蜜月 | 免费观看无遮挡www的小视频| 成人毛片在线播放| 国产在线精品美女观看| 国产一区二区三区视频|