سازه و تکنولوژی | structech

آشنایی با API – دسترسی به SAP2000 از طریق اِکسل

امیر کورش وثوق
3519

آشنایی با API – دسترسی به SAP2000 از طریق اِکسل

مقدمه

رابط برنامه نویسی کاربردی [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 – لینک کردن اکسل به نرم افزار

 

گام 2: تعریف متغیرهای اصلی

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

 

شکل 3 – تعریف مدول در محیط 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

مجموع دستورات بالا اگر به تفکیک در هر سابروتین نوشته شود، شمای کلی کد بصورت زیر خواهد شد.

 

شکل 4 – کُد تهیه شده در محیط VBA

 

گام 5: اجرای کُد

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

 

شکل 5 – انتخاب سابروتین

 

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

 

شکل 6 – مدل ساخته شده

 

در انتها سابروتین SAP2000_Close را اجرا کنید تا نرم افزار بسته شود و ارتباطش با اکسل قطع گردد. توصیه می شود که اگر SAP بوسیله ماکرو اجرا شده است تا انتها بوسیله ماکرو کنترل گردد و بسته شود.

ملاحظه کردید که چقدر ساده می توان از طریق کد نویسی، نرم افزار های CSI را به خدمت گرفت و اجرای پیچیده ترین دستورات را بواسطه چند خط متن به انجام رساند.

دانلود فایل اکسل

این مطلب را به اشتراک بگذارید

4 دیدگاه دربارهٔ «آشنایی با API – دسترسی به SAP2000 از طریق اِکسل»

  1. سلام ممنون از توضیحاتتون
    میخواسم بدونم حتی توی ایتبس و سپ کرک شده هم میشه این کارها رو انجام داد؟؟

    1. سلام استفاده از API مانند استفاده از ربات تلگرامی است که شما با کد نویسی یک ربات مجازی خلق کرده که کنترل نرم افزار SAP را بدست می گیرد به کرک نبودن برنامه ارتباطی ندارد.

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

اسکرول به بالا