کتابخانه باز - یک کتابخانه باز از اطلاعات آموزشی. طراحی از بالا به پایین و پایین به بالا طراحی از بالا به پایین و پایین به بالا در CAD

  • 07.02.2023

طراحی و برنامه ریزی سازه

طراحی از بالا به پایین

برنامه نویسی ماژولار

برنامه نویسی ساختاریافته

روش طراحی از بالا به پایین شامل تجزیه متوالی تابع پردازش عمومی داده به عناصر ساده کاربردی ("بالا به پایین").

در نتیجه، یک نمودار سلسله مراتبی ساخته می شود که منعکس کننده ترکیب و تابع توابع فردی است که به نام ساختار عملکردی الگوریتم (FSA)برنامه های کاربردی

دنباله اقدامات برای توسعه ساختار عملکردی الگوریتم برنامه:

اهداف اتوماسیون حوزه موضوعی و سلسله مراتب آنها مشخص می شود (هدف-فرعی);

ترکیب برنامه ها (وظایف پردازش) که اجرای اهداف را تضمین می کند.

ماهیت رابطه بین برنامه ها و ویژگی های اصلی آنها روشن می شود (اطلاعات برای حل مسائل، زمان و دفعات حل، شرایط اجرا و غیره).

توابع پردازش داده لازم برای حل مشکلات تعیین می شود.

تجزیه توابع پردازش به پیچیدگی ساختاری مورد نیاز انجام می شود که توسط ابزارهای پیشنهادی پیاده سازی شده است.

چنین ساختار برنامه ای (شکل 18.2) منعکس کننده مهم ترین چیز است - ترکیب و رابطه توابع پردازش اطلاعات برای اجرای برنامه ها، اگرچه منطق اجرای هر یک از عملکردها، شرایط یا فرکانس تماس های آنها را آشکار نمی کند.

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

بر اساس فراوانی استفاده، توابع به دو دسته تقسیم می شوند:

یک بار اعدام؛

تکراری

سطح جزئیات توابع ممکن است متفاوت باشد، اما نمودار سلسله مراتبی باید ایده ای از ترکیب و ساختار توابع مرتبط به هم ارائه دهد و الگوریتم کلیپردازش داده ها توابع پرکاربرد در طول طراحی به توابع استاندارد (توکار) تبدیل می شوند ساختار داخلیمحصول نرم افزاری

مثال 18.4.برخی از توابع، به عنوان مثال F2، نمی توانند بیشتر به اجزاء تجزیه شوند: آنها نیاز به اجرای مستقیم نرم افزار دارند. توابع دیگر، به عنوان مثال Ф1، Фm، می توانند به عنوان ترکیب ساختاری توابع ساده تر، برای مثال Ф11، Ф12 و غیره ارائه شوند. همه توابع جزء به طور مستقل در نرم افزار پیاده سازی می شوند. توابع مرکب(نوع F1، Фm) به عنوان ماژول های نرم افزاری پیاده سازی می شوند که عملکردهای جزء را کنترل می کنند، به عنوان مثال، در قالب برنامه های منو.

زیر برنامه ها

برنامه نویسی ساختاریافته

بخش قبل عملگرهای اساسی و انواع داده های مورد نیاز برای نوشتن برنامه ها را مورد بحث قرار داد. فرض بر این بود که متن برنامه یک دنباله خطی از عملگرهای انتساب، حلقه ها و عملگرهای شرطی است. به این ترتیب می توانید مشکلات نه چندان پیچیده را حل کنید و برنامه هایی حاوی چند صد خط کد ایجاد کنید. پس از این، درک متن مبدأ به شدت کاهش می یابد، زیرا ساختار کلیالگوریتم در پشت عملگرهای زبان خاصی که اقدامات اولیه و بسیار دقیق را انجام می دهند گم می شود. تعداد زیادی عملگر شرطی تو در تو و عملگرهای حلقه بوجود می آیند، منطق کاملاً گیج کننده می شود و هنگام تلاش برای اصلاح یک عملگر اشتباه، چندین خطای جدید مربوط به ویژگی های عملکرد این عملگر معرفی می شود که نتایج آنها اغلب در نظر گرفته می شود. بیشترین مکان های مختلفبرنامه ها به همین دلیل، تایپ و اشکال زدایی یک دنباله خطی طولانی از عبارات تقریبا غیرممکن است.

هنگام ایجاد برنامه های کاربردی با اندازه متوسط ​​(چند هزار خط کد منبع)، ما استفاده می کنیم برنامه نویسی ساخت یافته،این ایده اساساً این است که ساختار برنامه باید ساختار مسئله حل شده را منعکس کند، به طوری که الگوریتم راه حل به وضوح از متن منبع قابل مشاهده باشد. برای انجام این کار، شما باید ابزاری برای ایجاد یک برنامه نه تنها با استفاده از سه عبارت ساده، بلکه با استفاده از ابزارهایی داشته باشید که ساختار خاص الگوریتم را با دقت بیشتری منعکس کنند. بدین منظور این مفهوم وارد برنامه نویسی شد برنامه های فرعی -مجموعه ای از عبارات که عمل مورد نظر را انجام می دهند و مستقل از سایر بخش های کد منبع هستند. این برنامه به بسیاری از زیربرنامه های کوچک تقسیم می شود (تا 50 عبارت را می گیرد - یک آستانه بحرانی برای درک سریع هدف زیربرنامه)، که هر کدام یکی از اقدامات مشخص شده در کار اصلی را انجام می دهد. با ترکیب این زیر روال ها، می توان الگوریتم نهایی را نه از جملات ساده، بلکه از بلوک های کامل کد که معنای معنایی خاصی دارند، تشکیل داد و می توان به چنین بلوک هایی با نام اشاره کرد. به نظر می رسد که زیر روال ها عملگرهای جدید یا عملیات زبانی هستند که توسط برنامه نویس تعریف شده اند.

توانایی استفاده از برنامه های فرعی، یک زبان برنامه نویسی را به عنوان یک کلاس طبقه بندی می کند رویه ایزبان ها

وجود زیر روال ها به شما امکان طراحی و توسعه اپلیکیشن را می دهد از بالا به پایین -این رویکرد معمولا نامیده می شود طراحی از بالا به پایینابتدا چندین زیربرنامه شناسایی می‌شوند که کلی‌ترین وظایف را حل می‌کنند (به عنوان مثال، مقداردهی اولیه داده، بخش اصلی و تکمیل)، سپس هر یک از این ماژول‌ها در سطح پایین‌تری به تفصیل توضیح داده می‌شوند و به نوبه خود به تعداد کمی از زیربرنامه‌های دیگر تجزیه می‌شوند. و این تا زمانی که کل کار تکمیل شود ادامه می یابد.

این رویکرد راحت است زیرا به فرد اجازه می دهد تا به طور مداوم در سطح موضوعی فکر کند، بدون اینکه به عملگرها و متغیرهای خاص نزول کند. در عین حال، این امکان وجود دارد که برخی از زیربرنامه ها را بلافاصله اجرا نکنید، بلکه به طور موقت آنها را تا تکمیل سایر قسمت ها به تعویق بیندازید. به عنوان مثال، اگر محاسبه یک تابع پیچیده ریاضی بسیار مهم باشد، یک زیربرنامه جداگانه برای چنین محاسبه ای تخصیص داده می شود، اما به طور موقت توسط یک اپراتور اجرا می شود، که به سادگی یک مقدار از پیش انتخاب شده را اختصاص می دهد (مثلاً 5). هنگامی که کل برنامه نوشته شد و اشکال زدایی شد، می توانید اجرای این تابع را شروع کنید.

همچنین مهم است که زیربرنامه های کوچک بسیار آسان تر اشکال زدایی شوند، که به طور قابل توجهی قابلیت اطمینان کلی کل برنامه را افزایش می دهد.

ویژگی بسیار مهم زیربرنامه ها توانایی آن است استفاده مجددسیستم‌های برنامه‌نویسی یکپارچه با کتابخانه‌های بزرگی از روال‌های استاندارد عرضه می‌شوند که می‌توانند با استفاده از کار دیگران برای ایجاد روتین‌های رایج، بهره‌وری را به میزان قابل توجهی افزایش دهند.

بیایید به مثالی نگاه کنیم که تکنیک طراحی از بالا به پایین را نشان می دهد. یک آرایه Ocenki وجود دارد که از N (N > 2) رتبه بندی داوران تشکیل شده است (هر رتبه مثبت است). در برخی از رشته های ورزشی مرسوم است که برای جلوگیری از تأثیر قضاوت مغرضانه، بالاترین و کمترین امتیازات را کنار می گذارند و ورزشکار میانگین حسابی نمرات باقی مانده را دریافت می کند. بیایید این مشکل را با جزییات تدریجی الگوریتم (بدون گره خوردن به زبان برنامه نویسی خاصی) حل کنیم.

1. فرآیند حل به سادگی توسط زیر روال ها توصیف می شود:

Enter_ratings_in_array;

Remove_highest_rating;

Remove_smallest_rating;

چاپ_نتایج؛

اکنون می توانیم جزئیات هر یک از این زیر روال ها را شروع کنیم.

2. Remove_the_highest_rating;

چگونه بزرگترین امتیاز را از یک آرایه استاتیک حذف کنیم؟ در عوض، می توانید به سادگی مقدار 0 را بنویسید و در هنگام محاسبه میانگین حسابی مقادیر صفردر نظر نگرفتن

I = تعداد بزرگترین_عنصر_در_آرایه.

3. Remove_the_smallest_rating;

I = تعداد کوچکترین عنصر در آرایه.

هنگام اجرای زیربرنامه Number_of_the_smallest_element_in_array، باید در نظر داشته باشید که باید به دنبال کوچکترین مثبتمقادیر (بیشتر از صفر).

در اینجا به یک عملگر حلقه نیاز دارید که مجموع تمام عناصر آرایه Ocenki را محاسبه کند.

برای I = 1 تا N

SUM = SUM + تخمین (I)

SUM = SUM / (N - 2)

در عملگر آخر، میانگین حسابی همه برآوردها محاسبه می شود. مجموع عناصر آرایه بر تعداد عناصر کاهش یافته به 2 تقسیم می شود، زیرا دو تخمین، بزرگترین و کوچکترین، نیازی به در نظر گرفتن ندارند.

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

زیرروال های Number_of_the_largest_element_in_array و Number_of_smallest_element_in_array را خودتان پیاده سازی کنید.


  • - مبحث 3.2 طراحی از بالا به پایین

    روش طراحی از بالا به پایین شامل تجزیه متوالی تابع پردازش کلی داده به عناصر کاربردی ساده ("بالا به پایین") است.


  • در نتیجه، یک نمودار سلسله مراتبی ساخته می شود که منعکس کننده ترکیب و تابعیت افراد است... [ادامه مطلب]

    - طراحی از بالا به پایین


  • - مسیرهای طراحی می توانند از سطوح سلسله مراتبی پایین توضیحات (طراحی از پایین به بالا) یا از بالا (طراحی از بالا به پایین) شروع شوند.

    بین تمام مراحل طراحی رابطه عمیقی وجود دارد. بنابراین، تعیین طرح نهایی و توسعه کل مستندات فنیاغلب تا زمانی که فناوری به طور کامل توسعه نیافته است، نمی توان آن را تکمیل کرد. در مرحله طراحی و توسعه ...

  • اگر حل مسائل در سطوح سلسله مراتبی بالا مقدم بر حل مسائل در سطوح سلسله مراتبی پایین تر باشد، طراحی نامیده می شود. رو به پایین(جزئیات مرحله به مرحله). اگر مراحل مرتبط با سطوح سلسله مراتبی پایین زودتر انجام شود، طراحی نامیده می شود صعودی.

    هر کدام از این دو نوع طراحی مزایا و معایبی دارند. با طراحی از بالا به پایین، یک سیستم در شرایطی توسعه می‌یابد که عناصر آن هنوز تعریف نشده‌اند و بنابراین، اطلاعات در مورد قابلیت‌ها و ویژگی‌های آنها حدس و گمان است. با طراحی از پایین به بالا، برعکس، عناصر قبل از سیستم طراحی می شوند و بنابراین، الزامات برای عناصر حدس و گمان هستند. در هر دو مورد، به دلیل نبود اطلاعات اولیه جامع، انحراف از بهینه بالقوه ممکن است نتایج فنی. با این حال، باید به خاطر داشت که چنین انحرافاتی با رویکرد سلسله مراتبی بلوکی برای طراحی اجتناب ناپذیر است و هیچ جایگزین قابل قبولی برای رویکرد بلوکی سلسله مراتبی در طراحی اشیاء پیچیده وجود ندارد. بنابراین، بهینه بودن نتایج طراحی بلوک سلسله مراتبی باید از منظر شاخص‌های فنی و اقتصادی، از جمله هزینه‌های مواد و زمان برای طراحی مورد توجه قرار گیرد.

    از آنجایی که مفروضات انجام شده ممکن است درست نباشد، اغلب لازم است که رویه های طراحی مراحل قبلی پس از انجام مراحل طراحی مراحل بعدی مجدداً اجرا شوند. چنین تکرارهایی یک رویکرد ثابت به نتایج بهینه ارائه می دهد و ماهیت تکراری طرح را تعیین می کند. بنابراین، تکرار باید یک اصل مهم طراحی برای اشیاء پیچیده در نظر گرفته شود.

    در عمل، ترکیبی از طراحی از پایین به بالا و از بالا به پایین رایج است. به عنوان مثال، طراحی از پایین به بالا در تمام سطوح سلسله مراتبی که در آن عناصر یکپارچه استفاده می شود، رخ می دهد. بدیهی است که عناصر یکپارچه، جهت استفاده در تعدادی از سیستم های مختلف یک کلاس خاص، زودتر از یک سیستم خاص از این کلاس توسعه داده شده اند.

    مزیت طراحی از بالا به پایین این است که به توسعه دهندگان اجازه می دهد تا روی موارد ضروری تمرکز کنند مشکلات داده شدهو گرفتن تمام تصمیماتی را که نباید در آنها گرفته شود به تعویق بیندازید در این مرحلهطراحی طراحی از بالا به پایین مستلزم تنظیم و حل اساسی ترین مشکلات از همان ابتدا است و مسائل خاص را برای بررسی بعدی به تعویق می اندازد.

    هنگام طراحی محصولات جدید با استفاده از 3D CAD، شرکت ها معمولاً از آن استفاده می کنند روش از پایین به بالا(شکل 1) که شامل این واقعیت است که قطعات ابتدا مستقل از یکدیگر توسعه می یابند (مدل سازی می شوند) و سپس یک ساختار مونتاژی از آنها مانند مکعب ها ایجاد می شود که بر اساس آن مشخصات متعاقباً تشکیل می شود.

    استفاده از این روش طراحی در مواردی توجیه می شود که طبق نقشه ها و نمودارهای موجود انجام می شود و به عنوان مثال امکان شناسایی نادرستی در اسناد طراحی را می دهد. با این حال، اگر پارامترهای مدل ها به یکدیگر بستگی داشته باشند، اما روابط آنها مشخص نشده باشد، ایجاد تغییرات در طراحی کار فشرده و زمان بر می شود: طراح مجبور است پارامترهای هر قسمت را جداگانه تغییر دهد و سپس بررسی کند. مجموعه برای تقاطع اجزاء، مکانیسم برای عملکرد، و غیره d.

    البته، تقریباً همه سیستم‌های طراحی ابزاری برای ایجاد چنین روابطی با معرفی روابط بین پارامترهای قطعه یا با ایجاد مدل‌هایی از قطعات در متن یک مجموعه دارند و هندسه آنها را به مدل‌های طراحی‌شده قبلی مرتبط می‌کنند. با این حال، چنین دنباله ای از اتصالات، که در آن هر جزء مونتاژ جدید به چندین قطعه قبلی بستگی دارد، بر عملکرد رایانه هنگام کار با مجموعه های بزرگ تأثیر منفی می گذارد. علاوه بر این، استفاده از روش از پایین به بالا هنگام طراحی محصولات جدید منجر به نیاز به ایجاد طرح بندی آنها در ابتدا بر روی یک تخته طراحی یا در یک سیستم CAD دو بعدی می شود.

    در چنین مواردی ترجیح داده می شود روش طراحی از بالا به پایین(شکل 2)، که شامل این واقعیت است که توسعه یک محصول با ایجاد طرح آن و تعیین ساختار آغاز می شود، که بر اساس آن قطعات و مجموعه های موجود در محصول سپس مدل می شوند. در زیر به نحوه انجام طراحی از بالا به پایین نگاه خواهیم کرد - از ایده تا طراحی در سیستم طراحی سه بعدی Pro/ENGINEER WILDFIRE (شکل 3) با استفاده از مثال مکانیزمی که مدل آن در شکل نشان داده شده است. 4. مکانیسم مورد بررسی می تواند در دو حالت باشد: تا شده ( الف) و تجزیه شده ( ب).

    ایجاد یک طرح

    Layout در Pro/ENGINEER WILDFIRE در دو مرحله رخ می دهد: اول، به اصطلاح دفترچه یادداشتمهندس(طرح بندی)، و سپس مدل مونتاژ وایرفریم(اسکلت).

    "یادداشت"یک طرح مفهومی دو بعدی است (شکل 5)، که در آن طراح اصلی فهرستی از پارامترهای کنترل اصلی را تعریف می کند. برای مکانیسم مورد نظر می توان پارامترهای زیر را تعیین کرد: ابعاد سازه، طول اهرم های متحرک، فاصله انتهای اهرم ها تا لبه و در صورت لزوم روابط بین آنها. این پارامترها را می توان هم مشخص و هم محاسبه کرد که کاربر مقادیر اولی را از صفحه کلید وارد می کند و مقادیر دومی را با استفاده از معادلاتی مشخص می کند که در آن عملگرهای حسابی، توابع مثلثاتی، عملگرهای شرطی و غیره می توانند مشخص شوند. مورد استفاده قرار گیرد. بنابراین، برای مثال، در مورد ما، وابستگی طول اهرم به ارتفاع و طول سازه مشخص شد.

    یک طرح دو بعدی معمولاً طرح کلی یک محصول را تعریف می کند و می تواند با استفاده از ابزارهای طراحی Pro/ENGINEER WILDFIRE ایجاد شود یا از یک فایل گرافیکی دیگر وارد شود. هیچ ربطی به هندسه مجموعه طراحی شده ندارد، بنابراین کافی است محصول در حال توسعه را به صورت شماتیک بدون رعایت مقیاس یا نقشه دقیق ترسیم کنید. ابعاد اصلی را نشان می دهد که طراح می تواند مستقیماً در نما تغییر دهد.

    در "نوت بوک" می توانید یک منطقه پیام خطا ایجاد کنید که به شما امکان می دهد از وارد کردن مقادیر واضح پارامتر نادرست خودداری کنید. معیارهای اعتبار سنجی نیز توسط طراح اصلی تعیین می شود. به عنوان مثال، در مورد ما، معیار آزمایش فاصله بین انتهای اهرم ها بود (شکل 5، پارامتر "پشتیبانی" را ببینید) اگر این فاصله توسط توسعه دهنده کمتر از نصف طول محصول تعیین شده باشد. سپس ساختار ناپایدار می شود. اگر مقادیر طول یا ارتفاع را اشتباه وارد کنید، یک پیغام خطا نمایش داده می شود که به شما امکان می دهد بلافاصله بدون بازسازی مجموعه، اصلاح را انجام دهید.

    استفاده از "نوت بوک مهندس" به شما امکان می دهد فرآیندهای ایجاد مونتاژ را خودکار کنید. برای انجام این کار، عناصر پشتیبانی لازم در "نوت بوک" ایجاد می شود: سیستم های مختصات، هواپیماها، محورها. در قطعات و مجموعه ها، این عناصر مرجع به عنوان نقاط مرجع برای عملیات مونتاژ بعدی تعریف می شوند. هنگامی که یک جزء جدید را در یک اسمبلی قرار می دهید، سیستم از شما می خواهد که به طور خودکار آن را مطابق با طرح قرار دهید.

    قابلیت‌های Pro/ENGINEER WILDFIRE به شما امکان می‌دهد از چندین نوت بوک به طور همزمان در یک پروژه استفاده کنید که هنگام کار بر روی آن راحت است. پروژه های بزرگ. به عنوان مثال، هنگام طراحی یک ماشین، می توانید "نوت بوک" جداگانه برای موتور، قاب، سیستم تعلیق و غیره ایجاد کنید. و روابط بین آنها برقرار شود.

    مدل قابمجامعاین یک مدل سه بعدی است که هندسه آن الزامات فضایی مجموعه، جفت شدن اجزا و سایر ویژگی های لازم برای قرار دادن اجزای مجموعه و تعیین هندسه آنها را تعیین می کند. یک مدل قاب سیمی معمولاً از عناصر ساختاری پشتیبان (صفحه ها، منحنی ها، سیستم های مختصات، نقاط) و سطوح تشکیل شده است. در شکل شکل 6 مدل قاب مکانیزم طراحی شده را نشان می دهد.

    هنگام ساخت هندسه یک مدل قاب سیمی، طراح اصلی روابطی بین ابعاد آن و پارامترهای "نوت بوک" برقرار می کند، که بعداً، هنگام تغییر پارامترها، امکان تغییر خودکار تمام پارامترهای مرتبط در مدل قاب سیمی و از طریق آن در تمام اجزای آن را فراهم می کند. مجمع طراح اصلی فقط باید اندازه یا پارامتر دیگری را در چیدمان تغییر دهد و تغییرات مربوطه به طور خودکار در تمام قسمت‌ها، مجموعه‌ها و نقشه‌های مرتبط ایجاد می‌شود. در شکل شکل 7 وابستگی های ایجاد شده در مدل wireframe را نشان می دهد.

    بنابراین، طراح اصلی، با کار بر روی چیدمان محصول، معیارهای طراحی را تعیین می کند که متعاقباً توسط طراحان هنگام توسعه واحدهای مونتاژ و قطعات موجود در محصول استفاده می شود.

    طراحی قطعات و مجموعه ها

    مرحله بعدی ایجاد مجموعه ای از محصول است. طراح ساختار محصول را شکل می‌دهد و قطعات و مجموعه‌های جدیدی را از قبل در بافت مونتاژ ایجاد می‌کند (و نه جدا از آن، مانند طراحی از پایین به بالا)، و آنها را به هندسه مدل قاب گره می‌زند. سپس هندسه اجزاء توسعه می یابد. البته، هندسه آنها را می توان به طور مستقیم در مونتاژ ایجاد کرد، اما، به عنوان یک قاعده، این کارایی کمتری دارد، زیرا در این مورد، فراهم کردن امکان طراحی موازی، که در آن مجریان به طور همزمان بر روی مؤلفه مونتاژی که به آن سپرده شده است، دشوار خواهد بود. به هر یک از آنها. به عبارت دیگر، هر یک از اعضای تیم پروژه مجبور خواهند شد که کل اسمبلی را روی رایانه خود داشته باشند، و این، به عنوان یک قاعده، تنها تمرکز بر روی کار خاصی را که انجام می‌دهند دشوار می‌کند.

    این ابزار به شما امکان می دهد طراحی موازی را در Pro/ENGINEER WILDFIRE سازماندهی کنید هندسه را کپی کنید، که به شما امکان می دهد هر نوع هندسه را کپی کنید - سطوح، منحنی ها، لبه ها، نقاط، سیستم های مختصات و غیره. بین اجزای مونتاژ در طراحی از بالا به پایین، منبع اصلی طراح برای هندسه کپی شده، مدل Wireframe مجموعه است، اما در برخی موارد از کپی بین قطعات و زیر مجموعه ها استفاده می شود.

    پس از اینکه طراح اصلی ساختار مونتاژ را ایجاد کرد (قطعات و مجموعه های موجود در آن هنوز خالی هستند)، توسعه دهنده هندسه را از مدل وایرفریم خود کپی می کند. با باز کردن بخش یا مجموعه "خود"، او فقط با هندسه مورد نیاز برای کار، بدون استفاده از مجموعه به عنوان یک کل سروکار دارد، و این به طور قابل توجهی الزامات پیکربندی رایانه هایی را که اجزای موجود در مجموعه طراحی شده اند، کاهش می دهد. در عین حال، یک ارتباط ارتباطی بین هندسه اصلی و کپی شده حفظ می شود، تغییر در مدل قاب مستلزم تغییر در تمام اجزایی است که به هندسه آن بستگی دارد.

    روشن مرحله اولیهبا کار بر روی ساختار مونتاژ (شکل 8)، سه قسمت ایجاد شد و سپس مجموعه‌های مختلف هندسه از مدل wireframe در هر یک از آنها کپی شد. در شکل شکل 9 نشان می دهد که یکی از این سه قسمت در یک پنجره جداگانه باز شده و هندسه آن از هندسه مدل وایرفریم ایجاد شده است.

    اتصال اجزا به یک مدل Wireframe همچنین به شما امکان می دهد حرکت اجزا را در یک مجموعه شبیه سازی کنید. به عنوان مثال، اگر ارتفاع یک سازه مدل سازی شده در یک قاب را تغییر دهید، موقعیت تمام اجزای مرتبط با قاب تغییر می کند (شکل 4 را ببینید). بنابراین استفاده از مدل قاب، امکان شبیه سازی دو موقعیت سازه را بدون ایجاد اتصالات سینماتیکی بین اجزا فراهم کرد.

    هندسه کپی همچنین برای معرفی معیارهای فضایی از یک مجموعه سطح بالا به یک طرح استفاده می شود. بیایید یک مثال بزنیم. برای پمپ نشان داده شده در شکل. 10، طراحی یک لوله متشکل از خطوط لوله در ورودی و خروجی پمپ، توسعه فلنج های اتصال، اتصال خط خنک کننده به یک اتصالات خاص، طراحی پایه ای برای قاب پمپ و سیم کشی الکتریکی به موتور ضروری است. برای انجام این کار، ما یک مجموعه متشکل از یک پمپ و یک "مجموعه فرعی خالی" (یا چندین مجموعه فرعی) ایجاد می کنیم که در آن لوله ها طراحی شده اند. در "مجموعه فرعی خالی" یک مدل قاب ایجاد می شود که در آن هندسه لازم برای طراحی لوله کشی مانند فلنج های اتصال، اتصالات ورودی مایع خنک کننده و غیره کپی می شود. طراح (یا تیم طراحان) اکنون فقط با هندسه انتخاب شده کار می کند (شکل 11). متعاقباً، هندسه مدل قاب مستقیماً در قطعات و مجموعه های طراحی شده کپی می شود. تمام مدل های موجود در مجموعه با یک اتصال ارتباطی متصل می شوند، به این معنی که تغییر نقاط اتصال پمپ منجر به تغییر خودکار در لوله کشی آن می شود.

    علاوه بر کپی کردن هندسه، قطعات طراحی شده را می توان با چیدمان به همان شکلی که یک مدل وایرفریم با یک "دفترچه یادداشت مهندس" مرتبط می شود، با استفاده از معادلاتی که رابطه بین ابعاد قطعات و پارامترهای قطعه را ایجاد می کند، مرتبط کرد. ” دفترچه یادداشت ” . مکانیسم انجمنی در اینجا به روشی مشابه کار می کند: تغییر در پارامترهای کنترل مستلزم تغییر در قطعات مونتاژ مرتبط با طرح است.

    ایجاد تغییرات در طراحی

    اجازه دهید روند ایجاد تغییرات در طراحی از بالا به پایین را با استفاده از یک مثال نشان دهیم: ارتفاع سازه را افزایش خواهیم داد (شکل 4 را ببینید. الف) در حالت باز شده، که برای آن پارامتر مربوطه را در "نوت بوک" تغییر می دهیم. سپس Pro/ENGINEER WILDFIRE به طور خودکار تمام پارامترهایی را که مقادیر آنها با استفاده از معادلات محاسبه می شود محاسبه می کند و بررسی می کند که مقادیر وارد شده مطابق با معیارهای مشخص شده صحیح باشند. در مورد ما، چنین بررسی نشان داد که ارتفاع بیش از حد افزایش یافته و سازه ناپایدار شده است، به این معنی که باید طول آن را افزایش داد. نمودار (شکل 12) تغییراتی را که طراح به صورت دستی انجام می دهد را با رنگ قرمز نشان می دهد. پس از تغییر پارامترهای نوت بوک، مدل وایرفریم به صورت خودکار به روز می شود (شکل وایرفریم جدید را نشان می دهد) و برای به روز رسانی اسمبلی کافیست دستور Regenerate را اجرا کنید. بنابراین، تغییر ایجاد شده توسط طراح در بالاترین سطح در "نوت بوک مهندس" مستلزم تغییرات خودکار در تمام سطوح دیگر در مونتاژ، در قطعات، در نقشه ها بود.

    یافته های کلیدی

    1. استفاده از روش طراحی از بالا به پایین زمانی مؤثر است که لازم باشد تغییرات پارامترهای مرتبط در اجزای مختلف یک مجموعه را کنترل کرد و همچنین در صورت لزوم، پارامترهای آنها را از قبل تعیین کرد (حتی قبل از توسعه مدل‌های قطعات و واحدهای مونتاژ).

    2. استفاده از "دفترچه یادداشت مهندس" و مدل های وایرفریم می تواند به دلیل عبور خودکار تغییرات از تمام مراحل نه تنها طراحی (مدل ها، مجموعه ها، نقشه ها، مشخصات)، بلکه همچنین روند ایجاد تغییرات در یک طرح را به میزان قابل توجهی کاهش دهد. فن آوری (طراحی تجهیزات تکنولوژیکی، توسعه برنامه های کنترل) پیش تولید.

    3. روش طراحی از بالا به پایین به شما این امکان را می دهد که به طور موثر کار بر روی مجموعه ها را بین شرکت کنندگان در فرآیند توسعه و زمانی که در طراحی استفاده می شود موازی کنید. طرح های استانداردبه طور قابل توجهی زمان مورد نیاز برای ایجاد یک سری از اندازه های استاندارد و گزینه های محصول را کاهش می دهد.

    اثربخشی استفاده از طراحی از بالا به پایین در Pro/ENGINEER WILDFIRE قدردانی می شود شرکت های روسی، که بیش از یک بار در صفحات مجله در مورد آن صحبت کرده ایم و خوانندگان را در مورد نتایج پروژه های انجام شده توسط SOLVER در شرکت های ماشین سازی و ابزارسازی داخلی مطلع می کنیم.

    "CAD and Graphics" 11" 2004

    وجود زیر روال ها به شما امکان طراحی و توسعه اپلیکیشن را می دهد از بالا به پایین -این رویکرد نامیده می شود طراحی از بالا به پایینابتدا چندین زیربرنامه شناسایی می‌شوند که کلی‌ترین وظایف را حل می‌کنند (به عنوان مثال، مقداردهی اولیه داده، بخش اصلی و تکمیل)، سپس هر یک از این ماژول‌ها در سطح پایین‌تری به تفصیل توضیح داده می‌شوند و به نوبه خود به تعداد کمی از زیربرنامه‌های دیگر تجزیه می‌شوند. و این اتفاق می افتد تا زمانی که تمام وظیفه محقق نخواهد شد.

    این رویکرد راحت است زیرا به فرد اجازه می دهد تا به طور مداوم در سطح موضوعی فکر کند، بدون اینکه به عملگرها و متغیرهای خاص نزول کند. علاوه بر این، این امکان وجود دارد که برخی از زیربرنامه ها را بلافاصله اجرا نکنید، بلکه آنها را به طور موقت تا تکمیل سایر قسمت ها به تعویق بیندازید. به عنوان مثال، اگر نیاز به محاسبه یک تابع پیچیده ریاضی وجود داشته باشد، یک زیربرنامه جداگانه برای چنین محاسبه ای تخصیص داده می شود، اما به طور موقت توسط یک اپراتور اجرا می شود، که به سادگی یک مقدار از پیش انتخاب شده (مثلاً 5) را اختصاص می دهد. هنگامی که کل برنامه نوشته شد و اشکال زدایی شد، می توانید اجرای این تابع را شروع کنید.

    همچنین مهم است که زیربرنامه های کوچک بسیار آسان تر اشکال زدایی شوند، که به طور قابل توجهی قابلیت اطمینان کلی کل برنامه را افزایش می دهد.

    ویژگی بسیار مهم زیربرنامه ها توانایی آن است استفاده مجددسیستم‌های برنامه‌نویسی یکپارچه با کتابخانه‌های بزرگی از روال‌های استاندارد عرضه می‌شوند که می‌توانند با استفاده از کار دیگران برای ایجاد روتین‌های رایج، بهره‌وری را به میزان قابل توجهی افزایش دهند.

    بیایید به مثالی نگاه کنیم که تکنیک طراحی از بالا به پایین را نشان می دهد. یک آرایه Ocenki وجود دارد که از N (N > 2) رتبه بندی داوران تشکیل شده است (هر رتبه مثبت است). در برخی از رشته های ورزشی مرسوم است که برای جلوگیری از تأثیر قضاوت مغرضانه، بالاترین و کمترین امتیازات را کنار می گذارند و ورزشکار میانگین حسابی نمرات باقی مانده را دریافت می کند. بیایید این مشکل را با جزییات تدریجی الگوریتم (بدون گره خوردن به زبان برنامه نویسی خاصی) حل کنیم.

    1. فرآیند حل به سادگی توسط زیر روال ها توصیف می شود:

    Enter_ratings_in_array;

    Remove_highest_rating;

    Remove_smallest_rating;

    چاپ_نتایج؛

    اکنون می توانیم جزئیات هر یک از این زیر روال ها را شروع کنیم.

    2. Remove_the_highest_rating;

    چگونه بزرگترین امتیاز را از یک آرایه استاتیک حذف کنیم؟ در عوض، می‌توانید به سادگی مقدار 0 را بنویسید و هنگام محاسبه میانگین حسابی، مقادیر صفر را نمی‌توان در نظر گرفت.

    I = تعداد بزرگترین_عنصر_در_آرایه.

    3. Remove_the_smallest_rating;

    I = تعداد کوچکترین عنصر در آرایه.

    هنگام اجرای زیربرنامه Number_of_the_smallest_element_in_array، باید در نظر داشته باشید که باید به دنبال کوچکترین آن باشید. مثبتمقادیر (بیشتر از صفر).

    در اینجا به یک عملگر حلقه نیاز دارید که مجموع تمام عناصر آرایه Ocenki را محاسبه کند.

    برای I = 1 تا N

    SUM = SUM + تخمین (I)

    SUM = SUM / (N - 2)

    آخرین عملگر میانگین حسابی تمام تخمین ها را محاسبه می کند. مجموع عناصر آرایه بر تعداد عناصر کاهش یافته به 2 تقسیم می شود، زیرا دو تخمین، بزرگترین و کوچکترین، نیازی به در نظر گرفتن ندارند.

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

    زیرروال های Number_of_the_largest_element_in_array و Number_of_smallest_element_in_array را خودتان پیاده سازی کنید.