برای تهیه اسناد مناقصه برای یک خط لوله نفت به یک مشکل عظیم برخوردم . اول اینکه باید از فهرست بهای خط لوله نفت برای اسناد استفاده کنیم و دوما بعد اینکه قرارداد امضا شد یک قلم می شه یعنی قیمت کار بسته شد و بعد اگر احجام در حین کار تغییر کرد کارفرما نمی تونه براساس احجام واقعی قیمت رو در بیاره (آش شعله قلم کاری که کارفرما پخته برای خودش) . اما پیمانکار اگر احجام واقعی کار از احجام اسناد بالا بره مطمئنا مدعی می شه (کلیم می کنه) .
در فهرست بهای خط لوله نفت ریسه و جوشکاری در شیب های مختلف اضافه بهای مختلفی داره که برای بخش مهندسی در آوردن این طول ها کار راحتی نیست .من یک پرفیل طولی از خط پروژه مسیر داشتم که فایل اتوکد بود . اول شروع کردم به اندازه گیری از روی خط که دیدیم این کار شدنی نیست و تازه در طراحی اشتباهاتی رخ داده . دادیم مهندسی نقشه رو اصلاح کرد . حالا چطوری باید این فواصل رو با توجه به شیب از هم تفکیک کرد کار راحتی نبود و طول مسیر حدود 240 کیلومتر هم می شد. به فکر افتادم یک برنامه با VBA بنویسم که بتونه مشخصات خط ها رو به فایل اکسل ببره .که برنامه اطلاعات X, Y شروع و انتهای تمامی خط ها رو در یک فایل تکست می ریزه بعد اونو با اکسل باز کردم و هر بلایی که دوست داشتم سر اعداد آوردم . مثلا طول خط ها شیب رو حساب کردم بعد هم بر اساس شیب سورت کردم و طول مسیر در شیب های محدوده مورد نظر رو محاسبه کردم
برنامه را در ادامه مطلب میذارم شاید بدردتون خورد Sub ALI()
Dim LineObj As AcadLine
Dim INEObj As AcadLine
Dim ssetObj As AcadSelectionSet
Dim sFileText As String
Dim iFileNo As Integer
Dim I, Count As Integer
iFileNo = FreeFile
‘open the file for writing
Open “D:\Test.txt” For Output As #iFileNo
Set ssetObj = ThisDrawing.SelectionSets.Add(”TEMP”)
‘ Add objects to a selection set by prompting user to select on the screen
ssetObj.SelectOnScreen
Count = ssetObj.Count
For I = 0 To Count – 1
Set LineObj = ssetObj.Item(I)
Print #iFileNo, I & “;” & LineObj.StartPoint(0) & “;” & LineObj.StartPoint(1) & “;” & LineObj.EndPoint(0) & “;” & LineObj.EndPoint(1)
Next
Close #iFileNo
ThisDrawing.SelectionSets(”TEMP”).Delete
End Sub
ضمنا فایل test.txt رو حتما باید اول کار در درایو D درست کرده و خالی باشد




