متطلبات حزمة الرسم

يمكنك تحويل حزم الرسومات التي تم تحميلها إلى بيانات خريطة باستخدام خدمة تحويل خرائط Azure. توضح هذه المقالة متطلبات حزمة الرسم لواجهة برمجة تطبيقات التحويل. لعرض نموذج حزمة، يمكنك تنزيل حزمة الرسم النموذجية.

المتطلبات الأساسية

تتضمن حزمة الرسم رسومات محفوظة بتنسيق DWG، وهو تنسيق الملف الأصلي لبرنامج AutoCAD® الخاص ب Autodesk.

يمكنك اختيار أي برنامج CAD لإنتاج الرسومات في حزمة الرسم.

تحول خدمة التحويل حزمة الرسم إلى بيانات الخريطة. تعمل خدمة التحويل مع تنسيق ملف AutoCAD DWG AC1032.

مسرد المصطلحات

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

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

بنية حزمة الرسم

حزمة الرسم هي أرشيف .zip يحتوي على الملفات التالية:

  • ملفات DWG بتنسيق ملف AutoCAD DWG.
  • ملف manifest.json يصف ملفات DWG في حزمة الرسم.

يجب ضغط حزمة الرسم في ملف أرشيف واحد، مع ملحق .zip. يمكن تنظيم ملفات DWG بأي شكل من الأشكال داخل الحزمة، ولكن يجب أن يعيش ملف البيان في الدليل الجذر للحزمة المضغوطة. توضح الأقسام التالية بالتفصيل متطلبات ملفات DWG وملف البيان ومحتوى هذه الملفات. لعرض حزمة عينة، يمكنك تنزيل حزمة الرسم النموذجية.

عملية تحويل ملف DWG

تقوم خدمة التحويل بتنفيذ ما يلي على كل ملف DWG:

  • استخراج فئات الميزات:
    • المستويات
    • Units
    • المناطق
    • فتحات
    • الجدران
    • الاختراقات العمودية
  • تنتج ميزة Facility.
  • ينتج الحد الأدنى من مجموعة ميزات الفئة الافتراضية المشار إليها بواسطة ميزات أخرى:
    • room
    • البنية
    • wall
    • opening.door
    • المنطقة
    • facility

متطلبات ملف DWG

مطلوب ملف DWG واحد لكل مستوى من مستويات المرفق. يجب احتواء جميع بيانات مستوى واحد في ملف DWG واحد. يجب ربط أي مراجع خارجية (xrefs) بالرسم الأصل. على سبيل المثال، يحتوي مرفق بثلاثة مستويات على ثلاثة ملفات DWG في حزمة الرسم.

يجب أن يلتزم كل ملف DWG بالمتطلبات التالية:

  • يجب أن يحدد ملف DWG الطبقات الخارجيةوالوحدة. يمكنه اختياريًا تحديد الطبقات التالية: Wall وDoor وUnitLabel وZone وZoneLabel.
  • لا يمكن أن يحتوي ملف DWG على ميزات من مستويات متعددة.
  • لا يمكن أن يحتوي ملف DWG على ميزات من مرافق متعددة.
  • يجب أن تشير DWG إلى نفس نظام القياس ووحدة القياس مثل ملفات DWG الأخرى في حزمة الرسم.

متطلبات طبقة DWG

يجب أن تلتزم كل طبقة DWG بالقواعد التالية:

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

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

الطبقة أنواع الكيانات الميزات المحولة
Exterior مضلع أو مضلع (مغلق) أو دائرة أو قطع ناقص (مغلق) المستويات
الوحدة مضلع أو مضلع (مغلق) أو دائرة أو قطع ناقص (مغلق) الوحدات والاختراقات العمودية
Wall مضلع أو مضلع (مغلق) أو دائرة أو قطع ناقص (مغلق) أو بنيات
الباب مضلع، مضلع، خط، دائري، دائري فتحات
المنطقة مضلع أو مضلع (مغلق) أو دائرة أو قطع ناقص (مغلق) المناطق
UnitLabel نص (سطر واحد) غير قابل للتطبيق. يمكن لهذه الطبقة فقط إضافة خصائص إلى ميزات الوحدة من طبقة الوحدات. لمزيد من المعلومات، راجع طبقة UnitLabel.
ZoneLabel نص (سطر واحد) غير قابل للتطبيق. يمكن لهذه الطبقة فقط إضافة خصائص إلى ميزات المنطقة من ZonesLayer. لمزيد من المعلومات، راجع طبقة ZoneLabel.

تصف الأقسام التالية متطلبات كل طبقة.

الطبقة الخارجية

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

بغض النظر عن عدد رسومات الكيان الموجودة في الطبقة الخارجية، تحتوي مجموعة بيانات المرفق الناتجة على ميزة مستوى واحدة فقط لكل ملف DWG. علاوةً على ذلك،

  • يجب رسم الخارجيات كمضلع أو POLYLINE (مغلق) أو دائرة أو علامة القطع الناقص (مغلقة).
  • قد تتداخل الخارجيات، ولكن يتم حلها في هندسة واحدة.
  • يجب أن تكون ميزة المستوى الناتج 4 أمتار مربعة على الأقل.
  • يجب ألا تكون ميزة المستوى الناتج أكبر من 400,000 متر مربع.

إذا كانت الطبقة تحتوي على عدة خطوط PolyLine متداخلة، يتم حلها في ميزة مستوى واحدة. بدلاً من ذلك، إذا كانت الطبقة تحتوي على عدة PolyLines غير متداخلة، فإن ميزة المستوى الناتج لها تمثيل متعدد المضلعات.

يمكنك مشاهدة مثال على طبقة السطح الخارجي كطبقة مخطط تفصيلي في حزمة الرسم النموذجية.

طبقة الوحدة

يحدد ملف DWG لكل مستوى طبقة تحتوي على وحدات. الوحدات هي مساحات صالحة للتنقل في المبنى، مثل المكاتب والممرات والسلالم والمصاعد. إذا تم تعريف الخاصية VerticalPenetrationCategory، يتم تحويل الوحدات القابلة للتنقل التي تمتد على مستويات متعددة، مثل المصاعد والسلالم، إلى ميزات الاختراق العمودي. يتم تعيين setid واحدة لميزات الاختراق العمودي التي تتداخل مع بعضها البعض.

يجب أن تلتزم طبقة الوحدات بالمتطلبات التالية:

  • يجب رسم الوحدات كمضلع أو POLYLINE (مغلق) أو دائرة أو علامة القطع الناقص (مغلقة).
  • يجب أن تقع الوحدات داخل حدود المحيط الخارجي للمنشأة.
  • يجب ألا تتداخل الوحدات جزئيًا.
  • يجب ألا تحتوي الوحدات على أي هندسة تتقاطع ذاتيًا.

قم بتسمية وحدة عن طريق إنشاء عنصر نصي في طبقة UnitLabel، ثم ضع العنصر داخل حدود الوحدة. لمزيد من المعلومات، راجع طبقة UnitLabel.

يمكنك مشاهدة مثال على طبقة الوحدات في حزمة الرسم النموذجية.

طبقة الجدار

يمكن أن يحتوي ملف DWG لكل مستوى على طبقة تحدد النطاقات المادية للجدران والأعمدة وبنية البناء الأخرى.

  • يجب رسم الجدران كمضلع أو مضلع (مغلق) أو دائرة أو قطع ناقص (مغلق).
  • يجب أن تحتوي طبقة الجدار أو الطبقات على هندسة يتم تفسيرها على أنها بنية بناء فقط.

يمكنك مشاهدة مثال على طبقة الجدران في حزمة الرسم النموذجية.

طبقة الباب

يمكنك تضمين طبقة DWG التي تحتوي على الأبواب. يجب أن يتداخل كل باب مع حافة وحدة من طبقة الوحدة.

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

Four graphics that show the steps to generate openings

طبقة المنطقة

يمكن أن يحتوي ملف DWG لكل مستوى على طبقة منطقة تحدد النطاقات المادية للمناطق. المنطقة هي مساحة غير قابلة للتنقل يمكن تسميتها وعرضها. يمكن أن تمتد المناطق إلى مستويات متعددة ويتم تجميعها معًا باستخدام خاصية zoneSetId.

  • يجب رسم المناطق كمضلع أو POLYLINE (مغلق) أو علامة القطع الناقص (مغلقة).
  • يمكن أن تتداخل المناطق.
  • يمكن أن تقع المناطق داخل أو خارج المحيط الخارجي للمنشأة.

قم بتسمية منطقة عن طريق إنشاء عنصر نصي في طبقة ZoneLabel، ووضع العنصر النصي داخل حدود المنطقة. لمزيد من المعلومات، راجع طبقة ZoneLabel.

يمكنك مشاهدة مثال على طبقة المنطقة في حزمة الرسم النموذجية.

طبقة UnitLabel

يمكن أن يحتوي ملف DWG لكل مستوى على طبقة UnitLabel. تضيف طبقة UnitLabel خاصية اسم إلى الوحدات المستخرجة من طبقة الوحدة. يمكن أن تحتوي الوحدات ذات خاصية الاسم على مزيد من التفاصيل المحددة في ملف البيان.

  • يجب أن تكون تسميات الوحدة عناصر نصية أحادية السطر.
  • يجب أن تقع تسميات الوحدة بالكامل داخل حدود وحدتها.
  • يجب ألا تحتوي الوحدات على عناصر نصية متعددة في طبقة UnitLabel.

يمكنك مشاهدة مثال على طبقة UnitLabel في حزمة الرسم النموذجية.

طبقة ZoneLabel

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

  • يجب أن تكون تسميات المناطق عناصر نصية أحادية السطر.
  • يجب أن تقع تسميات المناطق داخل حدود منطقتها.
  • يجب ألا تحتوي المناطق على عناصر نصية متعددة في طبقة ZoneLabel.

يمكنك مشاهدة مثال على طبقة ZoneLabel في حزمة الرسم النموذجية.

متطلبات ملف بيان التطبيق

يجب أن يحتوي المجلد المضغوط على ملف بيان التطبيق على المستوى الجذر للدليل، ويجب تسمية الملف manifest.json. وهو يصف ملفات DWG للسماح لخدمة التحويل بتحليل محتواها. يتم استيعاب الملفات التي تم تعريفها بواسطة بيان التطبيق فقط. يتم تجاهل الملفات الموجودة في المجلد المضغوط، ولكنها غير مدرجة بشكل صحيح في بيان التطبيق.

على الرغم من وجود متطلبات عند استخدام عناصر البيان، لا تكون كافة العناصر مطلوبة. يعرض الجدول التالي العناصر المطلوبة والاختيارية للإصدار 1.1 من خدمة التحويل.

إشعار

ما لم يتم تحديد خلاف ذلك، تسمح كافة الخصائص ذات نوع خاصية سلسلة بألف حرف.

‏‏الكائن المطلوب ‏‏الوصف
version صحيح إصدار مخطط بيان التطبيق. حاليًا، يتم دعم الإصدار 1.1 فقط.
directoryInfo صحيح يوضح المعلومات الجغرافية ومعلومات الاتصال الخاصة بالمرفق. كما يمكن استخدامه لتحديد معلومات جغرافية ومعلومات جهة اتصال مشغولة.
buildingLevels صحيح يحدد مستويات المباني والملفات التي تحتوي على تصميم المستويات.
georeference صحيح يحتوي على معلومات جغرافية رقمية لرسم المرفق.
dwgLayers صحيح يسرد أسماء الطبقات، وتسرد كل طبقة أسماء ميزاتها الخاصة.
unitProperties true يمكن استخدامه لإدراج المزيد من بيانات التعريف لميزات الوحدة.
zoneProperties true يمكن استخدامه لإدراج المزيد من بيانات التعريف لميزات المنطقة.

توضح الأقسام التالية بالتفصيل متطلبات كل عنصر.

directoryInfo

الخاصية النوع مطلوبة ‏‏الوصف
name سلسلة صحيح اسم المبنى.
streetAddress سلسلة true عنوان المبنى.
unit سلسلة true الوحدة في المبنى.
locality سلسلة true اسم مدينة أو بلدة أو منطقة أو حي أو منطقة.
adminDivisions صفيف سلاسل JSON true صفيف يحتوي على تعيينات العنوان. على سبيل المثال: (البلد، الولاية) استخدم رموز البلد ISO 3166 ورموز ISO 3166-2 للولاية/المنطقة.
postalCode سلسلة true رمز فرز البريد.
hoursOfOperation سلسلة true يلتزم بتنسيق OSM Opening Hours.
phone سلسلة true رقم الهاتف المقترن بالمبنى.
website سلسلة true موقع ويب مرتبط بالمبنى.
nonPublic منطقي true وضع علامة تحدد ما إذا كان المبنى مفتوحًا للجمهور.
anchorLatitude عددي true خط عرض ارتساء مرفق (دبوس التثبيت).
anchorLongitude عددي true خط طول ارتساء مرفق (دبوس التثبيت).
anchorHeightAboveSeaLevel عددي true ارتفاع الطابق الأرضي للمنشأة فوق مستوى سطح البحر، بالمتر.
defaultLevelVerticalExtentعددي true الارتفاع الافتراضي (السُمك) لمستوى من هذا المرفق لاستخدامه عندما يكون المستوى verticalExtent غير محدد.

buildingLevels

يحتوي العنصر buildingLevels على صفيف JSON من مستويات المباني.

الخاصية النوع مطلوبة ‏‏الوصف
levelName سلسلة صحيح اسم المستوى الوصفي. على سبيل المثال: الطابق 1 أو ساحة الانتظار أو موقف السيارات الأزرق أو الطابق السفلي.
ordinal integer صحيح تحديد الترتيب العمودي للمستويات. يجب أن يكون لكل مرفق مستوى مع الترتيبي 0.
heightAboveFacilityAnchor عددي true ارتفاع المستوى فوق المرساة بالمتر.
verticalExtent عددي true ارتفاع من الأرض إلى السقف (سمك) من المستوى بالمتر.
filename سلسلة صحيح مسار نظام الملفات لرسم CAD لمستوى بناء. يجب أن يكون مرتبطًا بجذر الملف البريدي للمبنى.

georeference

الخاصية النوع مطلوبة ‏‏الوصف
lat عددي صحيح تمثيل عشري لخط عرض الدرجات في أصل رسم المرفق. يجب أن تكون إحداثيات الأصل في WGS84 Web Mercator (EPSG:3857).
lon عددي صحيح تمثيل عشري لطول الدرجات في أصل رسم المرفق. يجب أن تكون إحداثيات الأصل في WGS84 Web Mercator (EPSG:3857).
angle عددي صحيح زاوية اتجاه عقارب الساعة، بالدرجات، بين الشمال الحقيقي والمحور الرأسي (ص) للرسم.

dwgLayers

الخاصية النوع مطلوبة ‏‏الوصف
exterior صفيف سلاسل صحيح أسماء الطبقات التي تحدد ملف تعريف المبنى الخارجي.
unit صفيف سلاسل true أسماء الطبقات التي تحدد الوحدات.
wall صفيف سلاسل true أسماء الطبقات التي تعرف الجدران.
door صفيف سلاسل true أسماء الطبقات التي تحدد الوحدات.
unitLabel صفيف سلاسل true أسماء الطبقات التي تعرف أسماء الوحدات.
zone صفيف سلاسل true أسماء الطبقات التي تحدد الوحدات.
zoneLabel صفيف سلاسل true أسماء الطبقات التي تعرف أسماء المناطق.

unitProperties

يحتوي العنصر unitProperties على صفيف JSON من خصائص الوحدة.

الخاصية النوع مطلوبة ‏‏الوصف
unitName سلسلة صحيح اسم الوحدة المراد إقرانها بسجل unitProperty. يكون هذا السجل صالحًا فقط عند العثور على مطابقة تسمية unitName في الطبقات unitLabel.
categoryName سلسلة true الغرض من الوحدة. يتم توثيق قائمة بالقيم التي يمكن لأنماط العرض المتوفرة الاستفادة منها في categories.json.
occupants صفيف عناصر directoryInfo true قائمة بشاغلي الوحدة.
nameAlt سلسلة true اسم بديل للوحدة.
nameSubtitle سلسلة true عنوان فرعي للوحدة.
addressRoomNumber سلسلة true رقم الغرفة أو الوحدة أو الشقة أو جناح الوحدة.
verticalPenetrationCategory سلسلة true عند تعريف هذه الخاصية، تكون الميزة الناتجة هي اختراق عمودي (VRT) بدلاً من وحدة. يمكنك استخدام الاختراقات العمودية للانتقال إلى ميزات الاختراق العمودي الأخرى في المستويات أعلاه أو أسفله. الاختراق العمودي هو اسم الفئة. إذا تم تعريف هذه الخاصية، يتم تجاوز الخاصية categoryName بـ verticalPenetrationCategory.
verticalPenetrationDirection سلسلة true إذا تم تعريف verticalPenetrationCategory، فحدد اختياريًا الاتجاه الصحيح للسفر. القيم المسموح بها هي: lowToHigh وhighToLow وboth وclosed. القيمة الافتراضية هي both. القيمة حساسة لحالة الأحرف.
nonPublic منطقي true يشير إلى ما إذا كانت الوحدة مفتوحة للجمهور.
isRoutable منطقي true عند تعيين هذه الخاصية إلى false، لا يمكنك الانتقال إلى الوحدة أو من خلالها. القيمة الافتراضية هي true.
isOpenArea منطقي true يسمح لعامل التنقل بإدخال الوحدة دون الحاجة إلى فتحة مرفقة بالوحدة. بشكل افتراضي، يتم تعيين هذه القيمة إلى true للوحدات التي ليس لها فتحات، وfalse للوحدات ذات الفتحات. يؤدي الإعداد isOpenArea يدويا إلى false على وحدة بدون فتح إلى ظهور تحذير، لأن الوحدة الناتجة لا يمكن الوصول إليها بواسطة عامل التنقل.

zoneProperties

يحتوي العنصر zoneProperties على صفيف JSON من خصائص المنطقة.

الخاصية النوع مطلوبة ‏‏الوصف
zoneName سلسلة صحيح اسم المنطقة المراد إقرانها بالسجل zoneProperty. يكون هذا السجل صالحًا فقط عند العثور على مطابقة تسمية zoneName في طبقة zoneLabel للمنطقة.
categoryName سلسلة true الغرض من المنطقة. يتم توثيق قائمة بالقيم التي يمكن لأنماط العرض المتوفرة الاستفادة منها في categories.json.
zoneNameAlt سلسلة true اسم بديل للمنطقة.
zoneNameSubtitle سلسلة true عنوان فرعي للمنطقة.
zoneSetId سلسلة true تعيين المعرف لإنشاء علاقة بين مناطق متعددة بحيث يمكن الاستعلام عن هذه المناطق أو تحديدها كمجموعة. على سبيل المثال، المناطق التي تمتد على مستويات متعددة.

نموذج بيان حزمة الرسم

فيما يلي ملف البيان لحزمة الرسم النموذجية. انتقل إلى نموذج حزمة الرسم خرائط Azure Creator على GitHub لتنزيل الحزمة بأكملها.

قائمة مكونات الصنف أو ملف بيان التطبيق

{
    "version": "1.1", 
    "directoryInfo": { 
        "name": "Contoso Building", 
        "streetAddress": "Contoso Way", 
        "unit": "1", 
        "locality": "Contoso eastside", 
        "postalCode": "98052", 
        "adminDivisions": [ 
            "Contoso city", 
            "Contoso state", 
            "Contoso country" 
        ], 
        "hoursOfOperation": "Mo-Fr 08:00-17:00 open", 
        "phone": "1 (425) 555-1234", 
        "website": "www.contoso.com", 
        "nonPublic": false, 
        "anchorLatitude": 47.636152, 
        "anchorLongitude": -122.132600, 
        "anchorHeightAboveSeaLevel": 1000, 
        "defaultLevelVerticalExtent": 3  
    }, 
    "buildingLevels": { 
        "levels": [ 
            { 
                "levelName": "Basement", 
                "ordinal": -1, 
                "filename": "./Basement.dwg" 
            }, { 
                "levelName": "Ground", 
                "ordinal": 0, 
                "verticalExtent": 5, 
                "filename": "./Ground.dwg" 
            }, { 
                "levelName": "Level 2", 
                "ordinal": 1, 
                "heightAboveFacilityAnchor": 3.5, 
                "filename": "./Level_2.dwg" 
            } 
        ] 
    }, 
    "georeference": { 
        "lat": 47.636152, 
        "lon": -122.132600, 
        "angle": 0 
    }, 
    "dwgLayers": { 
        "exterior": [ 
            "OUTLINE", "WINDOWS" 
        ], 
        "unit": [ 
            "UNITS" 
        ], 
        "wall": [ 
            "WALLS" 
        ], 
        "door": [ 
            "DOORS" 
        ], 
        "unitLabel": [ 
            "UNITLABELS" 
        ], 
        "zone": [ 
            "ZONES" 
        ], 
        "zoneLabel": [ 
            "ZONELABELS" 
        ] 
    }, 
    "unitProperties": [ 
        { 
            "unitName": "B01", 
            "categoryName": "room.office", 
            "occupants": [ 
                { 
                    "name": "Joe's Office", 
                    "phone": "1 (425) 555-1234" 
                } 
            ], 
            "nameAlt": "Basement01", 
            "nameSubtitle": "01", 
            "addressRoomNumber": "B01", 
            "nonPublic": true, 
            "isRoutable": true, 
            "isOpenArea": true 
        }, 
        { 
            "unitName": "B02" 
        }, 
        { 
            "unitName": "B05", 
            "categoryName": "room.office" 
        }, 
        { 
            "unitName": "STRB01", 
            "verticalPenetrationCategory": "verticalPenetration.stairs", 
            "verticalPenetrationDirection": "both" 
        }, 
        { 
            "unitName": "ELVB01", 
            "verticalPenetrationCategory": "verticalPenetration.elevator", 
            "verticalPenetrationDirection": "high_to_low" 
        } 
    ], 
    "zoneProperties": 
    [ 
        { 
            "zoneName": "WifiB01", 
            "categoryName": "Zone", 
            "zoneNameAlt": "MyZone", 
            "zoneNameSubtitle": "Wifi", 
            "zoneSetId": "1234" 
        }, 
        { 
            "zoneName": "Wifi101",
            "categoryName": "Zone",
            "zoneNameAlt": "MyZone",
            "zoneNameSubtitle": "Wifi",
            "zoneSetId": "1234"
        }
    ]
}

يمكنك تحويل حزم الرسومات التي تم تحميلها إلى بيانات خريطة باستخدام خدمة تحويل خرائط Azure. توضح هذه المقالة متطلبات حزمة الرسم لواجهة برمجة تطبيقات التحويل. لعرض حزمة عينة، يمكنك تنزيل حزمة الرسم النموذجية v2.

للحصول على دليل حول كيفية إعداد حزمة الرسم، راجع دليل حزمة الرسم.

التغييرات والمراجعات

  • دعم إضافي لفئات الميزات المعرفة من قبل المستخدم.
  • متطلبات مبسطة لطبقات DWG.

المتطلبات الأساسية

تتضمن حزمة الرسم رسومات محفوظة بتنسيق DWG، وهو تنسيق الملف الأصلي لبرنامج AutoCAD® الخاص ب Autodesk.

يمكنك اختيار أي برنامج CAD لإنتاج الرسومات في حزمة الرسم.

تحول خدمة التحويل حزمة الرسم إلى بيانات الخريطة. تعمل خدمة التحويل مع تنسيق ملف AutoCAD DWG AC1032.

مسرد المصطلحات

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

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

بنية حزمة الرسم

حزمة الرسم هي أرشيف ZIP يحتوي على الملفات التالية:

  • ملفات DWG بتنسيق ملف AutoCAD DWG.
  • ملف manifest.json يصف ملفات DWG في حزمة الرسم.

يجب ضغط حزمة الرسم في ملف أرشيف واحد، مع ملحق .zip. يمكن تنظيم ملفات DWG بأي شكل من الأشكال داخل حزمة الرسم، ولكن يجب أن يكون ملف البيان في الدليل الجذر. تشرح الأقسام التالية عملية التحويل ومتطلبات كل من ملفات DWG وملفات البيان ومحتوى هذه الملفات. لعرض حزمة عينة، يمكنك تنزيل حزمة الرسم النموذجية v2.

عملية تحويل ملف DWG

تقوم خدمة تحويل خرائط Azure بتحويل ملف (ملفات) DWG لمرفق لتعيين البيانات التي تمثل مرفقا وميزات منشأة.

تنشئ خدمة تحويل خرائط Azure:

  • ميزة المرفق: ميزة المستوى الأعلى للمنشأة التي ترتبط بها جميع مستويات المرفق.
  • ميزات المستوى: يتم إنشاء ميزة مستوى واحد لكل طابق من منشأة. ترتبط جميع الميزات على المستوى بمستوى.
  • الميزات المعرفة من قبل المستخدم: يتم تعيين طبقات DWG إلى فئة ميزة معرفة من قبل المستخدم وتصبح مثيلات لفئة الميزة.

متطلبات ملف DWG

يجب أن يلتزم كل ملف DWG بهذه المتطلبات:

  • لا يمكن أن يحتوي ملف DWG على ميزات من مرافق متعددة.
  • لا يمكن أن يحتوي ملف DWG على ميزات من مستويات متعددة. على سبيل المثال، يحتوي مرفق بثلاثة مستويات على ثلاثة ملفات DWG في حزمة الرسم.
  • يجب احتواء جميع بيانات مستوى واحد في ملف DWG واحد. يجب ربط أي مراجع خارجية (xrefs) بالرسم الأصل.
  • يجب أن يعرف ملف DWG الطبقة (الطبقات) التي تمثل حد هذا المستوى.
  • يجب أن تشير DWG إلى نفس نظام القياس ووحدة القياس مثل ملفات DWG الأخرى في حزمة الرسم.
  • يجب محاذاة ملف DWG عند مكدس أعلى مستوى آخر من نفس المرفق.

متطلبات طبقة DWG

فئات الميزات

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

  • يجب فصل جميع الطبقات لتمثيل أنواع الميزات المختلفة للمرفق.
  • يجب أن تقع جميع الكيانات داخل حدود محيط المستوى.
  • أنواع كيانات AutoCAD المدعومة: TEXT، MTEXT، POINT، ARC، CIRCLE، LINE، POLYLINE، ELLIPSE.

خصائص فئة الميزة

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

  • يتم ربط كيانات TEXT وMTEXT فقط بالميزة كخاصية. يتم تجاهل كافة أنواع الكيانات الأخرى.
  • يجب أن تقع نقطة تبرير TEXT وMTEXT ضمن حدود الشكل المغلق.
  • إذا كانت أكثر من خاصية TEXT واحدة ضمن حدود الشكل المغلق وتم تعيين كليهما إلى خاصية واحدة، يتم تحديد خاصية بشكل عشوائي.

مستوى المرفق

يجب أن يحتوي ملف DWG لكل مستوى على طبقة لتحديد محيط هذا المستوى. على سبيل المثال، إذا كان المرفق يحتوي على مستويين، فيجب أن يحتوي على ملفي DWG، لكل منهما طبقة تحدد محيط هذا المستوى.

بغض النظر عن عدد رسومات الكيان الموجودة في طبقة محيط المستوى، تحتوي مجموعة بيانات المرفق الناتجة على ميزة مستوى واحدة فقط لكل ملف DWG. علاوةً على ذلك،

  • يجب رسم محيط المستوى كمضلع أو POLYLINE (مغلق) أو CIRCLE أو ELLIPSE (مغلق).
  • قد تتداخل محيطات المستوى ولكن يتم حلها في هندسة واحدة.
  • يجب أن تكون ميزة المستوى الناتجة 4 أمتار مربعة على الأقل.
  • يجب ألا تكون ميزة المستوى الناتجة أكبر من 400,000 متر مربع.

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

يمكنك مشاهدة مثال على طبقة محيط المستوى كطبقة GROS$ في نموذج حزمة الرسم v2.

متطلبات ملف بيان التطبيق

يجب أن تحتوي حزمة الرسم على ملف بيان على مستوى الجذر ويجب تسمية الملف manifest.json. وهو يصف ملفات DWG التي تسمح لخدمة التحويل بتحليل محتواها. يتم استخدام الملفات التي تم تعريفها بواسطة البيان فقط. يتم تجاهل الملفات الموجودة في حزمة الرسم، ولكنها غير مدرجة بشكل صحيح في البيان.

يجب أن تكون مسارات الملف في كائن buildingLevels لملف البيان نسبة إلى جذر حزمة الرسم. يجب أن يتطابق اسم ملف DWG تمامًا مع اسم مستوى المرفق. على سبيل المثال، ملف DWG لمستوى "الطابق السفلي" هو Basement.dwg. تتم تسمية ملف DWG للمستوى 2 باسم level_2.dwg. لا يمكن أن تحتوي أسماء الملفات على مسافات، يمكنك استخدام تسطير أسفل السطر لاستبدال أي مسافات.

على الرغم من وجود متطلبات عند استخدام عناصر البيان، لا تكون كافة العناصر مطلوبة. يعرض الجدول التالي الكائنات المطلوبة والاختيارية لخدمة التحويل 2023-03-01-preview.

إشعار

ما لم يتم تحديد خلاف ذلك، تقتصر جميع خصائص السلسلة على ألف حرف.

ملف بيان JSON

الخاصية النوع مطلوب الوصف
version سلسلة صواب إصدار مخطط بيان التطبيق. الإصدار "2.0" حاليا
buildingLevels كائن BuildingLevels صواب يحدد مستويات المرفق والملفات التي تحتوي على تصميم المستويات.
featureClasses صفيف عناصر featureClass صواب قائمة كائنات فئة الميزات التي تحدد كيفية قراءة الطبقات من ملف رسم DWG.
georeference كائن المرجع الجغرافي خطأ يحتوي على معلومات جغرافية رقمية لرسم المرفق.    
facilityName سلسلة خطأ اسم المنشأة.

توضح الأقسام التالية بالتفصيل متطلبات كل عنصر.

بناء المستويات

الخاصية النوع مطلوبة ‏‏الوصف
dwgLayers مصفوفة من السلاسل صواب أسماء الطبقات التي تحدد الملف الخارجي للمرفق.
levels صفيف كائنات المستوى صواب يشير المستوى إلى طابق فريد في المرفق المحدد في ملف DWG، وارتفاع كل مستوى وترتيب عمودي تظهر فيه.

المستوى

الخاصية النوع مطلوبة ‏‏الوصف
levelName سلسلة صواب اسم المستوى. على سبيل المثال: الطابق 1 أو ساحة الانتظار أو موقف السيارات الأزرق أو الطابق السفلي.
ordinal integer صواب يحدد الترتيب العمودي للمستويات. يجب أن تكون جميع ordinal القيم فريدة داخل منشأة.
filename سلسلة صواب مسار واسم ملف DWG الذي يمثل المستوى في منشأة. يجب أن يكون المسار نسبة إلى جذر حزمة الرسم. 
verticalExtent رقم خطأ ارتفاع عمودي من الأرض إلى السقف (سمك) للمستوى بالعدادات.

فئة الميزة

الخاصية النوع مطلوبة ‏‏الوصف
dwgLayers مصفوفة من السلاسل صواب اسم كل طبقة تحدد فئة الميزة. يتم تحويل كل كيان على الطبقة المحددة إلى مثيل لفئة الميزة. dwgLayer ينتهي الاسم الذي يتم تحويل ميزة منه كخاصية لتلك الميزة.
featureClassName السلسلة صواب اسم فئة الميزة. تتضمن الأمثلة النموذجية الغرفة أو مساحة العمل أو الجدار.
featureClassProperties صفيف عناصر FeatureClassProperty خطأ تحديد طبقات النص في ملف DWG المقترن بالميزة كخاصية. على سبيل المثال، تسمية تقع داخل حدود مسافة، مثل رقم الغرفة.

featureClassProperty

الخاصية النوع مطلوبة ‏‏الوصف
dwgLayers مصفوفة من السلاسل صواب اسم كل طبقة تحدد خاصية فئة الميزة. يتم تحويل كل كيان على الطبقة المحددة إلى خاصية . يتم تحويل كيانات DWG TEXT وMTEXT فقط إلى خصائص. يتم تجاهل جميع الكيانات الأخرى.
featureClassPropertyName السلسلة صواب اسم خاصية فئة الميزة، على سبيل المثال، spaceName أو spaceUseType.

georeference

الخاصية النوع مطلوبة ‏‏الوصف
lat رقم صواب تمثيل عشري لخط عرض الدرجات في أصل رسم المرفق. يجب أن تكون إحداثيات الأصل في WGS84 Web Mercator (EPSG:3857).
lon رقم صواب تمثيل عشري لطول الدرجات في أصل رسم المرفق. يجب أن تكون إحداثيات الأصل في WGS84 Web Mercator (EPSG:3857).
angle رقم صواب زاوية اتجاه عقارب الساعة، بالدرجات، بين الشمال الحقيقي والمحور الرأسي (ص) للرسم.

نموذج بيان حزمة الرسم

يعرض JSON في هذا المثال ملف البيان لحزمة الرسم النموذجية. انتقل إلى نموذج حزمة الرسم v2 ل خرائط Azure Creator على GitHub لتنزيل الحزمة بأكملها.

قائمة مكونات الصنف أو ملف بيان التطبيق

{
  "version": "2.0",
  "buildingLevels": {
    "dwgLayers": [
      "GROS$"
    ],
    "levels": [
      {
        "filename": "Ground.dwg",
        "levelName": "level 1",
        "ordinal": 0
      },
      {
        "filename": "Level_2.dwg",
        "levelName": "level 2",
        "ordinal": 1
      }
    ]
  },
  "georeference": {
    "lat": 47.63529901,
    "lon": -122.13355885,
    "angle": 0
  },
  "featureClasses": [
    {
      "featureClassName": "room",
      "dwgLayers": [
        "RM$"
      ],
      "featureClassProperties": [
        {
          "featureClassPropertyName": "name",
          "dwgLayers": [
            "A-IDEN-NUMR-EXST"
          ]
        },
        {
          "featureClassPropertyName": "roomType",
          "dwgLayers": [
            "A-IDEN-NAME-EXST"
          ]
        }
      ]
    },
    {
      "featureClassName": "wall",
      "dwgLayers": [
        "A-WALL-EXST",
        "A-WALL-CORE-EXST",
        "A-GLAZ-SILL-EXST",
        "A-GLAZ-SHEL-SILL-EXST",
        "A-GLAZ-SHEL-EXST",
        "A-GLAZ-EXST"
      ]
    },
    {
      "featureClassName": "workspace",
      "dwgLayers": [
        "A-BOMA"
      ]
    },
    {
      "featureClassName": "workspaceFurniture",
      "dwgLayers": [
        "A-FURN-SYTM-EXST"
      ]
    },
    {
      "featureClassName": "buildingFurniture",
      "dwgLayers": [
        "A-FURN-FREE-EXST"
      ]
    }
  ],
  "facilityName": "Contoso Building"
}

الخطوات التالية

للحصول على دليل حول كيفية إعداد حزمة الرسم، راجع دليل حزمة الرسم.

تعرف على المزيد من خلال القراءة: