De multiparche a Collada (Conversión)

Nivel de licencia:BasicStandardAdvanced

Resumen

Convierte una o más entidades multiparches en un conjunto de archivos COLLADA y hacen referencia a archivos de imagen de textura en una carpeta de salida. Las entradas pueden ser una capa o clase de entidad.

Uso

Sintaxis

MultipatchToCollada_conversion (in_features, output_folder, {prepend_source}, {field_name})
ParámetroExplicaciónTipo de datos
in_features

Las entidades multiparches que se van a exportar.

Feature Layer
output_folder

La carpeta de destino en la que se ubicarán los archivos COLLADA de salida y los archivos de imagen de textura.

Folder
prepend_source
(Opcional)

Anteponga los nombres de archivo de los archivos COLLADA de salida con el nombre de la capa de entidades de origen.

  • PREPEND_SOURCE_NAMEAntepone los nombres de archivo.
  • PREPEND_NONENo antepone los nombres de archivo. Esta es la opción predeterminada.
Boolean
field_name
(Opcional)

El atributo de entidad que se va a utilizar como el nombre de archivo COLLADA de salida para cada entidad que se exportó. Si no se especifica ningún campo, se utiliza el Id. de objeto de la entidad.

Field

Ejemplo de código

Ejemplo 1 de MultipatchToCollada (ventana de Python)

El siguiente ejemplo muestra cómo usar de esta herramienta en la ventana Python:

import arcpy
from arcpy import env

env.workspace = "C:/data"
arcpy.MultipatchToCollada_conversion("Sample.gdb/Buildings", "C:/COLLADA", 
                                   "PREPEND_SOURCE_NAME", "BldName")
Ejemplo 2 de MultipatchToCollada (secuencia de comandos independiente)

El siguiente ejemplo muestra cómo usar esta herramienta en una secuencia de comandos independiente de Python:

'''*********************************************************************
Name: Convert Multipatch To Collada
Description: Converts multipatch features in an input workspace 
             to a Collada model.
*********************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
from arcpy import env

# Script variables
inWorkspace = arcpy.GetParameterAsText(0)

try:
    # Set environment settings
    env.workspace = inWorkspace
    # Create list of feature classes in workspace
    fcList = arcpy.ListFeatureClasses()
    # Determine if the list contained any feature classes
    if fcList:
        # Iterate through each feature class
        for fc in fcList:
            # Describe the feature class
            desc = arcpy.Describe(fc)
            # Determine if feature class is a multipatch
            if desc.shapeType is 'MultiPatch':
               # Ensure unique name for output folder
               outDir = arcpy.CreateUniqueName('collada_dir')
               # Specify that collada file is prefixed by source name
               prepend = 'PREPEND_SOURCE_NAME'
               # Specify the feature attribute used to name Collada files
               fldName = 'OID'
               #Execute MultipatchToCollada
               arcpy.MultipatchToCollada(fc, outDir, prepend, fldName)
    else:
        print 'There are no feature classes in {0}.'.format(inWorkspace)
        
except arcpy.ExecuteError:
    print arcpy.GetMessages()
except:
    # Get the traceback object
    tb = sys.exc_info()[2]
    tbinfo = traceback.format_tb(tb)[0]
    # Concatenate error information into message string
    pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\
          .format(tbinfo, str(sys.exc_info()[1]))
    msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2))
    # Return python error messages for script tool or Python Window
    arcpy.AddError(pymsg)
    arcpy.AddError(msgs)

Entornos

Esta herramienta no utiliza ningún entorno de geoprocesamiento.

Temas relacionados

Información sobre licencias

ArcGIS for Desktop Basic: Sí
ArcGIS for Desktop Standard: Sí
ArcGIS for Desktop Advanced: Sí
9/11/2013