إنشاء الملفات وفتحها وحفظها

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

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

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

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


مرحبًا بعودتك! هذا هو الجزء الثاني من هذه السلسلة من منشورات المدونة، وهنا سأشرح كيفية العمل مع محتوى قاعدة بيانات 3DEXPERIENCE (3DX).

بادئ ذي بدء، لا تحب شركة Dassault استخدام كلمة “ملف” عندما نتحدث عن 3DX. كما تعلم جيدًا، يتم تخزين كل محتوى 3DX في قاعدة البيانات، ويسمى الآن كل عنصر في قاعدة البيانات تلك “الكيان PLM”. (ضع في اعتبارك أنه في النهاية يوجد ملف لكل عنصر في قاعدة البيانات، يتم تخزينه في مكان ما على الخادم.) ومع ذلك، من الآن فصاعدًا، سنستخدم الكلمات “كيان PLM” أو “كائن PLM” لكل عنصر في قاعدة البيانات هذه .

ربما يكون هذا أحد أكبر الاختلافات بين V5 و3DX.

المستند إلى المستندات مقابل المستند إلى قاعدة البيانات

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

شكل 1

ما تراه على شاشة 3DX يتم تمثيله أيضًا بشيئين، ولكنه الآن كائن Editor وكائن Window. يؤدي كائن Window نفس الوظيفة كما في V5، والتي تعرض النموذج على الشاشة. ومع ذلك، فإن دور كائن المحرر هو دور “وحدة التحكم” في محتوى النموذج. أي أنه يحتفظ بالتطبيق الحالي ويحتفظ بقائمة بجميع الأوامر التي يمكن إطلاقها من التطبيق.

المحرر لديه خاصية كائن نشطوهو الكائن الذي تراه على الشاشة. للحصول على الكائن النشط، يمكنك استخدام الأوامر التالية في VBA، ومن هناك يمكنك العمل معه.

01: تعتيم oActiveObj مثل AnyObject

02: اضبط oActiveObj = CATIA.ActiveEditor.ActiveObject

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

الشكل 2

في 3DX، لا يمكنك فقط “فتح” أو “حفظ” النموذج. عليك أن تطلب من “خدمة” 3DX القيام بذلك نيابةً عنك.

سأناقش “خدمات” 3DX بالتفصيل في الجزء الثالث من السلسلة، لذا سنبقي الأمر بسيطًا الآن.

البحث والفتح من قاعدة البيانات

لإحضار نموذج إلى جلسة 3DX، يجب عليك البحث عنه أولاً (SearchService)، ثم فتحه (PLMOpenService). سيبدو رمز VBA كما يلي:

احصل على كائن SearchService وقم بإنشاء استعلام بحث

01: تعتيم oSearchService كـ SearchService

02: تعيين oSearchService = CATIA.GetSessionService(“بحث”)

03: تعتيم oDBSearch كـ DatabaseSearch

04: قم بتعيين oDBSearch = oSearchService.DatabaseSearch

05: oDBSearch.BaseType = “VPMReference” ' يبحث عن منتج فعلي

06: oDBSearch.AddEasyCriteria “V_Name”، “” ' يبحث باستخدام العنوان

“بدء البحث

07: oSearchService.Search

'استرجاع قائمة الكيانات التي تم العثور عليها

08: كيانات خافتة على أنها كيانات أطراف نووية

09: قم بتعيين cPLMEntities = oDBSearch.Results

احصل على خدمة PLMOpen وافتح أول كيان تم العثور عليه

10: تعتيم oPLMOpenService كـ PLMOpenService

11: اضبط oPLMOpenService = CATIA.GetSessionService(“PLMOpenService”)

12: خافت oEditor كمحرر

13: oPLMOpenService.PLMOpen cPLMEntities.Item(1)، oEditor

الحفظ في قاعدة البيانات

لحفظ النموذج الحالي في قاعدة البيانات، يجب عليك استخدام الملف PLMPropagateService. سيبدو رمز VBA كما يلي:

'احصل على كائن PropagateService

01: تعتيم oSaveService كـ PLMPropagateService

02: تعيين oSaveService = CATIA.GetSessionService(“PLMPropagateService”)

'حفظ في قاعدة البيانات (يحفظ محتوى المحرر النشط فقط!)

03: oSaveService.PLMPropagate

إنشاء محتوى جديد

الآن، لإنشاء محتوى جديد، سيتعين عليك استخدام خدمة أخرى – PLMNewService.

01: خافت oServ كـ PLMNewService

02: تعيين oServ = CATIA.GetSessionService(“PLMNewService”)

03: خافت oEditor كمحرر

04: oServ.PLMCreate ““، oEditor

ال يمكن أن تحتوي السلسلة على القيم التالية:

  • “رسم”: ينشئ رسمًا
  • “الشكل ثلاثي الأبعاد”: يخلق شكلاً ثلاثي الأبعاد
  • “الجزء ثلاثي الأبعاد”: ينشئ جزءًا ثلاثي الأبعاد
  • “مرجع VPM”: إنشاء منتج مادي

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


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

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

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

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