إنشاء البرمجة البرمجة البرمجة البرمجية Phython المعلمة في الفضاء لإنشاء ملفات تعريف عمود الحدبات

انضم إلى منتدى المصممين

خبرتك ضرورية للمجتمع. انضم إلينا وساهم بمعرفتك

انضم إلى المنتدى الآن

شارك وتعلّم وتقدّم مع أفضل المحترفين في هذا المجال


ملخص

الغرض من هذه المدونة ذات شقين. أولاً ، لأتمتة توليد ملف تعريف الفص العمود الكامات بنجاح باستخدام البرمجة البرمجية للبيثون داخل ANSYS SpaceClaim. ثانياً ، لتعلم تجنب بعض المزالق المتعلقة بالبرمجة البرمجية للبيثون داخل ANSYS SpaceClaim.

تفاصيل

الآن ، دعنا نتحدث عن “لماذا” يريد المرء أتمتة توليد فص عمود الحدبات؟

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

ماذا سنفعل الآن؟

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

بعد ذلك ، سنحاول “استخدام نفس الكود ضمن مثيل جديد من الفضاء لمعرفة العقبات التي تقدم نفسها ونصف العلاجات لتلك العقبات. ثم استخدم بنجاح البرمجة البرمجية Python لتكرار الفص العمود الحدبات المصمم في الأصل.

أخيرًا ، سنقوم بتصوير البرمجة النصية للبيثون للسماح لأحد بتوليد اختلافات جديدة في هذا الملف الشخصي.

ملف تعريف عمود الحدبات لدينا

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

سنبدأ مع دائرة قاعدة تبلغ 38 مم ، ودائرة أنف 26 مم ، مع مركزها الذي يقع على ارتفاع 14 ملم فوق مركز دائرة القاعدة. سيكون الإجراء الأول هو فتح الفضاء ، ثم الوصول إلى واجهة البرمجة النصية.

بشكل افتراضي ، سيكون وضع “السجل” نشطًا.

أولاً ، دعونا نفهم ما يتم تسجيله بعد إضافة دائرة القاعدة الخاصة بنا.

على وجه التحديد ، نرى أنه تم تحديد طائرة رسم ، ثم تم إنشاء دائرة ، ثم تم إنشاء قيود. دعنا نسخّل نفس رمز Python إلى مثيل جديد من SpaceClaim ومعرفة ما إذا كان بإمكاننا تشغيله بنجاح؟

الجواب “لا”. لماذا؟ بسبب كيفية اختيار المرء عادة مستوى الرسم. دعنا نغلق هذه الحالة من الفضاء ونفتح مثيلًا جديدًا. سنقوم بتغيير في كيفية تسجيل البرنامج النصي الخاص بنا ، وإنشاء دائرة جديدة وكرر اختبارنا.

أولاً ، سنقوم بتنشيط خيار التسجيل “المطول”.

بعد ذلك ، سوف نغير كيفية تسجيل الاختيار من “متغير ذكي” إلى “راي”.

يبدو البرنامج النصي المسجل لدينا بعد إضافة دائرة القاعدة لدينا الآن مختلفة.

تشغيل هذا البرنامج النصي الجديد ضمن مثيل جديد من الفضاء الآن ينشئ بنجاح دائرتنا الأساسية!

ماذا عن الإجراءات الأخرى ، إضافة دائرة الأنف وخطتين الظل؟

نجاح! نسخ هذا البرنامج النصي الجديد إلى مثيل جديد من SpaceClaim يكرر هندسةنا. حتى الان جيدة جدا. ومع ذلك ، سنواجه مشاكل إذا حاولنا تحديد هندسةنا. سأغير قطر دائرة الأنف من 26 مم إلى 20 ملم لأظهر.

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

مراجعة كتل البرمجة النصية

رأينا أنه عندما سجلنا البرنامج النصي الأصلي (إضافة دائرة) كانت هناك عناصر معينة في كتلة البرمجة النصية.

# دائرة رسم

Origin = point2d.create (mm (0) ، mm (0))

النتيجة = SketchCircle.create (Origin ، Mm (19))

basesel = selectPoint.create (getRootPart (). datumplanes[0].Curves[0].GetChildren[ICurvePoint]()[0])

TargetSel = selectPoint.create (getRootPart (). datumplanes[0].GetChildren[IDatumLine]()[0])

النتيجة = constraint.createcoincident (Basesel ، TargetSel)

# endblock

نرى أنه تم تعريف نقطتين: “الأصل” و “MM (19)”. لذلك ، تتطلب وظيفة “SketchCircle.create” أصل ونصف قطرها. كل شيء آخر في هذه الكتلة يتعلق الاختيار العنصر الذي أنشأناه و تقييد إلى الطائرة. سأقترح أن هذا القسم الأخير غير مطلوب لإنشاء هندسةنا بنجاح. لذلك ، أوصي بحذف هذه الأوامر غير الضرورية وببساطة تشغيل البرنامج النصي التالي.

# دائرة رسم

Origin = point2d.create (mm (0) ، mm (0))

النتيجة = SketchCircle.create (Origin ، Mm (19))

# endblock

و … يعمل!

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

لقد قمت أيضًا بتصنيف البرنامج النصي الخاص بي على المصطلحات المستخدمة عادةً أثناء تحديد خاصية عمود الحدبات في السيارات ، مثل:

باستخدام هذه المعلمات ، سيتم إنشاء الهندسة التالية.

قم بتنزيل هذا البرنامج النصي وابدأ في استكشاف تصميم ملف تعريف العمود الكامات … وتعرّف على صنع البرامج النصية العملية للبيثون للشراء الفضائي أثناء وجودك فيه !! 😊


انضم إلى منتدى المصممين

خبرتك ضرورية للمجتمع. انضم إلينا وساهم بمعرفتك

انضم إلى المنتدى الآن

شارك وتعلّم وتقدّم مع أفضل المحترفين في هذا المجال