یکشنبه ، ۳۰ مهر ، ۱۳۹۶
Menu

آخرین مطالب

آشنایی با API – دسترسی به SAP2000 از طریق اِکسل89۱۳۹۶ ، ۰۶ ، ۲۸

Blog960500 #046 - API 000-2

  • مقدمه

رابط برنامه نویسی کاربردی [Application Programming Interface] یک ابزار ارزشمند در خدمت نرم افزارهای CSI نظیر SAP و ETABS می باشد که به مهندسین امکان بهره برداری از این نرم افزارها را با زبان و ادبیات کدنویسی مانند ویژوال بیسیک تحت اکسل (VBAسی شارپ، ++C، متلب، فرترن و پایتون ایجاد می نماید. به زبان ساده تر یک مهندس بواسطه API قادر می باشد از طریق کدنویسی تمام دستورات و ابزارهای نرم افزارهای ETABS و SAP را بکار بسته و اهدافی همچون مدلسازی، بارگذاری، تحلیل و طراحی و استخراج انواع نتایج را به انجام رساند.

مهندسین با بکارگیری API می توانند ابزارهای شخصی کار خود را بسازند و از طریق آنها نرم افزارهای CSI را تحت کنترل قرار دهند. این ابزارها قادر خواهند بود در چند ثانیه کارهای وقتگیر را بارها و بارها بدون خطای انسانی به انجام برسانند.

جالبتر اینکه تمام این ادبیات و توابع برنامه نویسی در فایل Help نرم افزارهای CSI برای کاربر جهت استفاده قرار داده شده است. در این فایل تمام توابع CSI API از لحاظ عملکرد، ساختار [Syntax] و پارامترهای ورودی بر اساس نسخه نرم افزار، تشریح شده است.

 

Blog960500 #046 - API 001

تصویر ۱ – نمونه فایل Help نرم افزار ETABS مربوط به ادبیات API

در ادامه مثالی ساده جهت آشنایی اولیه با API برای استفاده از نرم افزار SAP2000 از طریق اِکسل برای مهندسینی که به ماکرو نویسی [VBA] علاقه مند هستند، ارائه می گردد. فایل راهنمای API از داخل فولدر SAP قابل دسترس است؛ با این حال برای ویرایش ۱۴ از طریق لینک زیر می توانید آنرا دانلود کنید.

Download-Computer-512

دانلود فایل راهنما

Blog960500 #046 - API 003

  • گام ۱: ارتباط اکسل با SAP

اولین گام برای اتصال اکسل به SAP این است که نرم افزار SAP را به اکسل ارجاع دهیم. برای این کار برنامه MS-Excel را اجرا کنید و وارد محیط VBA شوید (Alt+F11). سپس از منو بالا وارد Tools>References شوید و مانند شکل زیر با فعال کردن گزینه SAP2000 آنرا به اکسل ارجاع دهید.

 

Blog960500 #046 - API 002

تصویر ۲ – لینک کردن اکسل به نرم افزار SAP

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

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

 

Blog960500 #046 - API 004

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

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

 

Blog960500 #046 - API 005

تصویر ۴ – کُد تهیه شده در محیط VBA

  • گام ۵: اجرای کُد

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

Blog960500 #046 - API 006

تصویر ۵ – انتخاب سابروتین

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

Blog960500 #046 - API 007

تصویر ۶

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

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

excel-xls-icon

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

تعداد دانلود: 7


بخش نظرات سایت :

دیدگاه ارسال شده توسط شما ، پس از تایید توسط مدیران سایت منتشر خواهد شد.


كليه حقوق مادی و معنوی سايت محفوظ مي باشد. © 1395-1394