本發(fā)明涉及基于路基邊坡立面圖設(shè)計的圖元批量等間距粘貼的autocad輔助工具,尤其涉及一種快速布置抗滑樁的autocad二次開發(fā)工具。
背景技術(shù):
高速公路設(shè)計要求車輛時速高,路線彎度小,即使是通過前期的地質(zhì)選線也不可避免的要出現(xiàn)很多高填深挖和路塹邊坡,我們在進行支護設(shè)計時要用到很多支護措施,如擋墻、抗滑樁、錨索等。在進行設(shè)計繪圖時需要重復(fù)大量的體力勞動,尤其是抗滑樁的布置設(shè)計,需要逐個繪制并且修改抗滑樁樁頂標(biāo)高、每個抗滑樁的公里樁號等工作,這樣操作設(shè)計效率很低,且由于人工的問題易出現(xiàn)樁頂標(biāo)高和樁號標(biāo)記錯誤,如按照錯誤圖紙施工,將造成不合理變更或者報廢工程,造成巨大的經(jīng)濟損失?,F(xiàn)市面上出現(xiàn)了各種計算機繪圖輔助工具,比如繪制擋土墻的緯地擋土墻軟件、計算滑坡推力的理正軟件等。但是,對于抗滑樁的設(shè)計繪圖,尤其是立面繪圖缺少相應(yīng)提高工作效率的工具。本專利基于長期的公路路基設(shè)計工作,針對抗滑樁立面圖的繪制,運用autolisp語言開發(fā)編寫了相應(yīng)的autocad輔助工具。
本發(fā)明要解決的技術(shù)問題,在于開發(fā)出一個autocad一個新的功能模塊,實現(xiàn)在路基邊坡立面圖上快速準(zhǔn)確布置抗滑樁,可以減輕設(shè)計人員的工作量,提高作圖效率和準(zhǔn)確度。
技術(shù)實現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題是提供一種在路基邊坡立面圖上指定基點快速準(zhǔn)確布置抗滑樁的方法,可以實現(xiàn)指定基點的抗滑樁快速準(zhǔn)確布置,同時自動計算樁頂標(biāo)高和公里樁號,可減輕設(shè)計人員的工作量,提高設(shè)計精確度,可以克服現(xiàn)有技術(shù)的不足。
本發(fā)明的技術(shù)方案是:一種在路基邊坡立面圖上指定基點快速準(zhǔn)確布置抗滑樁的方法,它包括下列步驟:
步驟1,選取要布樁的地面線,取地面線的節(jié)點坐標(biāo)作為控制點,并將其保存到一個list中;
步驟2,輸入?yún)?shù)計算該地面線需要布樁的個數(shù)number,所述參數(shù)包括樁間距number_zjj、xn為地面線最右端的端點、x0為地面線最左端的端點,number的計算公式為number=[(xn-x0)/number_zjj]+1;
步驟3,輸入布樁起點方向,從左端向右端,根據(jù)起點方向及參數(shù)分別計算每個樁的樁頂坐標(biāo),所述的參數(shù)包括第n根樁的樁頂橫坐標(biāo)x_c、相鄰地面線兩個控制點橫坐標(biāo)x_a和x_b,x_c的計算公式為:x_c=x0+(n-1)*number_zjj;通過比較x_c與相鄰地面線控制點x_a和x_b的關(guān)系來確定樁頂縱坐標(biāo);
當(dāng)x_a<x_c<x_b時,樁頂縱坐標(biāo)y_c=(x_c-x_a)/(x_b-x_a)*(y_c-y_a),
若x_a=x_c,樁頂縱坐標(biāo)y_c=y_a;
步驟4,輸入首根樁的公里樁號zh_qd,計算各個樁的公里樁號數(shù)值,并將該數(shù)值轉(zhuǎn)化為公里樁號標(biāo)準(zhǔn)形式的字符串并保存于glzh_list中以備后用,第n根樁的樁號zh_n計算公式為:zh_n=zh_qd+(n-1)*number_zjj;
步驟5,輸入首根樁樁頂標(biāo)高ddbg_0以及比例bl_number,計算出各個樁的樁頂標(biāo)高并將其保存到ddbg_list中以備后用,樁頂標(biāo)高的計算公式為:ddbg_n=ddbg_0+(y_c_n-y0)/(bl_number/1000),其中ddbg_n為第n根樁的樁頂標(biāo)高,y_c_n為第n根樁的樁頂縱坐標(biāo),y0為首個樁的樁頂縱坐標(biāo);
步驟6,框選標(biāo)準(zhǔn)樁,點選復(fù)制基點,將標(biāo)準(zhǔn)樁的各個圖元存入選擇集ss中,進一步對各個圖元進行逐個復(fù)制,并將復(fù)制體以點選的基點為參照移動到首根樁的樁頂坐標(biāo)上,進一步對移動后的圖元進行篩選,當(dāng)篩選條件為"text"類型的純數(shù)字文本時判斷其為樁頂標(biāo)高,當(dāng)篩選條件為帶有“k”的"text"類型或者"mtext"類型文本時判斷其為公里樁號,對于樁頂標(biāo)高,將該圖元的數(shù)值textstring修改為第5步所計算出的ddbg_list中的樁頂標(biāo)高;對于公里樁號,將該圖元的數(shù)值textstring修改為第4步所計算出的glzh_list中的公里樁號;
步驟7,重復(fù)步驟6將標(biāo)準(zhǔn)樁復(fù)制到其余各根樁頂坐標(biāo)的位置,完成抗滑樁在邊坡立面圖中的布置工作。
上述步驟2number為[(xn-x0)/number_zjj]取整數(shù)部分+1。
上述的步驟三中,若從右端向左開始布樁,原理同上述步驟3的方法。
上訴步驟4數(shù)值轉(zhuǎn)化是采用substr函數(shù)分別取得每個數(shù)值的最小三位數(shù)和它前面的幾位數(shù),然后用strcat函數(shù)將其與“k”、“+”組裝成“kn+m”公里樁號的標(biāo)準(zhǔn)形式的字符串。
現(xiàn)有技術(shù)比較,本發(fā)明一種在路基邊坡立面圖上指定基點快速準(zhǔn)確布置抗滑樁的方法,它包括下列步驟:
步驟1,選取要布樁的地面線,取地面線的節(jié)點坐標(biāo)作為控制點,并將其保存到一個list中;這樣用做接下來的備用。
步驟2,輸入?yún)?shù)計算該地面線需要布樁的個數(shù)number,所述參數(shù)包括樁間距number_zjj、xn為地面線最右端的端點、x0為地面線最左端的端點,number的計算公式為number=[(xn-x0)/number_zjj]+1;number為[(xn-x0)/number_zjj]取整數(shù)部分+1,這樣能準(zhǔn)確計算出需要布樁的個數(shù)。
步驟3,輸入布樁起點方向,從左端向右端,根據(jù)起點方向及參數(shù)分別計算每個樁的樁頂坐標(biāo),所述的參數(shù)包括第n根樁的樁頂橫坐標(biāo)x_c、相鄰地面線兩個控制點橫坐標(biāo)x_a和x_b,x_c的計算公式為:x_c=x0+(n-1)*number_zjj;通過比較x_c與相鄰地面線控制點x_a和x_b的關(guān)系來確定樁頂縱坐標(biāo);
(1)當(dāng)x_a<x_c<x_b時,樁頂縱坐標(biāo)y_c=(x_c-x_a)/(x_b-x_a)*(y_c-y_a),
(2)若x_a=x_c,樁頂縱坐標(biāo)y_c=y_a;這樣能準(zhǔn)確計算出樁頂坐標(biāo)。
步驟4,輸入首根樁的公里樁號zh_qd,計算各個樁的公里樁號數(shù)值,并將該數(shù)值轉(zhuǎn)化為公里樁號標(biāo)準(zhǔn)形式的字符串并保存于glzh_list中以備后用,第n根樁的樁號zh_n計算公式為:zh_n=zh_qd+(n-1)*number_zjj;這樣能計算各個樁的公里樁號數(shù)值。
步驟5,輸入首根樁樁頂標(biāo)高ddbg_0以及比例bl_number,計算出各個樁的樁頂標(biāo)高并將其保存到ddbg_list中以備后用,樁頂標(biāo)高的計算公式為:ddbg_n=ddbg_0+(y_c_n-y0)/(bl_number/1000),其中ddbg_n為第n根樁的樁頂標(biāo)高,y_c_n為第n根樁的樁頂縱坐標(biāo),y0為首個樁的樁頂縱坐標(biāo);這樣能自動計算出樁頂?shù)臉?biāo)高。
步驟6,框選標(biāo)準(zhǔn)樁,點選復(fù)制基點,將標(biāo)準(zhǔn)樁的各個圖元存入選擇集ss中,進一步對各個圖元進行逐個復(fù)制,并將復(fù)制體以點選的基點為參照移動到首根樁的樁頂坐標(biāo)上,進一步對移動后的圖元進行篩選,當(dāng)篩選條件為"text"類型的純數(shù)字文本時判斷其為樁頂標(biāo)高,當(dāng)篩選條件為帶有“k”的"text"類型或者"mtext"類型文本時判斷其為公里樁號,對于樁頂標(biāo)高,將該圖元的數(shù)值textstring修改為第5步所計算出的ddbg_list中的樁頂標(biāo)高;對于公里樁號,將該圖元的數(shù)值textstring修改為第4步所計算出的glzh_list中的公里樁號;這樣能實現(xiàn)指定基點的抗滑樁快速準(zhǔn)確布置
步驟7,重復(fù)步驟6將標(biāo)準(zhǔn)樁復(fù)制到其余各根樁頂坐標(biāo)的位置,完成抗滑樁在邊坡立面圖中的布置工作,通過以上7個步驟,能實現(xiàn)指定基點的抗滑樁快速準(zhǔn)確布置,同時自動計算樁頂標(biāo)高和公里樁號,可減輕設(shè)計人員的工作量,提高設(shè)計精確度。
上訴步驟4數(shù)值轉(zhuǎn)化是采用substr函數(shù)分別取得每個數(shù)值的最小三位數(shù)和它前面的幾位數(shù),然后用strcat函數(shù)將其與“k”、“+”組裝成“kn+m”公里樁號的標(biāo)準(zhǔn)形式的字符串,例如“k10+100”在輸入時形式為:10100,這樣可以減少一次字符串向數(shù)值的轉(zhuǎn)化,優(yōu)化了布樁程序。
附圖說明
圖1是本發(fā)明的方法流程示意圖。
圖2是本發(fā)明布樁前的地面線和標(biāo)準(zhǔn)樁示意圖。
圖3是本發(fā)明運用布樁插件后的布樁效果的示意圖。
圖4是圖3的部分放大示意圖。
具體實施方式
實施例1.如下圖的圖1、圖2和圖3,一種在路基邊坡立面圖上快速準(zhǔn)確布置抗滑樁的方法,實現(xiàn)邊坡立面圖中抗滑樁的批量布置,包括下列步驟:
步驟1,選取要布樁的地面線,取地面線的節(jié)點坐標(biāo)作為控制點,并將其保存到一個list中;
步驟2,輸入?yún)?shù)計算該地面線需要布樁的個數(shù)number,所述參數(shù)包括樁間距number_zjj、xn為地面線最右端的端點、x0為地面線最左端的端點,number的計算公式為number=[(xn-x0)/number_zjj]+1,計算時,number為[(xn-x0)/number_zjj]取整數(shù)部分+1。
步驟3,輸入布樁起點方向,從左端向右端,根據(jù)起點方向及參數(shù)分別計算每個樁的樁頂坐標(biāo),所述的參數(shù)包括第n根樁的樁頂橫坐標(biāo)x_c、相鄰地面線兩個控制點橫坐標(biāo)x_a和x_b,x_c的計算公式為:x_c=x0+(n-1)*number_zjj;通過比較x_c與相鄰地面線控制點x_a和x_b的關(guān)系來確定樁頂縱坐標(biāo);
(1)當(dāng)x_a<x_c<x_b時,樁頂縱坐標(biāo)y_c=(x_c-x_a)/(x_b-x_a)*(y_c-y_a),
(2)若x_a=x_c,樁頂縱坐標(biāo)y_c=y_a;
若從右端向左開始布樁,原理同上述的方法。
步驟4,輸入首根樁的公里樁號zh_qd,計算各個樁的公里樁號數(shù)值,并將該數(shù)值轉(zhuǎn)化為公里樁號標(biāo)準(zhǔn)形式的字符串并保存于glzh_list中以備后用,第n根樁的樁號zh_n計算公式為:zh_n=zh_qd+(n-1)*number_zjj,數(shù)值轉(zhuǎn)化是采用substr函數(shù)分別取得每個數(shù)值的最小三位數(shù)和它前面的幾位數(shù),然后用strcat函數(shù)將其與“k”、“+”組裝成“kn+m”公里樁號的標(biāo)準(zhǔn)形式的字符串,例如“k10+100”在輸入時形式為:10100,這樣可以減少一次字符串向數(shù)值的轉(zhuǎn)化,優(yōu)化了布樁程序。
步驟5,輸入首根樁樁頂標(biāo)高ddbg_0以及比例bl_number,計算出各個樁的樁頂標(biāo)高并將其保存到ddbg_list中以備后用,樁頂標(biāo)高的計算公式為:ddbg_n=ddbg_0+(y_c_n-y0)/(bl_number/1000),其中ddbg_n為第n根樁的樁頂標(biāo)高,y_c_n為第n根樁的樁頂縱坐標(biāo),y0為首個樁的樁頂縱坐標(biāo),由于在抗滑樁的布置設(shè)計中,比例僅影響樁頂標(biāo)高,因此此時輸入比例為圖紙的縱向比例,也即是高程的比例,比例的單位是實際大小與圖紙中大小的比,圖紙中默認單位是毫米。
步驟6,框選標(biāo)準(zhǔn)樁,點選復(fù)制基點,將標(biāo)準(zhǔn)樁的各個圖元存入選擇集ss中,進一步對各個圖元進行逐個復(fù)制,并將復(fù)制體以點選的基點為參照移動到首根樁的樁頂坐標(biāo)上,進一步對移動后的圖元進行篩選,當(dāng)篩選條件為"text"類型的純數(shù)字文本時判斷其為樁頂標(biāo)高,當(dāng)篩選條件為帶有“k”的"text"類型或者"mtext"類型文本時判斷其為公里樁號,對于樁頂標(biāo)高,將該圖元的數(shù)值(textstring)修改為第5步所計算出的ddbg_list中的樁頂標(biāo)高;對于公里樁號,將該圖元的數(shù)值(textstring)修改為第4步所計算出的glzh_list中的公里樁號;所謂的標(biāo)準(zhǔn)樁就是作為模板用來復(fù)制的樁,選擇時要把標(biāo)準(zhǔn)樁的各個圖元都選中,單擊空格鍵結(jié)束框選,才能將其復(fù)制到各個樁頂坐標(biāo)上,篩選復(fù)制樁的各個圖元,該步驟主要為修改復(fù)制樁的樁頂標(biāo)高和公里樁號打基礎(chǔ),可根據(jù)需要增加篩選條件以便為增添新功能或者該autocad二次開發(fā)工具升級服務(wù)。
步驟7,重復(fù)步驟6將標(biāo)準(zhǔn)樁復(fù)制到其余各根樁頂坐標(biāo)的位置,完成抗滑樁在邊坡立面圖中的布置工作。
基于所述的在路基邊坡立面圖上快速準(zhǔn)確布置抗滑樁的方法,在autocad中設(shè)計了相應(yīng)的布樁插件,所述布樁插件除了用于邊坡立面圖的抗滑樁快速準(zhǔn)確布置外,還可以用于多圖元的批量等間距快速復(fù)制粘貼,還可以根據(jù)需要增設(shè)相應(yīng)的新功能。
使用上述布樁插件在autocad交互界面中的具體操作步驟如下:
加載布樁插件—>輸入“bz”—>點選布樁地面線—>根據(jù)提示輸入樁間距—>根據(jù)提示輸入布樁起點方向—>根據(jù)提示輸入首根樁的公里樁號—>根據(jù)提示輸入首根樁樁頂標(biāo)高—>根據(jù)提示輸入比例—>根據(jù)提示點選復(fù)制基點—>根據(jù)提示框選標(biāo)準(zhǔn)樁—>單擊空格或者回車鍵—>完成布樁操作。
綜上所述,本發(fā)明所采用的布樁方法可實現(xiàn)邊坡立面圖中快速準(zhǔn)確的布置抗滑樁,減輕工作人員的工作量,提高設(shè)計準(zhǔn)確度。