Surfsect SOP

پرش به ناوبری | پرش به جستجو

خلاصه

Surfsect SOP عملیات بولی (Boolean) روی سطوح NURBS و Bezier انجام می‌دهد، یا فقط پروفایل‌ها را در نقاطی که سطوح با هم برخورد می‌کنند ایجاد می‌کند.

  • سطوح ورودی نیازی ندارند که جامد (Solid) باشند، یعنی لازم نیست در U و V بسته باشند.

  • همچنین نیازی نیست که به صورت گروهی یک جامد تشکیل دهند (برای مثال، می‌توانید یک Grid را با یک Sphere برش دهید).

سطوح ورودی اول با نام “A” و سطوح ورودی دوم با نام “B” در لیست پارامترها مشخص می‌شوند.

  • کل مجموعه A با مجموعه B تقاطع داده می‌شود که امکان عملیات CSG واقعی روی سطوح اسپлайн را فراهم می‌کند.

  • بنابراین اگر A یک جامد و B نیز یک جامد باشند، هر عملیات بولی بین A و B یک جامد تولید می‌کند.

  • اگر یکی از مجموعه‌ها توپولوژی باز داشته باشد، نتیجه نیز باز خواهد بود.

تعریف داخل و خارج یک ناحیه Trim به جهت نرمال‌های سطح بستگی دارد.

  • در صورت نیاز، از Primitive SOP برای معکوس کردن نرمال‌ها استفاده کنید، با تغییر جهت U یا V سطح.

PythonIcon.png
کلاس: surfsectSOP_Class


فهرست مطالب

  1. خلاصه

  2. پارامترها – صفحه Page

  3. پارامترها – صفحه Boolean

  4. پارامترها – صفحه Generate Profiles

  5. ورودی‌های اپراتور

  6. کانال‌های Info CHOP
      6.1 کانال‌های اطلاعاتی مشترک SOP
      6.2 کانال‌های اطلاعاتی مشترک اپراتورها


پارامترها – صفحه Page

Group A (groupa)

  • زیرمجموعه‌ای از سطوح NURBS و Bezier

  • پترن‌ها قابل قبول‌اند (Pattern Matching)

Group B (groupb)

  • زیرمجموعه‌ای از سطوح NURBS و Bezier برای تقاطع با A

  • پترن‌ها قابل قبول‌اند

3D Tolerance (tol3d)

  • دقت تقاطع در فضای جهان

2D Tolerance (tol2d)

  • دقت تقاطع در دامنه سطح

Marching Steps (step)

  • تعداد گام‌ها برای ترسیم هر Span از پروفایل


پارامترها – صفحه Boolean

فعال‌سازی عملیات بولی بین سطوح A و B

Operation (boolop)

  • انتخاب نوع عملیات: Union، Intersect، A-B، B-A یا User-defined

  • اگر User-defined انتخاب شود، گزینه‌های زیر فعال می‌شوند:

Keep Inside A (insidea)

  • حفظ بخش‌های داخلی سطوح A

Keep Inside B (insideb)

  • حفظ بخش‌های داخلی سطوح B

Keep Outside A (outsidea)

  • حفظ بخش‌های خارجی سطوح A

Keep Outside B (outsideb)

  • حفظ بخش‌های خارجی سطوح B


پارامترها – صفحه Generate Profiles

فقط پروفایل‌ها را در نقاط تقاطع سطوح ایجاد می‌کند

Target (target)

  • کدام سطح پروفایل‌ها خروجی داده شوند: A، B یا هر دو

A Profiles Group (creategroupa)

  • قرار دادن پروفایل‌های A در یک گروه تعریف‌شده توسط کاربر

profilesa → نام گروه پروفایل A

B Profiles Group (creategroupb)

  • قرار دادن پروفایل‌های B در یک گروه تعریف‌شده توسط کاربر

profilesb → نام گروه پروفایل B

Avoid Already Trimmed-Out Parts (mindholes)

  • فقط قسمت‌های قابل مشاهده سطح را تقاطع دهد و پروفایل را در مرزهای سطح Trim شده قطع کند

Join Profiles Created by Multiple Surfaces (join)

  • اگر یک سطح چند پروفایل مجاور داشته باشد، آن‌ها را به یک Curve-on-surface متصل می‌کند


ورودی‌های اپراتور

  • Input 0: –

  • Input 1: –


کانال‌های Info CHOP

اطلاعات اضافی Surfsect SOP از طریق Info CHOP قابل دسترسی است.

Common SOP Info Channels

  • num_points → تعداد نقاط در SOP

  • num_prims → تعداد پرایمیتیوها در SOP

  • num_particles → تعداد ذرات در SOP

  • last_vbo_update_time → زمان صرف‌شده در Thread دیگر برای به‌روزرسانی داده‌های هندسه روی GPU از داده‌های CPU

  • last_meta_vbo_update_time → زمان صرف‌شده در Thread دیگر برای به‌روزرسانی Meta Surface (مثل Metaballs یا NURBS) روی GPU

Common Operator Info Channels

  • total_cooks → تعداد دفعات Cook اپراتور

  • cook_time → مدت زمان آخرین Cook (میلی‌ثانیه)

  • cook_frame → شماره فریم آخرین Cook نسبت به Timeline Component

  • cook_abs_frame → شماره فریم آخرین Cook نسبت به زمان مطلق

  • cook_start_time → زمان شروع Cook (میلی‌ثانیه)

  • cook_end_time → زمان پایان Cook (میلی‌ثانیه)

  • cooked_this_frame → 1 اگر اپراتور در این فریم Cook شده باشد

  • warnings → تعداد هشدارها

  • errors → تعداد خطاها