مقدمه
رابط برنامه نویسی کاربردی [Application Programming Interface] یک ابزار ارزشمند در خدمت نرم افزارهای CSI نظیر SAP و ETABS می باشد که به مهندسین امکان بهره برداری از این نرم افزارها را با زبان و ادبیات کدنویسی مانند ویژوال بیسیک تحت اکسل (VBA)، سی شارپ، ++C، متلب، فرترن و پایتون ایجاد می نماید. به زبان ساده تر یک مهندس بواسطه API قادر می باشد از طریق کدنویسی تمام دستورات و ابزارهای نرم افزارهای ETABS و SAP را بکار بسته و اهدافی همچون مدلسازی، بارگذاری، تحلیل و طراحی و استخراج انواع نتایج را به انجام رساند.
مهندسین با بکارگیری API می توانند ابزارهای شخصی کار خود را بسازند و از طریق آنها نرم افزارهای CSI را تحت کنترل قرار دهند. این ابزارها قادر خواهند بود در چند ثانیه کارهای وقتگیر را بارها و بارها بدون خطای انسانی به انجام برسانند.
جالبتر اینکه تمام این ادبیات و توابع برنامه نویسی در فایل Help نرم افزارهای CSI برای کاربر جهت استفاده قرار داده شده است. در این فایل تمام توابع CSI API از لحاظ عملکرد، ساختار [Syntax] و پارامترهای ورودی بر اساس نسخه نرم افزار، تشریح شده است.
شکل 1 – نمونه فایل Help نرم افزار ETABS مربوط به ادبیات ویژوال بیسیک
در ادامه مثالی ساده جهت آشنایی اولیه با API برای استفاده از نرم افزار SAP2000 از طریق اِکسل برای مهندسینی که به ماکرو نویسی [VBA] علاقه مند هستند، ارائه می گردد. فایل راهنمای API از داخل فولدر SAP به آدرس زیر قابل دسترس است.
Your System/Computer and Structures/SAP2000/SAP2000_API_Documentation.chm
گام 1: ارتباط اکسل با SAP
اولین گام برای اتصال اکسل به SAP این است که نرم افزار SAP را به اکسل ارجاع دهیم. برای این کار برنامه MS-Excel را اجرا کنید و وارد محیط VBA شوید (Alt+F11). سپس از منو بالا وارد Tools>References شوید و مانند شکل زیر با فعال کردن گزینه SAP2000 آنرا به اکسل ارجاع دهید.

گام 2: تعریف متغیرهای اصلی
در مرحله بعدی باید متغیرهای SapObject و SapModel تعریف شوند. اول از طریق منوی اصلی VBA مطابق شکل زیر یک مدول تعریف کنید.

سپس دستورات زیر را در محیط VBA تایپ کنید:
Dim SapObject As SAP2000.SapObject Dim SapModel As cSapModel
گام 3: اجرای نرم افزار 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)
گام 4: بستن نرم افزار
بواسطه دستورات زیر نرم افزار SAP را بسته و ارتباط آنرا با VBA قطع نمایید:
SapObject.ApplicationExit False
Set SapModel = Nothing Set SapObject = Nothing
مجموع دستورات بالا اگر به تفکیک در هر سابروتین نوشته شود، شمای کلی کد بصورت زیر خواهد شد.

گام 5: اجرای کُد
جهت اجرای ماکروی نوشته شده بترتیب از اولین سابروتین به آخرین سابروتین باید حرکت نمود. بدین منظور مطابق شکل 5 از لیست Procedures سابروتین SAP2000_Open را انتخاب نمائید و از طریق کلید Run Sub (یا کلید F5) آنرا اجرا کنید. به این ترتیب ملاحظه می کنید که نرم افزار SAP2000 اجرا شد.

بعد از اجرای نرم افزار مجدد از لیست سابروتین ها Create_Model را انتخاب کنید و آنرا Run کنید. مطابق شکل 6، مدل قاب 3 بعدی در کسری از ثانیه تولید می گردد.

در انتها سابروتین SAP2000_Close را اجرا کنید تا نرم افزار بسته شود و ارتباطش با اکسل قطع گردد. توصیه می شود که اگر SAP بوسیله ماکرو اجرا شده است تا انتها بوسیله ماکرو کنترل گردد و بسته شود.
ملاحظه کردید که چقدر ساده می توان از طریق کد نویسی، نرم افزار های CSI را به خدمت گرفت و اجرای پیچیده ترین دستورات را بواسطه چند خط متن به انجام رساند.
سلام عالی بود
ولی متاسفانه لینک ها کار نمیکنند
درود،
ممنون از تذکر شما، اصلاح شد.
سلام ممنون از توضیحاتتون
میخواسم بدونم حتی توی ایتبس و سپ کرک شده هم میشه این کارها رو انجام داد؟؟
سلام استفاده از API مانند استفاده از ربات تلگرامی است که شما با کد نویسی یک ربات مجازی خلق کرده که کنترل نرم افزار SAP را بدست می گیرد به کرک نبودن برنامه ارتباطی ندارد.