آشنایی با API – دسترسی به SAP2000 از طریق اِکسل
در این بخش میخواهیم در مورد API و ارتباط آن با ETABS و SAP توضیح دهیم
مقدمه
رابط برنامه نویسی کاربردی [Application Programming Interface] یک ابزار ارزشمند در خدمت نرم افزارهای CSI نظیر SAP و ETABS می باشد که به مهندسین امکان بهره برداری از این نرم افزارها را با زبان و ادبیات کدنویسی مانند ویژوال بیسیک تحت اکسل (VBA)، سی شارپ، ++C، متلب، فرترن و پایتون ایجاد می نماید. به زبان ساده تر یک مهندس بواسطه API قادر می باشد از طریق کدنویسی تمام دستورات و ابزارهای نرم افزارهای ETABS و SAP را بکار بسته و اهدافی همچون مدلسازی، بارگذاری، تحلیل و طراحی و استخراج انواع نتایج را به انجام رساند.
مهندسین با بکارگیری API می توانند ابزارهای شخصی کار خود را بسازند و از طریق آنها نرم افزارهای CSI را تحت کنترل قرار دهند. این ابزارها قادر خواهند بود در چند ثانیه کارهای وقتگیر را بارها و بارها بدون خطای انسانی به انجام برسانند.
جالبتر اینکه تمام این ادبیات و توابع برنامه نویسی در فایل Help نرم افزارهای CSI برای کاربر جهت استفاده قرار داده شده است. در این فایل تمام توابع CSI API از لحاظ عملکرد، ساختار [Syntax] و پارامترهای ورودی بر اساس نسخه نرم افزار، تشریح شده است.
در ادامه مثالی ساده جهت آشنایی اولیه با API برای استفاده از نرم افزار SAP2000 از طریق اِکسل برای مهندسینی که به ماکرو نویسی [VBA] علاقه مند هستند، ارائه می گردد. فایل راهنمای API از داخل فولدر SAP قابل دسترس است؛ با این حال برای ویرایش ۱۴ از طریق این لینک می توانید آنرا دانلود کنید.
گام ۱: ارتباط اکسل با SAP
اولین گام برای اتصال اکسل به SAP این است که نرم افزار SAP را به اکسل ارجاع دهیم. برای این کار برنامه MS-Excel را اجرا کنید و وارد محیط VBA شوید (Alt+F11). سپس از منو بالا وارد Tools>References شوید و مانند شکل زیر با فعال کردن گزینه SAP2000 آنرا به اکسل ارجاع دهید.
گام ۲: تعریف متغیرهای اصلی
در مرحله بعدی باید متغیرهای SapObject و SapModel تعریف شوند. اول از طریق منوی اصلی VBA مطابق شکل زیر یک مدول تعریف کنید.
سپس دستورات زیر را در محیط VBA تایپ کنید:
Dim SapObject As SAP2000.SapObject Dim SapModel As cSapModel
گام ۳: اجرای نرم افزار SAP و کنترل آن
حالا که تمام پیش زمینه ها در VBA جهت ارتباط اکسل با SAP برقرار شده، بوسیله دستور زیر می توانید نرم افزار SAP را از طریق اکسل اجرا کنید:
Set SapObject = New Sap2000.SapObject SapObject.ApplicationStart
برای باز کردن مدل جدید و ساختن یک قاب سه بعدی دستورات زیر را وارد نمایید:
ret = SapModel.InitializeNewModel(kN_m_C) ret = SapModel.File.New3DFrame(BeamSlab, 3, 12, 3, 28, 2, 36)
گام ۴: بستن نرم افزار
بواسطه دستورات زیر نرم افزار SAP را بسته و ارتباط آنرا با VBA قطع نمایید:
SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing
مجموع دستورات بالا اگر به تفکیک در هر سابروتین نوشته شود، شمای کلی کد بصورت زیر خواهد شد.
گام ۵: اجرای کُد
جهت اجرای ماکروی نوشته شده بترتیب از اولین سابروتین به آخرین سابروتین باید حرکت نمود. بدین منظور مطابق شکل ۵ از لیست Procedures سابروتین SAP2000_Open را انتخاب نمائید و از طریق کلید Run Sub (یا کلید F5) آنرا اجرا کنید. به این ترتیب ملاحظه می کنید که نرم افزار SAP2000 اجرا شد.
بعد از اجرای نرم افزار مجدد از لیست سابروتین ها Create_Model را انتخاب کنید و آنرا Run کنید. مطابق شکل ۶، مدل قاب ۳ بعدی در کسری از ثانیه تولید می گردد.
در انتها سابروتین SAP2000_Close را اجرا کنید تا نرم افزار بسته شود و ارتباطش با اکسل قطع گردد. توصیه می شود که اگر SAP بوسیله ماکرو اجرا شده است تا انتها بوسیله ماکرو کنترل گردد و بسته شود.
ملاحظه کردید که چقدر ساده می توان از طریق کد نویسی، نرم افزار های CSI را به خدمت گرفت و اجرای پیچیده ترین دستورات را بواسطه چند خط متن به انجام رساند.
برای دانلود فایل اکسل از این لینک اقدام کنید