Requisiti del pacchetto di disegno

È possibile convertire i pacchetti di disegno caricati in dati mappa usando il servizio di conversione Mappe di Azure. Questo articolo descrive i requisiti del pacchetto di disegno per l'API di conversione. Per altre informazioni, è possibile scaricare il pacchetto di disegni di esempio.

Prerequisiti

Il pacchetto di disegno include disegni salvati in formato DWG, ovvero il formato di file nativo per il software AutoCAD® di Autodesk.

È possibile scegliere qualsiasi software CAD per produrre i disegni nel pacchetto di disegno.

Il servizio conversione converte il pacchetto di disegno in dati della mappa. Il servizio conversione funziona con il formato AC1032di file DWG di AutoCAD.

Glossario dei termini

Per un riferimento semplice, ecco alcuni termini e definizioni importanti durante la lettura di questo articolo.

Termine Definizione
Livello Livello DWG di AutoCAD dal file di disegno.
Entità Entità DWG di AutoCAD dal file di disegno.
Xref Un file in formato di file DWG di AutoCAD, collegato al disegno primario come riferimento esterno.
Livello Un'area di un edificio a un'elevazione impostata, ad esempio il piano.
Funzionalità Istanza di un oggetto generato dal servizio di conversione che combina una geometria con le informazioni sui metadati.
Classi di funzionalità Un progetto comune per le caratteristiche. Ad esempio, un'unità è una classe di funzionalità e un ufficio è una funzionalità.

Struttura del pacchetto di disegno

Un pacchetto di disegno è un archivio ZIP che contiene i file seguenti:

  • File DWG in formato DWG di AutoCAD.
  • File manifest.json che descrive i file DWG nel pacchetto di disegno.

Il pacchetto di disegno deve essere compresso in un singolo file di archivio, con estensione zip. I file DWG possono essere organizzati in qualsiasi modo all'interno del pacchetto, ma il file manifesto deve trovarsi nella directory radice del pacchetto compresso. Le sezioni successive illustrano in dettaglio i requisiti per i file DWG, il file manifesto e il contenuto di questi file. Per visualizzare un pacchetto di esempio, è possibile scaricare il pacchetto di disegno di esempio.

Processo di conversione dei file DWG

Il servizio di conversione esegue le operazioni seguenti in ogni file DWG:

  • Estrae le classi di funzionalità:
    • Livelli
    • Insieme unità misura
    • Zone
    • Aperture
    • Pareti
    • Penetrazioni verticali
  • Produce una funzionalità della struttura .
  • Produce un set minimo di funzionalità di categoria predefinite a cui fanno riferimento altre funzionalità:
    • stanza
    • struttura
    • wall
    • opening.door
    • zona
    • struttura

Requisiti dei file DWG

È necessario un singolo file DWG per ogni livello della struttura. Tutti i dati di un singolo livello devono essere contenuti in un singolo file DWG. Qualsiasi riferimento esterno (xref) deve essere associato al disegno padre. Ad esempio, una struttura con tre livelli ha tre file DWG nel pacchetto di disegno.

Ogni file DWG deve rispettare i requisiti seguenti:

  • Il file DWG deve definire i livelli Esterno e Unità . Può facoltativamente definire i livelli seguenti: Wall, Door, UnitLabel, Zone e ZoneLabel.
  • Il file DWG non può contenere funzionalità di più livelli.
  • Il file DWG non può contenere funzionalità di più strutture.
  • DWG deve fare riferimento allo stesso sistema di misurazione e unità di misura degli altri file DWG nel pacchetto di disegno.

Requisiti del livello DWG

Ogni livello DWG deve rispettare le regole seguenti:

  • Un livello deve contenere esclusivamente caratteristiche di una singola classe. Ad esempio, le unità e le pareti non possono trovarsi nello stesso livello.
  • Una singola classe di funzionalità può essere rappresentata da più livelli.
  • I poligoni autosesecanti sono consentiti, ma vengono riparati automaticamente. Quando vengono ripristinati, il servizio di conversione genera un avviso. È consigliabile controllare manualmente i risultati riparati, perché potrebbero non corrispondere ai risultati previsti.
  • Ogni livello include un elenco supportato di tipi di entità. Tutti gli altri tipi di entità in un livello verranno ignorati. Ad esempio, le entità di testo non sono supportate sul livello muro.

Nella tabella seguente vengono descritti i tipi di entità supportati e le funzionalità della mappa convertite per ogni livello. Se un livello contiene tipi di entità non supportati, il servizio di conversione ignora tali entità.

Livello Tipi di entità Funzionalità convertite
Exterior POLYGON, POLYLINE (closed), CIRCLE o ELLIP edizione Standard (closed) Livelli
Unità POLYGON, POLYLINE (closed), CIRCLE o ELLIP edizione Standard (closed) Unità e penetrazioni verticali
Wall POLYGON, POLYLINE (closed), CIRCLE o ELLIP edizione Standard (closed), Structures
Door POLIGONO, POLILINEA, LINEA, CIRCULARARC, CIRCLE Aperture
Zona POLYGON, POLYLINE (closed), CIRCLE o ELLIP edizione Standard (closed) Zone
UnitLabel Testo (riga singola) Non applicabile. Questo livello può aggiungere proprietà solo alle caratteristiche di unità del livello Unit. Per altre informazioni, vedere il livello UnitLabel.
ZoneLabel Testo (riga singola) Non applicabile. Questo livello può aggiungere proprietà solo alle caratteristiche di zona del livello ZonesLayer. Per altre informazioni, vedere il livello ZoneLabel.

Le sezioni seguenti descrivono i requisiti per ogni livello.

Livello Exterior

Il file DWG per ogni livello deve contenere un livello per definirne il perimetro. Questo livello viene definito livello esterno . Se ad esempio una struttura contiene due livelli, dovrà avere due file DWG, con un livello di esterni per ognuno.

Indipendentemente dal numero di disegni di entità presenti nel livello esterno, il set di dati della struttura risultante contiene una sola funzionalità di livello per ogni file DWG. Inoltre:

  • Gli esterni devono essere disegnati come POLYGON, POLYLINE (chiuso), CIRCLE o ELLIP edizione Standard (chiuso).
  • Gli esterni possono sovrapporsi, ma vengono sciolti in un'unica geometria.
  • La caratteristica del livello risultante deve essere di almeno 4 metri quadrati.
  • La caratteristica del livello risultante non deve essere maggiore di 400.000 metri quadrati.

Se il livello contiene più polilinee sovrapposte, vengono dissolvete in un'unica funzionalità di livello. Se invece il livello contiene più polilinee non sovrapposte, la funzionalità Level risultante ha una rappresentazione multigonale.

È possibile visualizzare un esempio del livello Esterno come livello struttura nel pacchetto di disegno di esempio.

Livello Unit

Il file DWG per ogni livello definisce un livello contenente unità. Le unità sono spazi esplorabili nell'edificio, ad esempio uffici, corridoi, scale e ascensori. Se la VerticalPenetrationCategory proprietà è definita, le unità navigabili che si estendono su più livelli, ad esempio ascensori e scale, vengono convertite in caratteristiche di penetrazione verticale. Alle caratteristiche di penetrazione verticale che si sovrappongono tra loro viene assegnato un oggetto setid.

Il livello unità dovrà rispettare i requisiti seguenti:

  • Le unità devono essere disegnate come POLYGON, POLYLINE (closed), CIRCLE o ELLIP edizione Standard (closed).
  • Le unità devono rientrare nei limiti del perimetro esterno della struttura.
  • Le unità non devono sovrapporsi parzialmente.
  • Le unità non devono contenere figure geometriche che si auto-intersecano.

Assegnare un nome a un'unità creando un oggetto di testo nel livello UnitLabel e quindi inserendo l'oggetto all'interno dei limiti dell'unità. Per altre informazioni, vedere il livello UnitLabel.

È possibile visualizzare un esempio del livello Unità nel pacchetto di disegno di esempio.

Livello Wall

Il file DWG per ogni livello può contenere un livello che definisce gli extent fisici di pareti, colonne e altre strutture di compilazione.

  • Le pareti devono essere disegnate come POLYGON, POLYLINE (closed), CIRCLE o ELLIP edizione Standard (closed).
  • Il livello o i livelli del muro devono contenere solo la geometria interpretata come struttura di costruzione.

È possibile visualizzare un esempio del livello Pareti nel pacchetto di disegno di esempio.

Livello Door

È possibile includere un livello DWG che contiene porte. Ogni porta deve sovrapporsi al bordo di un'unità dal livello unità.

Le aperture delle porte in un set di dati Mappe di Azure sono rappresentate come un segmento a riga singola che si sovrappone a più limiti di unità. Le immagini seguenti illustrano come Mappe di Azure converte la geometria del livello porta in funzionalità di apertura in un set di dati.

Four graphics that show the steps to generate openings

Livello Zone

Il file DWG per ogni livello può contenere un livello zona che definisce gli extent fisici delle zone. Una zona è uno spazio non navigabile che può essere denominato e sottoposto a rendering. Le zone possono estendersi su più livelli e sono raggruppate usando la proprietà zoneSetId.

  • Le zone devono essere disegnate come POLYGON, POLYLINE (closed) o ELLIP edizione Standard (closed).
  • Le zone possono sovrapporsi.
  • Le zone possono rientrare all'interno o all'esterno del perimetro esterno della struttura.

Assegnare un nome a una zona creando un oggetto di testo nel livello ZoneLabel e inserendo l'oggetto di testo all'interno dei limiti della zona. Per altre informazioni, vedere il livello ZoneLabel.

È possibile visualizzare un esempio del livello Zona nel pacchetto di disegno di esempio.

Livello UnitLabel

Il file DWG per ogni livello può contenere un livello UnitLabel. Il livello UnitLabel aggiunge una proprietà name alle unità estratte dal livello Unit. Le unità con una proprietà name possono avere altri dettagli specificati nel file manifesto.

  • Le etichette di unità devono essere entità di testo a riga singola.
  • Le etichette di unità devono rientrare interamente all'interno dei limiti dell'unità.
  • Le unità non devono contenere più entità di testo nel livello UnitLabel.

È possibile visualizzare un esempio del livello UnitLabel nel pacchetto di disegno di esempio.

Livello ZoneLabel

Il file DWG per ogni livello può contenere un livello ZoneLabel. Questo livello aggiunge una proprietà name alle zone estratte dal livello Zone. Le zone con una proprietà name possono avere altri dettagli specificati nel file manifesto.

  • Le etichette di zone essere entità di testo a riga singola.
  • Le etichette di zone devono rientrare nei limiti della rispettiva zona.
  • Le zone non devono contenere più entità di testo nel livello ZoneLabel.

È possibile visualizzare un esempio del livello ZoneLabel nel pacchetto di disegno di esempio.

Requisiti dei file manifesto

La cartella ZIP deve contenere un file manifesto al livello radice della directory, che deve essere denominato manifest.json. Descrive i file DWG per consentire al servizio di conversione di analizzare il contenuto. Vengono inseriti solo i file identificati dal manifesto. I file che si trovano nella cartella ZIP, ma non sono elencati correttamente nel manifesto, vengono ignorati.

Anche se esistono requisiti quando si usano gli oggetti manifesto, non tutti gli oggetti sono necessari. La tabella seguente illustra gli oggetti obbligatori e facoltativi per la versione 1.1 del servizio di conversione.

Nota

Se non diversamente specificato, tutte le proprietà con un tipo di proprietà stringa consentono un numero di caratteri di mille caratteri.

Oggetto Richiesto Descrizione
version true Versione dello schema del manifesto. Attualmente è supportata solo la versione 1.1.
directoryInfo true Descrive le informazioni geografiche e di contatto della struttura. Può anche essere usato per descrivere informazioni geografiche e di contatto di un occupante.
buildingLevels true Specifica i livelli degli edifici e i file che contengono la progettazione dei livelli.
georeference true Contiene informazioni geografiche numeriche per il disegno della struttura.
dwgLayers true Elenca i nomi dei livelli e ogni livello elenca i nomi delle rispettive caratteristiche.
unitProperties false Può essere usato per inserire più metadati per le funzionalità dell'unità.
zoneProperties false Può essere usato per inserire più metadati per le funzionalità della zona.

Le sezioni successive illustrano in dettaglio i requisiti per ogni oggetto.

directoryInfo

Proprietà Type Richiesto Descrizione
name stringa true Nome dell'edificio.
streetAddress stringa false Indirizzo dell'edificio.
unit stringa false Unità dell'edificio.
locality stringa false Nome di una città, una città, un'area, un quartiere o un'area geografica.
adminDivisions Matrice di stringhe JSON false Matrice contenente le designazioni degli indirizzi. Ad esempio: (Paese, Stato) Usare codici paese ISO 3166 e codici di stato/territorio ISO 3166-2.
postalCode stringa false Il codice di smistamento postale.
hoursOfOperation stringa false Conforme al formato degli orari di apertura OSM Opening Hours.
phone stringa false Numero di telefono associato all'edificio.
website stringa false Sito Web associato all'edificio.
nonPublic bool false Flag che specifica se l'edificio è aperto al pubblico.
anchorLatitude numeric false Latitudine di un ancoraggio di struttura (puntina da disegno).
anchorLongitude numeric false Longitudine di un ancoraggio di struttura (puntina da disegno).
anchorHeightAboveSeaLevel numeric false Altezza del pianterreno della struttura sul livello del mare, in metri.
defaultLevelVerticalExtent Numerico false Altezza predefinita (spessore) di un livello di questa struttura da usare quando la proprietà verticalExtent di un livello non è definita.

buildingLevels

L'oggetto buildingLevels contiene una matrice JSON di livelli di edifici.

Proprietà Type Richiesto Descrizione
levelName stringa true Nome descrittivo del livello. Ad esempio: Piano 1, Lobby, Parcheggio Blu o Seminterrato.
ordinal integer true Determina l'ordine verticale dei livelli. Ogni struttura deve avere un livello con ordinal 0.
heightAboveFacilityAnchor numeric false Altezza del livello sopra l'ancoraggio in metri.
verticalExtent numeric false Altezza da pavimento a soffitto (spessore) del livello in metri.
filename stringa true Percorso del file system del disegno CAD per un livello dell'edificio. Deve essere relativo alla radice del file ZIP dell'edificio.

georeference

Proprietà Type Richiesto Descrizione
lat numeric true Rappresentazione decimale della latitudine in gradi in corrispondenza dell'origine del disegno della struttura. Le coordinate dell'origine devono essere espresse in WGS84 Web Mercator (EPSG:3857).
lon numeric true Rappresentazione decimale della longitudine in gradi in corrispondenza dell'origine del disegno della struttura. Le coordinate dell'origine devono essere espresse in WGS84 Web Mercator (EPSG:3857).
angle numeric true Angolo in senso orario, espresso in gradi, tra l'asse nord true e l'asse verticale (Y) del disegno.

dwgLayers

Proprietà Type Richiesto Descrizione
exterior matrice di stringhe true Nomi di livelli che definiscono il profilo di costruzione esterno.
unit matrice di stringhe false Nomi di livelli che definiscono le unità.
wall matrice di stringhe false Nomi di livelli che definiscono le pareti.
door matrice di stringhe false Nomi di livelli che definiscono le porte.
unitLabel matrice di stringhe false Nomi di livelli che definiscono i nomi delle unità.
zone matrice di stringhe false Nomi di livelli che definiscono le zone.
zoneLabel matrice di stringhe false Nomi di livelli che definiscono i nomi delle zone.

unitProperties

L'oggetto unitProperties contiene una matrice JSON di proprietà delle unità.

Proprietà Type Richiesto Descrizione
unitName stringa true Nome dell'unità da associare al record unitProperty. Questo record è valido solo quando si trova un'etichetta corrispondente unitName nei unitLabel livelli.
categoryName stringa false Scopo dell'unità. Un elenco di valori che gli stili di rendering forniti possono usare è documentato in categories.json.
occupants matrice di oggetti directoryInfo false Elenco di occupanti per l'unità.
nameAlt stringa false Nome alternativo dell'unità.
nameSubtitle stringa false Sottotitolo dell'unità.
addressRoomNumber stringa false Camera, unità, appartamento o numero di suite dell'unità.
verticalPenetrationCategory stringa false Quando questa proprietà è definita, la funzionalità risultante è una penetrazione verticale (VRT) anziché un'unità. È possibile usare penetrazioni verticali per passare ad altre funzionalità di penetrazione verticale nei livelli sopra o sotto di esso. La penetrazione verticale è un nome di categoria . Se questa proprietà è definita, la categoryName proprietà viene sottoposta a override con verticalPenetrationCategory.
verticalPenetrationDirection stringa false Se la proprietà verticalPenetrationCategory è definita, facoltativamente definire la direzione valida dello spostamento. I valori consentiti sono: lowToHigh, highToLow, bothe closed. Il valore predefinito è both. Il valore fa distinzione tra maiuscole e minuscole.
nonPublic bool false Indica se l'unità è aperta al pubblico.
isRoutable bool false Quando questa proprietà è impostata su false, non è possibile passare a o tramite l'unità. Il valore predefinito è true.
isOpenArea bool false Consente all'agente di spostamento di immettere l'unità senza la necessità di un'apertura collegata all'unità. Per impostazione predefinita, questo valore è impostato su true per le unità senza aperture e false per le unità con aperture. L'impostazione manuale di isOpenArea su false su un'unità senza aperture genera un avviso, perché l'unità risultante non è raggiungibile da un agente di spostamento.

zoneProperties

L'oggetto zoneProperties contiene una matrice JSON di proprietà delle zone.

Proprietà Type Richiesto Descrizione
zoneName stringa true Nome della zona da associare al record zoneProperty. Questo record è valido solo quando nel livello zoneLabel della zona è disponibile un'etichetta corrispondente zoneName.
categoryName stringa false Scopo della zona. Un elenco di valori che gli stili di rendering forniti possono usare è documentato in categories.json.
zoneNameAlt stringa false Nome alternativo della zona.
zoneNameSubtitle stringa false Sottotitolo della zona.
zoneSetId stringa false Impostare l'ID per stabilire una relazione tra più zone in modo che possano essere sottoposte a query o selezionate come gruppo. Ad esempio, zone che si estendono su più livelli.

Manifesto del pacchetto di disegno di esempio

Di seguito è riportato il file manifesto per il pacchetto di disegno di esempio. Passare al pacchetto di disegno di esempio per Mappe di Azure Creator in GitHub per scaricare l'intero pacchetto.

File manifesto

{
    "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"
        }
    ]
}

È possibile convertire i pacchetti di disegno caricati in dati mappa usando il servizio di conversione Mappe di Azure. Questo articolo descrive i requisiti del pacchetto di disegno per l'API di conversione. Per visualizzare un pacchetto di esempio, è possibile scaricare il pacchetto di disegno di esempio v2.

Per una guida su come preparare il pacchetto di disegno, vedere Guida al pacchetto di disegno.

Modifiche e revisioni

  • Aggiunta del supporto per le classi di funzionalità definite dall'utente.
  • Requisiti semplificati dei livelli DWG.

Prerequisiti

Il pacchetto di disegno include disegni salvati in formato DWG, ovvero il formato di file nativo per il software AutoCAD® di Autodesk.

È possibile scegliere qualsiasi software CAD per produrre i disegni nel pacchetto di disegno.

Il servizio conversione converte il pacchetto di disegno in dati della mappa. Il servizio conversione funziona con il formato di file DWG autoCAD AC1032.

Glossario dei termini

Per un riferimento semplice, ecco alcuni termini e definizioni importanti durante la lettura di questo articolo.

Termine Definizione
Livello Livello DWG di AutoCAD dal file di disegno.
Entità Entità DWG di AutoCAD dal file di disegno.
Xref Un file in formato di file DWG di AutoCAD, collegato al disegno primario come riferimento esterno.
Livello Area di una struttura a un'elevazione impostata. Ad esempio, il pavimento di una struttura.
Funzionalità Istanza di un oggetto generato dal servizio di conversione che combina una geometria con le informazioni sui metadati.
Classi di funzionalità Un progetto comune per le caratteristiche.

Struttura del pacchetto di disegno

Un pacchetto di disegno è un archivio ZIP che contiene i file seguenti:

  • File DWG in formato DWG di AutoCAD.
  • File manifest.json che descrive i file DWG nel pacchetto di disegno.

Il pacchetto di disegno deve essere compresso in un singolo file di archivio, con estensione zip. I file DWG possono essere organizzati in qualsiasi modo all'interno del pacchetto di disegno, ma il file manifesto deve trovarsi nella directory radice. Le sezioni successive illustrano il processo di conversione e i requisiti per i file DWG e manifesti e il contenuto di questi file. Per visualizzare un pacchetto di esempio, è possibile scaricare il pacchetto di disegno di esempio v2.

Processo di conversione dei file DWG

Il servizio di conversione Mappe di Azure converte i file DWG di una struttura per eseguire il mapping dei dati che rappresentano una struttura e le caratteristiche di una struttura.

Il servizio di conversione Mappe di Azure crea:

  • Funzionalità struttura: funzionalità di primo livello di una struttura a cui sono associati tutti i livelli di una struttura.
  • Caratteristiche di livello: viene creata una funzionalità di livello per ogni piano di una struttura. Tutte le funzionalità di un livello sono associate a un livello.
  • Caratteristiche definite dall'utente: i livelli DWG vengono mappati a una classe di funzionalità definita dall'utente e diventano istanze della classe di funzionalità.

Requisiti dei file DWG

Ogni file DWG deve rispettare questi requisiti:

  • Il file DWG non può contenere funzionalità di più strutture.
  • Il file DWG non può contenere funzionalità di più livelli. Ad esempio, una struttura con tre livelli ha tre file DWG nel pacchetto di disegno.
  • Tutti i dati di un singolo livello devono essere contenuti in un singolo file DWG. Qualsiasi riferimento esterno (xref) deve essere associato al disegno padre.
  • Il file DWG deve definire uno o più livelli che rappresentano il limite di tale livello.
  • DWG deve fare riferimento allo stesso sistema di misurazione e unità di misura degli altri file DWG nel pacchetto di disegno.
  • Il file DWG deve essere allineato quando è sovrapposto a un altro livello dalla stessa struttura.

Requisiti del livello DWG

Classi di funzionalità

È possibile eseguire il mapping di uno o più livelli DWG a una classe di funzionalità definita dall'utente. Un'istanza della funzionalità viene creata da un'entità nel livello mappato. Ad esempio, i livelli DWG sedia, tavolo e divano sono mappati a una classe di caratteristiche denominata mobili. Una funzionalità di arredamento viene creata per ogni entità dai livelli definiti. Inoltre:

  • Tutti i livelli devono essere separati per rappresentare diversi tipi di caratteristiche della struttura.
  • Tutte le entità devono rientrare nei limiti del perimetro del livello.
  • Tipi di entità AutoCAD supportati: TEXT, MTEXT, POINT, ARC, CIRCLE, LINE, POLYLINE, ELLIP edizione Standard.

Proprietà della classe di funzionalità

Le entità di testo che rientrano nei limiti di una forma chiusa possono essere associate a tale caratteristica come proprietà. Ad esempio, una classe di caratteristiche della sala potrebbe avere testo che descrive il nome della stanza e un altro pacchetto di disegno di esempio del tipo di stanza v2. Inoltre:

  • Solo le entità TEXT e MTEXT sono associate alla funzionalità come proprietà. Tutti gli altri tipi di entità vengono ignorati.
  • Il punto di giustificazione TEXT e MTEXT deve rientrare entro i limiti della forma chiusa.
  • Se più proprietà TEXT si trova all'interno dei limiti della forma chiusa ed entrambi vengono mappati a una proprietà, ne viene selezionata una in modo casuale.

Livello di struttura

Il file DWG per ogni livello deve contenere un livello per definirne il perimetro. Ad esempio, se una struttura contiene due livelli, deve avere due file DWG, ognuno con un livello che definisce il perimetro del livello.

Indipendentemente dal numero di disegni di entità nel livello perimetrale del livello, il set di dati della struttura risultante contiene una sola funzionalità di livello per ogni file DWG. Inoltre:

  • I perimetri di livello devono essere disegnati come POLYGON, POLYLINE (closed), CIRCLE o ELLIP edizione Standard (closed).
  • I perimetri di livello possono sovrapporsi ma vengono sciolti in una geometria.
  • La caratteristica del livello risultante deve essere di almeno 4 metri quadrati.
  • La caratteristica del livello risultante non deve essere maggiore di 400.000 metri quadrati.

Se il livello contiene più POLILINEE sovrapposte, queste vengono combinate in una singola funzionalità di livello. Se invece il livello contiene più polilinee non sovrapposte, la funzionalità Level risultante ha una rappresentazione multigonale.

È possibile visualizzare un esempio del livello perimetrale Livello come livello GROS$ nel pacchetto di disegno di esempio v2.

Requisiti dei file manifesto

Il pacchetto di disegno deve contenere un file manifesto a livello radice e il file deve essere denominato manifest.json. Descrive i file DWG che consentono al servizio di conversione di analizzare il contenuto. Vengono usati solo i file identificati dal manifesto. I file presenti nel pacchetto di disegno, ma non sono elencati correttamente nel manifesto, vengono ignorati.

I percorsi di file nell'oggetto buildingLevels del file manifesto devono essere relativi alla radice del pacchetto di disegno. Il nome del file DWG deve corrispondere esattamente al nome del livello della struttura. Ad esempio, un file DWG per il livello "Seminterrato" è Basement.dwg. Un file DWG per il livello 2 viene denominato level_2.dwg. I nomi file non possono contenere spazi, è possibile usare un carattere di sottolineatura per sostituire gli spazi.

Anche se esistono requisiti quando si usano gli oggetti manifesto, non tutti gli oggetti sono necessari. La tabella seguente illustra gli oggetti obbligatori e facoltativi per il servizio di conversione 2023-03-01-preview.

Nota

Se non diversamente specificato, tutte le proprietà stringa sono limitate a un migliaio di caratteri.

File JSON manifesto

Proprietà Type Obbligatorio Descrizione
version stringa TRUE Versione dello schema del manifesto. Attualmente versione "2.0"
buildingLevels Oggetto BuildingLevels TRUE Specifica i livelli della struttura e i file contenenti la progettazione dei livelli.
featureClasses Matrice di oggetti featureClass TRUE Elenco di oggetti classe di funzionalità che definiscono la modalità di lettura dei livelli dal file di disegno DWG.
georeference Oggetto georeferenziazione FALSE Contiene informazioni geografiche numeriche per il disegno della struttura.    
facilityName stringa FALSE Nome della struttura.

Le sezioni successive illustrano in dettaglio i requisiti per ogni oggetto.

buildingLevels

Proprietà Type Richiesto Descrizione
dwgLayers Matrice di stringhe TRUE Nomi di livelli che definiscono il profilo esterno della struttura.
levels Matrice di oggetti di livello TRUE Un livello fa riferimento a un piano univoco nella struttura definita in un file DWG, l'altezza di ogni livello e ordine verticale in cui vengono visualizzati.

level

Proprietà Type Richiesto Descrizione
levelName stringa TRUE Nome del livello. Ad esempio: Piano 1, Lobby, Parcheggio Blu o Seminterrato.
ordinal integer TRUE Definisce l'ordine verticale dei livelli. Tutti i ordinal valori devono essere univoci all'interno di una struttura.
filename stringa TRUE Percorso e nome del file DWG che rappresenta il livello in una struttura. Il percorso deve essere relativo alla radice del pacchetto di disegno. 
verticalExtent number FALSE Altezza verticale da pavimento a soffitto (spessore) del livello in metri.

featureClass

Proprietà Type Richiesto Descrizione
dwgLayers Matrice di stringhe TRUE Nome di ogni livello che definisce la classe di funzionalità. Ogni entità nel livello specificato viene convertita in un'istanza della classe di funzionalità. Il dwgLayer nome da cui una funzionalità viene convertita termina come proprietà di tale funzionalità.
featureClassName string TRUE Nome della classe di funzionalità. Gli esempi tipici includono sala, area di lavoro o muro.
featureClassProperties Matrice di oggetti featureClassProperty FALSE Specifica i livelli di testo nel file DWG associato alla funzionalità come proprietà. Ad esempio, un'etichetta che rientra nei limiti di uno spazio, ad esempio un numero di stanza.

featureClassProperty

Proprietà Type Richiesto Descrizione
dwgLayers Matrice di stringhe TRUE Nome di ogni livello che definisce la proprietà della classe di funzionalità. Ogni entità nel livello specificato viene convertita in una proprietà . Solo le entità DWG TEXT e MTEXT vengono convertite in proprietà. Tutte le altre entità vengono ignorate.
featureClassPropertyName string TRUE Nome della proprietà della classe di funzionalità, ad esempio spaceName o spaceUseType.

georeference

Proprietà Type Richiesto Descrizione
lat number TRUE Rappresentazione decimale della latitudine in gradi in corrispondenza dell'origine del disegno della struttura. Le coordinate di origine devono essere in WGS84 Web Mercator (EPSG:3857).
lon number TRUE Rappresentazione decimale della longitudine in gradi in corrispondenza dell'origine del disegno della struttura. Le coordinate di origine devono essere in WGS84 Web Mercator (EPSG:3857).
angle number TRUE Angolo in senso orario, espresso in gradi, tra l'asse nord true e l'asse verticale (Y) del disegno.

Manifesto del pacchetto di disegno di esempio

Il codice JSON in questo esempio mostra il file manifesto per il pacchetto di disegno di esempio. Passare al pacchetto di disegno di esempio v2 per Mappe di Azure Creator in GitHub per scaricare l'intero pacchetto.

File manifesto

{
  "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"
}

Passaggi successivi

Per una guida su come preparare il pacchetto di disegno, vedere la guida al pacchetto di disegno.

Per altre informazioni, vedere: