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 AC1032
di 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.
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 , both e 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: