revi在橋梁中的應(yīng)用二次開發(fā)-族_第1頁
revi在橋梁中的應(yīng)用二次開發(fā)-族_第2頁
revi在橋梁中的應(yīng)用二次開發(fā)-族_第3頁
revi在橋梁中的應(yīng)用二次開發(fā)-族_第4頁
revi在橋梁中的應(yīng)用二次開發(fā)-族_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Revit在橋梁中的應(yīng)用二次開發(fā)篇(1)——族建模篇簡單講了怎么在revit軟件中手動建橋梁模型,更多的基礎(chǔ)操作的內(nèi)容可以直接看revit在建筑中應(yīng)用的相關(guān)教程,其實也是相通的,沒必要多講。這次誠意滿滿,花了兩天時間專門研究二次開發(fā)中族的應(yīng)用。以下代碼親測可試,結(jié)合《AUTODESKREVIT二次開發(fā)基礎(chǔ)教程》可以獲得更好的效果。因為書本上都是一些代碼片段,而且是基于2015版的,在2016版的revit上部分代碼跑不了。我也嘗試了很久,終于基本上搞通了族相關(guān)的語法?;A(chǔ)知識直接看書,這里直接上代碼。書里的代碼片段可以想辦法插到完整代碼中運行。1、找到族實例

//用id找到族實例2、拿到族文檔//拿到族文檔

DocumentfamilyDoc=revitDoc.EditFamily(familyInstance.Symbol.Family);

if(!familyDoc.IsFamilyDocument)

{民

礎(chǔ)凱TaskDi扯alog娛.券Show魚(轟"錯誤3"慕,撐資"導(dǎo)family碑Doc服不是族文檔!變"聯(lián));詞

幻}愁

聾堪else貍

證{堤

考拍TaskDi娘alog細.激Show戲(燦"年revit論"握,浪速"油family罰Doc慢是族文檔!"翅);磁

鳥}筋3、修改族類望型名稱(完整餐代碼)梅using久配System喘;嘆using蹲殿System泊.垃Collec青tions暢.灘Generi壁c芒;墻using顯誠System刻.礎(chǔ)Linq絨;顆using挨拾System息.交Text叮;廚using烈滲System糊.懇Thread瘋ing米.類Tasks率;叔using矛般Autode尿sk際.支Revit順.綠UI撲;俘using侵甜Autode脈sk運.孔Revit轟.赤DB蔽;流using遇危Autode的sk呆.壽Revit母.盞UI毅.射Select痕ion善;幻using相犧Autode傘sk忽.灘Revit闊.適Applic尾ationS卷ervice休s赴;理namesp哲ace呢洪修改族類型名刪稱{取

[尼Autode稅sk掩.悠Revit嬸.趣Attrib巴utes盼.梳Transa拍ction茫(鍬Autode巴sk御.徑Revit孫.饑Attrib血utes蓄.愿Transa鴉ctionM兆ode鋤.難Manual規(guī))]胸

[忌Autode巴sk挨.添Revit大.控Attrib出utes捏.聞Journa逢ling狗(奪Autode突sk殲.默Revit貼.翼Attrib貸utes以.班Journa皺lingMo隨de內(nèi).械NoComm結(jié)andDat言a孝)]舉

[沉Autode勿sk幸.息Revit炕.循Attrib修utes扶.茂Regene踩ration概(秋Autode湯sk徒.件Revit油.賊Attrib株utes輔.死Regene引ration顫Option顫.曬Manual裳)]姐

爆侵public研拳class下南Class1膨?qū)?焦狂IExter洞nalCom扮mand

{柜

卷緩public并兆Result羊宏Execut殖e紋(合Extern需alComm瘡andDat啦a趟猶comman詞dData卻,哈駱ref垂?jié)妔tring月脾messag倒e念,濫是Elemen鞠tSet潔靠elemen恰ts惰)宴

{沈

清烤Docume季nt酷璃revitD憂oc盈宅=斬敬comman醒dData定.悼Applic泄ation扭.患Active鴨UIDocu遷ment魚.恥Docume賣nt斥;

指棄//取得文檔拒

法陣Applic提ation穿受revitA失pp柿抽=幟表comman牧dData饅.約Applic棋ation她.濱Applic格ation卡;

插好//取得應(yīng)用餡程序器

但光Select嚷ion裁餅sel自取=胳沒comman道dData影.家Applic憂ation煙.齒Active踐UIDocu境ment淹.歇Select從ion滿;柿

看沿Refere燙nce帥辛ref1擺擦=懷伏sel圈.車PickOb救ject遠(岔Object晶Type派.音Elemen豈t忠,結(jié)截"選擇一個族黨實例"神);沿

財往//得到當(dāng)前方選擇的文檔凝

門咬Docume昌nt蕩即doc腐且=給延comman場dData博.侮Applic蹦ation還.于Active吐UIDocu撥ment左.唱Docume瞞nt明;必

拔尼//族實例煤

禍迷Family仔Instan膀ce串洪family駁Ins椅槐=液沉doc門.乳GetEle鎮(zhèn)ment辮(利ref1摘)朋訊as妥擱Family妖Instan饑ce粒;摟

皇脖Family控Symbol成伯symbol水安=謎曬family鏡Ins功.享Symbol熊;絮

哲煩Transa次ction遙廈transa喘ction異姐=含那new賣世Transa事ction趣(腔doc燭);周

強鷹//打開關(guān)閉全子程序

餅鵝transa計ction壯.鐵Start區(qū)(膨"改變族類型設(shè)名稱"纖);錯

艷積symbol勤.改Name懂跌=落唐"new"耳惜+嬌攤symbol憐.真Name鄰;路

賀竊transa鑄ction辜.緣Commit過();彼

怕角return蹦畢Result別.窄Succee后ded圖;死

}

}}集4、刪除一個驟族參數(shù)鍋

[效Autode服sk耐.桂Revit守.糕Attrib狀utes木.腳Transa胃ction梯(襪Autode堵sk壯.片Revit僅.定Attrib寺utes解.兩Transa原ctionM鬼ode約.碌Manual誕)]久

[獻Autode潛sk涂.刷Revit袋.鐵Attrib驢utes膝.技Journa倒ling惕(曠Autode藏sk濱.膛Revit仆.曉Attrib聚utes練.奉Journa腰lingMo籍de捏.極NoComm囑andDat微a梯)]通

[莊Autode絮sk濕.撕Revit壤.依Attrib予utes掠.蛾Regene棵ration求(制Autode沃sk仍.眨Revit闖.仿Attrib下utes宣.惑Regene榆ration堡Option炒.慌Manual翁)]劉

椒狡public轎培class罪死Class1罷荷:洽創(chuàng)IExter禾nalCom科mand

{令

資捷public泊障Result零啊Execut胸e溫(荒Extern牢alComm興andDat離a架下comman授dData尸,峽嫌ref額祝string端侄messag撐e驗,合曲Elemen盞tSet號燃elemen詠ts交)鋸

{況

故吃Docume碧nt像驟revitD光oc踢夏=士酬comman海dData戚.敵Applic贏ation醫(yī).籠Active墾UIDocu嚷ment億.虛Docume役nt想;

弓弓//取得文檔風(fēng)

客帳Applic爺ation翻涼revitA桌pp旋渠=軍膠comman搬dData率.釋Applic霸ation覽.專Applic厘ation荒;

近肝//取得應(yīng)用位程序?qū)?/p>

獎橡//選擇一個拔族實例策

朵早Select蜓ion饒主sel填產(chǎn)=礙并comman娛dData嗎.洲Applic撿ation壁.悶Active象UIDocu婆ment屈.際Select泡ion零;球

便屬Refere寧nce井敢ref1要砌=愁組sel幫.怕PickOb西ject幟(友Object撞Type泉.奔Elemen推t核,脖勺"選擇一個族訓(xùn)實例"薄);教

臟剝Family宜Instan趨ce廊舒family瓶Ins羽岡=桿即revitD戚oc干.商GetEle表ment苗(致ref1攏)精魂as第型Family折Instan階ce儉;筋

齊桿Family刊Symbol亞罰symbol嘆倉=譜租family芒Ins蛇.爛Symbol宜;磚

孕頭//得到族文傍檔瞞

瞇級Docume躲nt確瘋family舟Doc彼短=誘森revitD毫oc撒.串EditFa攝mily部(古symbol輩.棟Family綢);稿

照哈//取得嬌Family紡Manage橫r需,注意這里只飽能從族文檔中殘取得薄Family顛Manage匯r答,然后修改參敵數(shù)則

虎波Family溪Manage饅r不璃family么Manage攝r禿晉=晨果family汁Doc萍.續(xù)Family罰Manage疼r粘;閣

秀緣IList汁<縮Family您Parame聽ter月>結(jié)曠faparm敘s拌翻=豎椒family木Manage塘r肺.劇GetPar處ameter據(jù)s部();扛

饅逗TaskDi極alog捉.舊Show慌(佩"Famil答yParam舉eter"勾,拔faparm揪s購.協(xié)First光().治Defini馬tion痰.炭Name故);耀

昨畢Transa盡ction編引trans琴有=使膏new孩受Transa偽ction灑(數(shù)family寬Doc吵,背產(chǎn)"Remov域ePara辨meter"叔);蜂

裁希trans捕.辟Start崖();位

微廚family跳Manage啦r辭.預(yù)Remove杜Parame喪ter慕(存faparm控s揉.惑First精());盜

色毯trans趣.耍Commit拴();均

呀葡family監(jiān)Doc嚴(yán).浴LoadFa壇mily像(激revitD濫oc飯,薯避new訊窮Opt巡());旁

必藥return鴨貫Result驢.旨Succee蠻ded弦;帽

}

}}常//族載入時跪覆蓋并修改族痛參數(shù)扇

儲public粱葬class蝶稈Opt膏扎:變撈IFamil風(fēng)yLoadO異ptions

{填

誘瓦public醋杯bool允交OnFami期lyFoun皺d誠(照bool流菠family裁InUse刷,蠶非out膚腳bool花階overwr賤itePar繞ameter寬Values有)泛

{換

休攀overwr甚itePar頂ameter歉Values借沸=底督true憶;虛

頌臟return賢牲true主;尺

}邁

蓬基public享祖bool汁克OnShar謠edFami剛lyFoun憐d弊(炕Family曬屢shared稿Family唉,嫂昨bool屈陜family直InUse隆,遷么out爺品Family苦Source項亡source歐,飲么out爹妄bool取隆overwr船itePar工ameter垃Values醉)懶

{煉

手慧source涼筆=要暖Family傷Source宰.絞Projec真t鋸;違

迅楚overwr他itePar扭ameter桐Values賤跌=式竹true騙;諷

訴垃return聯(lián)精true花;趙

}

}役4、遍歷族參烈數(shù)腳using授譯System仆;載using來梯System撿.緊Collec銷tions形.攪Generi妙c騾;王using遙眠System勇.扣Linq予;掏using滴端System榮.飾Text朋;業(yè)using遙私System叨.歷Thread粥ing賞.奇Tasks完;秤using購繁Autode禾sk確.這Revit鵲.喉UI俘;娃using丈準(zhǔn)Autode車sk束.逮Revit渾.來DB涉;載using稿宗Autode駕sk之.體Revit殖.懼UI強.煙Select罪ion埋;不using閘瘦Autode立sk擔(dān).盛Revit抽.絡(luò)Applic適ationS叔ervice項s卸;吸namesp聾ace忘褲遍歷族參數(shù){控

[熔Autode崇sk娘.伴Revit污.喝Attrib伙utes仇.法Transa埋ction寬(攪Autode夫sk甘.鳳Revit浪.始Attrib久utes培.活Transa云ctionM違ode綿.訊Manual洋)]源

[刑Autode蜓sk射.善Revit卵.抬Attrib訴utes貍.谷Journa嫌ling刊(畫Autode謊sk踢.襖Revit慘.浴Attrib拐utes思.司Journa仗lingMo皆de才.躬NoComm螞andDat疲a茶)]妖

[拴Autode堤sk如.隔Revit兇.進Attrib修utes流.酸Regene或ration啟(境Autode辯sk格.消Revit鋤.灑Attrib兇utes電.杰Regene刪ration勻Option奏.角Manual僵)]虹

恩簡public壽因class許斬Class1紅于:酒購IExter鞏nalCom魚mand

{表

失斑public雁醫(yī)Result某鎖Execut錫e排(靠Extern鞋alComm潮andDat鈴a課石comman對dData填,誓際ref潛撇string端日messag貧e涉,推告Elemen估tSet鵝躍elemen盟ts麥)快

{鋤

膀五Docume蔑nt但獅revitD瓣oc搶有=比喪comman毒dData濱.瓦Applic獸ation細.丘Active與UIDocu浮ment續(xù).蝕Docume翠nt午;

喪枝//取得文檔齡

玩嫂UIAppl朱icatio壓n且急uiApp恐么=輩轎comman雖dData播.倦Applic概ation拼;遙

吊醋Applic尖ation念悲revitA武pp蛇拜=必玩comman詳dData牙.課Applic拍ation麗.影Applic毫ation甚;

摟邪//取得應(yīng)用嗚程序就

擊虧//取得選擇瞞的元素墊

薪奸Select偉ion激圾sel刪縣=覆遙uiApp學(xué).益Active體UIDocu描ment雅.聯(lián)Select反ion表;纏

暗累Refere剛nce竿依ref1冤薦=剩揀sel恰.依PickOb籠ject削(旨Object肌Type題.蔥Elemen躬t寨,悅剃"pleas蹦epick即afam象ilyin絨stance閣"測);包

手尼Docume賞nt距晃doc歲遺=胃抹uiApp蛋.陪Active笑UIDocu俯ment咐.避Docume頌nt眼;瓣

慘波Elemen母t礎(chǔ)恐elem刊吊=感爆doc濕.浩GetEle賓ment辜(返ref1涂);較

景綁//遍歷元素眉的參數(shù)競

斯座string加貧strPar橋amInfo箭騙=家疤null書;憲

拾武foreac踐h眨緣(蓋Parame掩ter舅斷param夢前in慘艙elem前.苦Parame糊ters穩(wěn))偏

攤{扔

區(qū)

縱訊if趣廁(瞎param砌.捧AsValu耕eStrin塞g曲()!=旨有null曬)緞

最構(gòu)strPar膏amInfo畝之+=德嫂param思.尚Defini陽tion物.纖Name莖犧+村圣"valu誼eis:"本廚+拜露param顆.割A(yù)sValu沖eStrin坦g佛()+腸短"\n"僚;爪

較依else侮

也撥strPar伸amInfo芒鬼+=曠化param吩.雞Defini稼tion挪.笨Name岔宵+寫散"valu杯eis:"民割+最氧param葬.憐AsStri團ng帳()+啟居"\n"單;幅

扎}恭

訂熟TaskDi柿alog芽.斥Show咳(泄"REVIT江"駝,直主strPar譽amInfo撐);催

賞慶return詠量Result床.握Succee團ded窄;績

}

}}肉5、獲得指定綁族參數(shù)并修改屬參數(shù),這里以吉窗戶的底高度逆為例。這里用圣兩種方法找到稱指定參數(shù),尤制其是用名稱找笨到指定參數(shù)尤附其要注意,舊骨版本的紛get_Pa秧ramete拔r皇()已經(jīng)不能腫用了閱using碧角System評.調(diào)Text飲;鏡using尼博System赴.竿Thread深ing領(lǐng).僑Tasks留;思using因秘Autode欺sk繳.叉Revit姑.頃UI擠;帽using櫻休Autode噸sk巨.倉Revit擾.享DB慘;覆using泰傻A(chǔ)utode騾sk雹.添Revit肆.答UI逐.柏Select度ion木;姿using窄迫Autode換sk猴.械Revit衣.剝Applic疲ationS禿ervice播s概;橋namesp織ace餅施獲得指定參數(shù)牌并修改參數(shù){芹

[場Autode面sk巧.呢Revit瀉.踩Attrib某utes傻.鑰Transa橋ction臉(渣Autode邊sk畝.恐Revit洗.擺Attrib度utes殊.淹Transa效ctionM襖ode配.雖Manual奔)]胃

[正Autode高sk擇.熔Revit精.襖Attrib威utes說.糾Journa烤ling堡(扣Autode案sk買.把Revit拼.贊Attrib泊utes眠.燦Journa縱lingMo板de究.葬NoComm滴andDat塘a燒)]恭

[轟Autode誕sk襖.沈Revit良.曠Attrib案utes仆.鉛Regene坦ration李(尊Autode遵sk步.旱Revit業(yè).荷Attrib望utes令.治Regene誕ration地Option怕.戴Manual多)]太

肆顫public債永class滑肚Class1悟某:虧嗽IExter匯nalCom越mand

{蛋

傾停public有燕Result橋胸Execut耽e集(鞭Extern料alComm窗andDat葡a顫持comman鼠dData闖,番醒ref沃擇string債紋messag貍e獲,遣河Elemen粘tSet憲算elemen議ts筑)瑞

{禽

德必Docume幼nt舟池revitD右oc露莊=塊酒comman革dData培.價Applic陷ation妙.賞Active匠UIDocu魔ment豎.廣Docume鋤nt梁;

乖灰//取得文檔陰

裙驅(qū)UIAppl懶icatio餓n劃筋uiApp掠托=刪捏comman牢dData夢.截Applic按ation縫;耕

閃門Applic冬ation聲眉revitA統(tǒng)pp講梳=棍作comman刃dData授.童Applic教ation垃.城Applic倆ation響;

背殿//取得應(yīng)用狠程序飛

兄惰//取得選擇替的元素國

被封Select擠ion傻遵sel針寶=摩脹uiApp鍛.旁Active巴UIDocu桌m(xù)ent需.浸Select奇ion搭;樣

希六Refere彩nce朗鳥ref1區(qū)咬=愿忍sel塑.澤PickOb拳ject彈(柜Object蓮Type賭.促Elemen務(wù)t沃,牢液"選擇一個窗悲族"漫);刊

禿

處御Elemen刮t六鄉(xiāng)elem芬鐵=獵閑revitD外oc揚.挺GetEle壩ment兇(粥ref1剩);昂

拖膠//獲得族實配例沉

帖悅Family扶Instan達ce速茶family告Instan虹ce啦載=養(yǎng)簽elem腦騰as匪泥Family僻Instan潮ce宴;應(yīng)

線濫//遍歷元素且的參數(shù)籠

困腫string鑰鍋strPar徹amInfo祝球=臂覽null班;觸

繭睜////方法船一:使用處parame備terId洪來找到參數(shù)無

數(shù)傷//Para拌meter溝param慘=fam洗ilyIns去tance.真get_Pa甘ramete拖r(Buil墨tInPar顛ameter往.INSTA魄NCE_SI諒LL_HEI兼GHT_PA班RAM);尾

喘磁//笨strPar堤amInfo田+=某param.貨Defini蠶tion.N桃ame薯+"va朽l(xiāng)ueis段:"+涌param.或AsValu打eStrin趁g屑()+"撓\n";雞

/真/方法二:使遺用名稱來找到投參數(shù),因為r疊evit20姓16為了避免墓得到重復(fù)的名闊字,只能用漫GetPar正ameter助s膛得到一個集合撞,如果你只用交唯一的名字,銷那只用取li話st[0]就骨可以了簡

嶄任IList伯<斬Parame汗ter百>某祖list濕鳴=淚損family避Instan帶ce倍.馳GetPar盾ameter竟s辮(謙"底高度"辭);誠

盼槍Parame榜ter墾壯param鄉(xiāng)跡=率兼list福[0];古

貫島strPar晃amInfo基搭+=仗只param鎮(zhèn).虜Defini驕tion兆.拍Name草日+揉糕"value奉is:"爆挨+寬剝param壁.倆AsValu絨eStrin曉g榜()+惕抽"\n"湊;做

仁//方法三:微見下圖幫

哨窄//修改參數(shù)織的值靠

豈宴Transa豆ction攪擊transa杏ction阿子=耍餃new炒什Transa約ction淹(古revitD園oc壩);燈

勒唇//打開子程丸序,修改參數(shù)誦,然后關(guān)閉子護程序

渠賠transa壟ction盞.家Start刃(眠"改變族類型稿名稱"位);紅

鐮旅param驚.棄Set聯(lián)(10);

設(shè)裳//注意,這鄙里單位是英寸繞,10英寸等哪于3048m夫m拼

挺董transa馬ction確.金Commit潤();匯

懲頌Tas

溫馨提示

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

評論

0/150

提交評論