李華忠
(安徽省宿州市勘測規(guī)劃設(shè)計院,安徽宿州234000)
對沉降收斂曲線自動繪制的完善
李華忠
(安徽省宿州市勘測規(guī)劃設(shè)計院,安徽宿州234000)
對高層建筑物進行全面的、系統(tǒng)的、長期的沉降監(jiān)測,發(fā)現(xiàn)異常,即時分析原因,采取補救措施,對于確保高層建筑物在施工期間和投入運營后的安全,具有非常重要的意義。
變量聲明;荷載線;AcadApplication
以前我單位畫沉降收斂曲線,是通過EXCEL圖表功能生成,曲線做出來不僅不美觀,而且沒有荷載線。如果通過CAD繪制,速度有點慢。于是本人編制了一套VB程序,使已有的EXCEL數(shù)據(jù)自動的,批量的轉(zhuǎn)為CAD格式的沉降收斂曲線圖形。
如圖1所示。
圖1
如圖2所示。
Dim AcadApp As AcadApplication
Dim plineObj1 As AcadLWPolyline
Dim plineObj2 As AcadLWPolyline
Dim points()As Double
Dim points1()As Double
Dim points2(0 To 3)As Double
Dim points3(0 To 7)As Double
Set AcadApp=CreateObject("AutoCAD.Application")
Dim CJexcel1 As Excel.Application
Dim CJbook1 As Excel.Workbook
Dim CJsheet1 As Excel.Worksheet
Dim CJsheet2 As Excel.Worksheet
Set CJexcel1=CreateObject("excel.application")
points1(X)=(CJsheet2.Cells(i+1,m+1).Value)/10
points1(X+1)=i+80*(j-1)
SetplineObj1 = AcadApp.ActiveDocument.ModelSpace.Ad?dLightWeightPolyline(points1)
points2(0)=FD1:points2(1)=FD2
points2(2)=80:points2(3)=FD2
SetplineObj2 = AcadApp.ActiveDocument.ModelSpace.Ad?dLightWeightPolyline(points2)
For i=1 To CC
TextString=Fix(i*HengXianBiaoZhu)
points2(0)=0:points2(1)=i+80*(j-1)
points2(2)=0.5:points2(3)=i+80*(j-1)
InserPiont(0)=-1#:InserPiont(1)=i+0.2+80*(j-1):InserPiont(2)=0
Set TextObj1=AcadApp.ActiveDocu?ment.ModelSpace.AddText(TextString,Inser?Piont,Height)
SetplineObj2=AcadApp.ActiveDocu?ment.ModelSpace.AddLightWeightPolyline(points2)
Next i
For i=1 To GuanCeQiShuo
k=4*i-3
CJsheet2.Cells(i+1,m)=CJsheet1.Cells(1,k+1)
litestriQi=CDate(CJsheet1.Cells(1,k+1))
litestriQi2=CDate(CJsheet1.Cells(1,2))
CJsheet2.Cells(i+1,m+1)=DateValue(CJsheet1.Cells(1,k+1))-DateValue(CJsheet1.Cells(1,2))
CJRQshuozu(i)=CJsheet1.Cells(1,k+1)
CJsheet2.Cells(i+1,m+3)=CJsheet1.Cells(j+2,k)
DianMing=CJsheet1.Cells(j+2,k)
If CJsheet1.Cells(j+2,k+3)=""And i<> 1 Then
CJsheet2.Cells(i+1,m+2)=CJsheet2.Cells(i,m+2)
Else
CJsheet2.Cells(i+1,m+2)=CJsheet1.Cells(j+2,k+3)
End If
points(X)=(CJsheet2.Cells(i+1,m+1).Value)/10:points(X+1)=-(CJsheet2.Cells(i+1,m+2).Value)+80*(j-1)
If i<=FengDingCiShuo Then
points1(X)=(CJsheet2.Cells(i+1,m+1).Value)/10:points1(X+1)=i+80*(j-1)
FD1=points1(X)
FD2=points1(X+1)
Else
End If
X=2*i
CJshuozu1(i)=Val(CJsheet2.Cells(i+1,m+1).Value)/10
Next i
Set plineObj=AcadApp.ActiveDocument.ModelSpace.Ad?dLightWeightPolyline(points)
沉降監(jiān)測是一項精密的工程測量,由于工作多,任務(wù)重,時間要求緊,如果利用常規(guī)方法,保質(zhì)保量按時完成任務(wù),難度很大。限于此因,我做了這個與沉降監(jiān)測工作配套的程序,極大提高了工作效率。此軟件已在工作中使用很長時間了,迄今為止運行穩(wěn)定,性能、效果良好。
[1]賽奎春,李俊民.Visual Basic函數(shù)參考大全[M].人民郵電出版社,2007.
[2]顧孝烈.測量學(xué)[M].4版.同濟大學(xué)出版社,2012.
[3]黃聲享.變形監(jiān)測數(shù)據(jù)處理[M].武漢大學(xué)出版社,2010.
TP393
A
1009-3044(2017)24-0185-02
2017-06-26