از پارسکدرز بیشترین بهره را ببرید و رویای کاری خود را زندگی کنید.
یازده ساعت پیش منتشر شده
تعداد بازدید: 25
کد پروژه: 620774
شرح پروژه
این خلاصه تجربیات رو براش بفرستید — نکتهی اصلی اینه که راه بهتری هم وجود داره که اصلاً از اکسل/Interactive Database رد نمیشه:
---
## تجربههای پروژه (برای برنامهنویس)
**پیشینه:** تا الان دیتابیسهای بزرگ (ستون مربعی/دایرهای، اسلب، عرشه، فنر شمع، Load Pattern) رو با پایتون (openpyxl) در فایل اکسل میساختیم و با روش **To Excel → Paste Append → From Excel** در Interactive Database Editing ایتبس وارد میکردیم. این روش کار میکنه ولی برای فایلهای بزرگ (۵۰ تا ۲۰۰ هزار ردیف) روی سیستمهای معمولی خیلی کند بود (گاهی ساعتها، گاهی هنگ میکرد).
**مشکل دوم مهمتر:** وقتی فقط جدول هندسه (Concrete Rectangular/Circle) رو وارد میکنیم، آرماتور (جنس AII/AIII، سایز میلگرد، خاموت، Reinforcement to be Checked) اصلاً ست نمیشه و باید جدول Reinforcement Data رو جدا وارد کنیم.
### راهحل واقعی: بهجای اکسل، از CSI OAPI استفاده کن
ایتبس یک API رسمی COM داره (`CSI.ETABS.API.ETABSObject`) که از پایتون (با کتابخونهی `comtypes`)، C#، یا VBA قابل دسترسیه. با این روش، هندسه + آرماتور در یک تابع و یک اجرا ست میشن، بدون اینکه از منوی Interactive Database رد بشیم — واقعاً "یک کلیک" (اجرای اسکریپت).
توابع کلیدی:
```python
import comtypes.client
helper = comtypes.client.CreateObject('ETABSv1.Helper')
helper = helper.QueryInterface(comtypes.gen.ETABSv1.cHelper)
EtabsObject = helper.GetObject("CSI.ETABS.API.ETABSObject") # اتصال به نمونهی باز ایتبس
SapModel = EtabsObject.SapModel
# هندسهی ستون مربعی
SapModel.PropFrame.SetRectangle("COLUMN_180x180_16Φ16", "C25", 180, 180)
# آرماتور (طولی + خاموت در یک تابع)
SapModel.PropFrame.SetRebarColumn(
"COLUMN_180x180_16Φ16", # نام مقطع
"AIII", "AII", # متریال میلگرد طولی، متریال خاموت
2, 2, # Pattern (Rectangular)، ConfineType (Ties)
4, # Cover
0, 4, 4, # NumberCBars, NumberR3Bars, NumberR2Bars
"16", "10", # RebarSize, TieSize
15, # فاصلهی خاموت
2, 2, # تعداد خاموت در هر جهت
False # ToBeDesigned=False یعنی Checked
)
```
برای مقطع دایرهای از `SetCircle` و برای آرماتور دایرهای از `SetRebarColumn` با `Pattern` متفاوت استفاده میشه.
### پیشنهاد عملی برای برنامهنویس
1. همون فایلهای اکسلی که ساختیم رو بهعنوان **منبع داده** بخونه (با pandas یا openpyxl) — نیازی نیست دوباره بسازتشون
2. برای هر ردیف، یک حلقه بزنه و `SetRectangle`/`SetCircle` + `SetRebarColumn` رو صدا بزنه
3. یک دکمه یا اسکریپت بسازه که مستقیم به نمونهی باز ایتبس وصل بشه (`helper.GetObject`) تا کاربر فقط دکمه رو بزنه
4. این روش، چون مستقیم با API حرف میزنه نه با UI، باید از نظر سرعت **چند برابر سریعتر** از Paste در Interactive Database باشه
### منابع فنی
مستندات رسمی: `docs.csiamerica.com/help-files/etabs-api-2016` — توابع `cPropFrame.SetRectangle`، `cPropFrame.SetCircle`، `cPropFrame.SetRebarColumn`، `cPropMaterial.AddQuick`
این پروژه شامل 3 فایل مهم است، لطفا قبل از ارسال پیشنهاد حتما نسبت به بررسی این فایل اقدام فرمایید.
مهارت ها و تخصص های مورد نیاز
بودجه
500,000 تومان تا 1,500,000 تومان
مهلت برای انجام
10روز
وضعیت مناقصه
باز (آماده دریافت پیشنهاد)
درباره کارفرما
عضویت دوازده ساعت پیش
نیاز به استخدام فریلنسر یا سفارش پروژه مشابه دارید؟
قادر به انجام این پروژه هستید؟
تا کنون 2 پیشنهاد قیمت از سمت فریلنسرها برای این پروژه ارسال شده
تبدیل فایل adobe xd ّبه html css
یازده ساعت پیش منتشر شده
به رایگان یک حساب کاربری بسازید
مهارتها و تخصصهای خود را ثبت کنید، رزومه و نمونهکارهای خود را نشان دهید و سوابق کاری خود را شرح دهید.
به شیوهای که دوست دارید کار کنید
برای پروژههای دلخواه در زمان دلخواه پیشنهاد قیمت خود را ثبت کنید و به فرصتهای شغلی منحصر به فرد دسترسی پیدا کنید.
با اطمینان دستمزد دریافت کنید
از زمان شروع کار تا انتهای کار به امنیت مالی شما کمک خواهیم کرد. وجه پروژه را از ابتدای کار به امانت در سایت نگه خواهیم داشت تا تضمین شودکه بعد از تحویل کار دستمزد شما پرداخت خواهد شد.
میخواهید شروع به کار کنید؟
یک حساب کاربری بسازید
بهترین مشاغل فریلنسری را پیدا کنید
رشد شغلی شما به راحتی ایجاد یک حساب کاربری رایگان و یافتن کار (پروژه) متناسب با مهارتهای شما
است.
پیدا کردن کار (پروژه)
تماشای دمو روش کار