revit鋼筋繪制教程_第1頁(yè)
revit鋼筋繪制教程_第2頁(yè)
revit鋼筋繪制教程_第3頁(yè)
revit鋼筋繪制教程_第4頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、revit鋼筋繪制教程最近在做一個(gè)小項(xiàng)目,具體需求大概是在一個(gè)revit模型中的對(duì)應(yīng)的樓板位置繪制鋼筋。由于剛接觸Revit二次開(kāi)發(fā),之前也沒(méi)有畫(huà)過(guò)鋼筋,所以在網(wǎng)上搜了一些用 Revit畫(huà)鋼筋的資料。Revit中是提供了用于為混凝土柱、梁、墻、基礎(chǔ)墻和結(jié)構(gòu)樓板中的鋼筋進(jìn)行 建模的工具。因此我們是可以通過(guò)類(lèi)似于畫(huà)墻或者柱的方法來(lái)畫(huà)鋼筋的。通過(guò)檢索,Revit API中提供了兩種繪制鋼筋的方法:一是通過(guò)給定幾何形狀創(chuàng)建 Rebar.CreateFromRebarShape(Docume nt doc, RebarShape rebarShape, RebarBarType,)Rebr i r Xr

2、F-iffc f?rnmPebi&Mwnwrit dA, 口oksrSMpr wlwrfiKipe,恥4*04廣叩尸 也訂常* F *帕杓卡陽(yáng)森 S!Y7 ar 刖卜 XYZ WV W3 jVrr二是通過(guò)給定曲線(xiàn)創(chuàng)建 Rebar.CreateFromCurves(Docume nt doc, , IList curves,)Rlur“ t|i 測(cè)* n DjsBtlHiHWiadjlc,B Rcbwftflf Typ :!#.,MgH醫(yī)Rbj44cokTmdHocIt ElvmMi hoL XVZ mctm, FLi curvts. RitbarHookOrfvLitjn EtartMgJQr

3、itnLRebd rHeolr&n rntfirtioM rndHookOrwHt. boa I u F n g a pe-lflPoi-iHfr bool cnpJifrNew npr)第一種CreateFromRebarShape 是根據(jù)已有的的鋼筋幾何形狀以及鋼筋族, 選擇一個(gè)host繪制。后面XYZ origin, XYZ xVec , XYZ yVec 這三個(gè)參數(shù)設(shè)置插 入點(diǎn),以及約束條件。用這個(gè)方法試了很多次都滿(mǎn)足不了我項(xiàng)目上的要求,而且使用這個(gè)方法之后,還需要配合 Rebar.ScaleToBox(XYZ origin, XYZ xVec, XYZ yVec)方法,把鋼筋放置在給

4、定的包圍盒內(nèi)。放棄了 CreateFromRebarShape,選用的是第二種 CreateFromCurves 方法。 該方法同樣是需要根據(jù)已有的的鋼筋幾何形狀以及鋼筋族,選擇一個(gè)host繪制。創(chuàng)建箍筋需要注意的幾個(gè)輸入?yún)?shù)的理解:第二個(gè)參數(shù)(RebarStyle style)是選擇鋼筋類(lèi)型,對(duì)于箍筋需要設(shè)置為: RebarStyle.StirupTie.如果對(duì)于直線(xiàn)鋼筋或縱筋設(shè)置為RebarStyle.Sta ndard 。bartype,我這里是選擇的是項(xiàng)目中加載好的一個(gè)鋼筋族。第4,、5個(gè)參數(shù)(RebarHookType )是定義 鋼 筋彎鉤類(lèi)型,此處我設(shè)為null。第六個(gè)參數(shù)(hos

5、t),由于我所話(huà)的鋼筋較多而且分布在不同的樓板上,所以 我這里是在項(xiàng)目中隨機(jī)選了一個(gè)樓板當(dāng)做 host,這樣做不會(huì)出錯(cuò),但是會(huì)彈出 一個(gè)警告(如下所示)。第七個(gè)參數(shù)(XYZ norm )是箍筋坐在平面的法向量方向,由于本項(xiàng)目的樓板 都在XY平面,所以直接選取Z軸作為法向量。當(dāng)然也可以選用curvesList中相 交兩線(xiàn)叉乘,獲得法向量。第八個(gè)參數(shù)(IList )當(dāng)然就是最重要的待繪制的鋼筋曲線(xiàn)列表,此處 應(yīng)該注意的是,此處的曲線(xiàn)列表必須是首尾相連放入這個(gè) List中,不然是畫(huà)不出 鋼筋的。樓主一開(kāi)始只是把組成鋼筋的三個(gè)直線(xiàn)無(wú)序加入List中,然后就一直報(bào)這個(gè)錯(cuò)誤。S3R商t無(wú)法圭成外部令今.請(qǐng)

6、與供應(yīng)商聯(lián)蔡以獲取幫助供應(yīng)商提供給Revit 的身份信息為;Warranteeh,.RevitAu tod es Ic Revit.Ex c eption e. Arg umentExe eption: curves do not. forrr a validCurveLoopParameter name: curves在 Au to des k.Re vit- D B. Str u ct re. Re r C re ale From Cu rve s (D o cu m ent doc, RebarStyle style. RebarBarTyp

7、e barType, RebarHo kType startHcok, RebarHookType endHook, Element host. XYZ norm. ILisf 1 curves, RebarHookOrierrtation 5tartHookOrientJ Re ba r H o o kO r i e n tati on errdHookOrient Boolean u s e E ii sti ng S h pelf P o & i b I . Bool&ain rreateNewShpe)在W art er tech. G tedInfQ”FteYitExt.Uctmmc

8、jrrHglper-DrvrEteelQctmmnT(Exten 白 I匸cunmanclDat 曰 CQmrnandData)忖詈 e;ProjectS te ell n fotru n ks r cVV a rre ntec h Stee I In foVVYarrente chStecl ,uCo n mon Helper5i (7432在 Warrentech.Stee-IIrfo.ReuitEjrt.StructjrallnfoDrawer.&xeruteEjrternsI匚ommEnclD日tza commandData. &tring& message. ElemerrtSet

9、frlennerits) e:Pr o_jectE t 色 ell n fotru n k r cW/ a rre ntsc h. & teelln foWarr#ntf ch,.,. t ructural Ln4o Drawtr.cs:在 apiManagedExecuteComrYiandCAString* assembly Name. AString* className, AStri n g17 vendcrrDwcripticrn. MFCApp pMFCApp, DBVie* pDBView, AString* message, 5et= ElementldYtdidees Ele

10、mentld,tn3llc * id兄MapAStnngHAStringstd::lessAStrings,tnallc * data. AString* exteptiorName, AString* ftxceptionMesage)A)I黃閉(Q 始終提示,提供的曲線(xiàn)列表是個(gè)無(wú)效的曲線(xiàn)。找了半天,才發(fā)現(xiàn)加入列表的線(xiàn)段不是按順序首尾相連。害我調(diào)試了很久.最后兩個(gè)參數(shù)應(yīng)該很好理解,一個(gè)是使用存在的鋼筋形狀,另一個(gè)是創(chuàng)建一個(gè) 新的鋼筋形狀。如果這兩個(gè)參數(shù)分別置成false,true的話(huà),那樣每畫(huà)一次鋼筋就會(huì)默認(rèn)創(chuàng)建 一個(gè)新的鋼筋形狀;而置成true,false的話(huà),程序會(huì)提示沒(méi)有適用的鋼筋形狀

11、而畫(huà)不出鋼筋;樓主這里置成true ,true,這樣同一類(lèi)型的鋼筋就共用一個(gè)新創(chuàng)建的鋼筋形狀。double edge =1;for(int j =0; j ptList.Count; j+) Line steelLine= Line.CreateBound(ptListj.ltem1, ptListj.ltem2);IList curves = new List ();XYZ direction=steelLine.Direction;XYZ verticalVector=RotateTo(direction, -Math.PI /2.0,XYZ.BasisZ);XYZ leftEdgePt=

12、ptListj.Item1 + verticalVector.Normalize() *edge;XYZ rightEdgePt=ptListj.ltem2 + verticalVector.Normalize() *edge;Line leftEdgeLineLine rightEdgeLine=Line.CreateBound(leftEdgePt, ptListj.Item1);=Line.CreateBound(ptListj.ltem2, rightEdgePt);curves.Add(leftEdgeLine);curves.Add(steelLine);curves.Add(ri

13、ghtEdgeLine);RebarBarType bartype= new FilteredElementCollector(doc).OfClass(typeof (RebarBarType).FirstOrDefault(t = t.Name = SystemlnfoConfig.SteelTypeName)as RebarBarType;var instanceFitler =new ElementClassFilter( typeof (Floor);var collector = new FilteredElementCollector(doc);Element host= collector.WherePasses(instanceFitler).FirstOrDefault();Rebar newRebar= Rebar.CreateFromCurves(doc, RebarStyle.Standard, bartype, null , null , host, n

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論