Table of Contents

Understanding Dynamo and Its Role in Revit Automation

دينامو بيئة برمجة بصرية تدمج محليا مع مجلة " أوتدريكس " ، وهي تمكن المستعملين من خلق منطق تقليدي من خلال واجهة قائمة على أساس العقد، مما يزيل الحاجة إلى الترميز التقليدي مع فتح كامل القوة الكاملة للمبادرة، وعندما يتعلق الأمر باستكمال المئات أو الآلاف من العناصر، فإن دينامو يغير ما سيكون عملية يدوية مضنية في تصميم يدوية.

وتعمل الأداة بجعلكم تسلسلون معاً رموز البيانات التي تمثل مدخلات وعمليات ونواتج، وكل عقد يؤدي وظيفة محددة: اختيار العناصر، ومعايير القراءة، أو إجراء الحسابات، أو كتابة القيم إلى النموذج، وتحديد الصلات بين العوارض تدفق البيانات، وهذا النهج البصري يجعل التشغيل الآلي متاحاً حتى لأعضاء الفريق الذين لا يملكون خلفية برمجة، ونتيجة لذلك، أصبح دينامو مهارة أساسية لأي تحديث مهني من نوع BIM.

هذه المادة ستسير عليك خلال عملية استخدام دينامو للتحديثات الآلية للمبارامترات من البداية إلى التقنيات المتقدمة، وسواء كنت تستكمل جداول الغرف، أو بارامترات الإنقاذ المادي، أو ممتلكات الأسرة، ستتعلم كيفية بناء نصوص قوية قابلة لإعادة الاستخدام توفر ساعات العمل.

بدء تشغيل دينامو للتألق البارامترات

تركيب وإطلاق دينامو

قبل أن تبدأوا بتحديث البارامترات، عليكم أن تجهزوا النسخة الصحيحة من دينامو، ومعظم النسخ الحديثة من التنقيح (2019 وبعد ذلك) تشمل دينامو كعنصر مبني، للتحقق من زر [يظهر أن]

عندما تضغط زر الداينامو، يفتح حيز عمل جديد، وتتألف الواجهة من فريق مكتبة على اليسار (يحتوي على جميع الأنهار المتاحة)، وفتحة مركزية حيث تقوم ببناء نصك، وقاعدة أدوات لتشغيل وإنقاذ وإدارة أعمالك، وفيما يتعلق بتحديث البارامترات، ستعملون في المقام الأول مع عقد من فئة [FLT:] [الرسمية:]

فهم مكتبة النويدات المنقّحة

وتنظم مكتبة العقد التابعة لدينامو في شكل هرمي، وتشمل أهم فئات التشغيل الآلي للمبارامترات ما يلي:

  • Selection:] Nodes like , , and ] let you define which elements to modify.
  • Element:] Nodes such as and ] are the core tools for reading and writing parameters.
  • Data: ] Nodes for numbers, strings, lists, and conditionals help you build dynamic input values.
  • Math/Logic:] Operators, formulas, and comparison nodes allow you to compute new parameter values based on existing data.

الحصول على الراحة مع هذه العقد هو الخطوة الأولى نحو إنشاء النصوص الآلية الفعالة، يمكنك البحث عن عقدة عن طريق وضع كلمات رئيسية في حانة البحث المكتبي.

بناء مسمار تحديث البارامترات: الخطوة خطوة خطوة إلى الأمام

فلنضع نصا عمليا يستكمل الالتزامات ][ ]الجبهة[ ]الجبهة[:[[[ ]الجبهة[:[[[[[[ ]الجبهة[: ٢[[ ]الجبهة[[ ]الجبهة[ ]الجبهة[ ]الجبهة[: ٣[[ في النموذج الحالي للتنقيح، والهدف هو تحديد ميدان التعليقات على رقم علامة الباب، وهذا شرط مشترك لوضع جداول زمنية.

الخطوة 1: اختيار العناصر المستهدفة

في قفص دينامو، تضاف عقدة لـ [صوت تحت الحساب] (يحتل المرتبة > الاختيار) وعقّي الخفض من الفئة واختيار ، وسينتج هذا العقد قائمة بجميع حالات الأبواب في الوثيقة النشطة.

الخطوة 2: قراءة البيانات الموجودة في البارامترات

(د) إضافة عقد يسمى من فئة > < Element category. Connect the output of the category selection node to the ]] input of this node. For the ] input, type the string ]"Mark"] (exact spelling, case-sensitive).

الخطوة 3: كتابة القيمة الجديدة للمبارامترات

تضاف قائمة أولية بعنوان (Revit > Element) تربط القائمة الأصلية لعناصر الباب (النواتج من الخطوة 1) بمدخل ، وتُدرج قائمة القيم (النواتج من الخطوة 2) إلى مدخلات [التعليقات]، وتُحال [التعليقات: 12] إلى:

الخطوة 4: تشغيل سكريبت

قبل أن تركض، تحقق دائماً من الأخطاء بالنظر إلى فقاعات ما قبل الاستعراض على كل رمز، وإذا رأيت أيقونات إنذار حمراء، تحقق من أن أسماء البارامترات صحيحة وأن فئة العناصر موجودة في النموذج، وعندما تُرضى، تضغط على زر Run ] [الجهاز الإلكتروني للعزف] في حاجز الأدوات، سيُحدِّث دينامو جميع معايير الأبواب فوراً.

الخطوة 5: التحقق من النتائج

العودة إلى إعادة النظر والتحقق من خصائص أي باب، وينبغي الآن أن يتضمن مجال التعليقات رقم علامة الباب، كما يمكن أن تُنشئ جدولا زمنيا يؤكد أن التشغيل الآلي قد عمل في المشروع بأكمله.

التقنيات المتقدمة: المواد التقليدية واللووب والبيانات

إن النص الأساسي الوارد أعلاه يعمل جيداً على تحديثات بسيطة من واحد إلى واحد، ولكن مشاريع العالم الحقيقي غالباً ما تتطلب منطقاً أكثر تطوراً، وهنا طرق متقدمة لتوسيع قدراتك على التشغيل الآلي.

استخدام البيانات المشروطة

أحياناً لا تريد سوى تحديث البارامترات المتعلقة بالعناصر التي تستوفي معايير محددة، مثلاً، قد ترغب في وضع في الراتنج ] في مظلة الأبواب إلا إذا كانت أسلاكها أكبر من 900 ملم.

  • ابدأ بقراءة [Width ] بارامتر لكل باب باستخدام .]
  • Use a Code Block] node with a condition like . This outputs a list of booleans.
  • (أ) يضاف رمز ، ويربط قائمة الأبواب بمدخل ، وقائمة البووليين بمدخل ، ولا يتضمن الناتج سوى الأبواب التي تستوفي الشرط.
  • ثمّ يَطبّقُ تحديثَ البارامتراتَ فقط إلى تلك القائمةِ المُخَلّفةِ.

التعبئة من خلال البيانات المعقدة

(دينامو) يتعامل تلقائياً مع حلقات عندما تربط القوائم بمدخلات العقد، لكن أحياناً تحتاج إلى تكرار البيانات المستقاة، مثل تحديث البارامترات لجميع الطوابق في مبنى متعدد المراحل حيث توجد في كل طابق مجموعة مختلفة من الغرف، و()]) يسمح لكِ بتطبيق وظيفة على كل قائمة فرعية، مثلاً، يمكنكِ إنشاء عقدة (أو استخدام تحديث خطي)

معالجة مختلف أنواع البيانات

البارامترات في التنقيح يمكن أن تكون نصاً، أرقاماً، مُحدّدات، مُدد، مناطق، أحجام، أو قيم نعم/لا، ولكن لا بد أن تكون حريصة على الوحدات، بل يجب أن توفر قيماً في وحدات السحب الداخلية (الوحدة) (الوحدة) (الوحدة) (الوحدة) (الوحدة)

استخدام "بيتون سكريبت نوديس" لللوجيكس المعقدة

وعندما تصبح واجهة النسيج البصري مرهقة للغاية بالنسبة للتلاعب بالمبارامترات المتقدمة، يمكن أن تُدرج Python Script ] Node. This gives you full access to the Revit API. For example, you can write a Python script that reads the bounding box of a family instance and updates its [FLT:]

أمثلة عملية على تحديث البارامترات الآلية

المقتطف 1: تحديث البارامترات من صحيفة إكسل

For[FLT:]d.[FLT]

المقتطف 2: تحديث البارامترات المحتوية على المواد

In structural models, you might need to set the Material parameter for steel beams based on their size. Create a script that reads the ]Type Mark] parameter of each beam, looks up the corresponding material from a dictionary (using code blockT mapping4), and then

النموذج 3: تحديثات نمط الأسرة

أحياناً تحتاج إلى تعديل معايير النوع (تتقاسمها جميع حالات نوع الأسرة) بدلاً من المعايير النموذجية، ويمكن أن تتعامل دينامو مع ذلك من خلال الاختيار الأول لأنواع الأسرة باستخدام عقد مثل ثم تستخدم مع اسم البارامترات من نوعها، مثلاً، يمكن أن تستكمل

أفضل الممارسات للتلقائية الموثوقة

لضمان سير نسخك من الداينامو بسلاسة و تحقيق نتائج صحيحة، اتبع هذه المبادئ التوجيهية:

  • testing on a copy:] always run any new script on a duplicate or isolated portion of the model first. A small mistake in a parameter update can corrupt data across thousands of elements.
  • Use explicit parameter names:] Parameter names are case-sensitive and must exactly match what is shown in the Revit type properties. Use the ]Element.GetParameterValueByName] node with a hardcoded string to verify the name works before writing.
  • Group nodes logically:] Use Group (Ctrl+G) to organize your script into regions: selection, input data, logical, and output. This makes debugging and reuse easier.
  • Add comments:] Right-click on the canvas to add notes that explain each section. This is invaluable when you revisit a script months later or share it with colleagues.
  • Save as custom node: ] If you find yourself repeating the same parameter update pattern, create a custom node (File > New Custom Node). That way you can reuse it across projects without rebuilding.
  • Handle errors Gracefully:] Use nodes like and watch previews for null entries. In Python nodes, wrap critical operations in try-except blocks.

استحقاقات تحديث البارامترات الآلية مع دينامو

مزايا هذا النهج تتجاوز المدخرات الزمنية البسيطة، وهنا الفوائد الرئيسية التي يمكن أن تتوقعها عند إدراج دينامو في سير العمل المشرف:

  • Consistency:] Automated updates apply the same sense to every element, eliminating the variability that comes with manual data entry. This is critical for clash detection, quantity takeoffs, and coordination with other disciplines.
  • Speed: ] What takes hours of reving through properties can be done in seconds. A script that updates 5000 door parameters runs in under a minute.
  • Scalability:] As models grow larger, manual updates become increasingly impractical. Dynamo scripts handle any number of elements without degradation in performance.
  • ]Reversibility: ] When you run a script, you can easily undo the changes (Ctrl+Z) in Revit, provided you haven't closed the model.
  • Auditability:] A Save Dynamo script becomes a record of what changes were made and why. This is useful for quality assurance and for training new team members.
  • Integration with external data:] Dynamo can read from Excel, CSV, databases, and even web APIs. This allows you to push live data into your Revit parameters, keeping the model always up to date.

الاستنتاج: تحويل تدفق العمل المُنقّح إلى عمل مُناسب للمنافسة

إن ماجستير دينامو في تحديث البارامترات الآلية هو بوابة إلى مستوى أعلى بكثير من كفاءة نظام تقييم الأداء، والاستثمار الأولي في تعلم الوصل بينية العقد والمنطق الأساسي يدفعان لنفسهما مرات عديدة، وخاصة المشاريع الكبيرة التي يكون فيها الاتساق شبه المتناظر أمرا بالغ الأهمية، وباتباع نهج الخطوة الموضح هنا، وإدراج المنطق المشروط تدريجيا، وكتابة الفيتون، ومصادر البيانات الخارجية، يمكنك أن تلغي عملية تطهير الدليل.

تذكر أن تبدأ بصغرها: مقياس واحد للسيارات على فئة واحدة، ثم توسع، ووفر نصك كعناصر للعرف، وبناء مكتبة شخصية لأدوات التشغيل الآلي، وتقاسمها مع فريقك وتشجيع ثقافة التحسين المستمر، ومستقبل عمل التنقيح مؤتمت، ودينامو هو المفتاح الذي يفتح ذلك المستقبل.

For further learning, explore the official Dynamo Primer] and the extensive library of sample scripts available on ]Dynamo Nodes. With practice, you will find yourself opening Dynamo somewhatively whenever you face a repetitive parameter update task.