Multipatch vers Collada (Conversion)

Niveau de licence :BasicStandardAdvanced

Récapitulatif

Convertit une ou plusieurs entités multipatch en collection de fichiers COLLADA (.dae) et de fichiers image de type texture référencés dans un dossier en sortie. Il est possible d'avoir en entrée une couche ou une classe d'entités.

Utilisation

Syntaxe

MultipatchToCollada_conversion (in_features, output_folder, {prepend_source}, {field_name})
ParamètreExplicationType de données
in_features

Entités multipatch à exporter.

Feature Layer
output_folder

Dossier de destination contenant les fichiers COLLADA et les fichiers image de type texture en sortie.

Folder
prepend_source
(Facultatif)

Ajoute un préfixe aux noms de fichier COLLADA en sortie avec le nom de la couche d'entité source.

  • PREPEND_SOURCE_NAMEAjoute un préfixe aux noms de fichier.
  • PREPEND_NONEN'ajoute pas de préfixe aux noms de fichier. Il s'agit de l'option par défaut.
Boolean
field_name
(Facultatif)

Attribut d'entité à utiliser comme nom de fichier COLLADA en sortie pour chaque entité exportée. Si aucun champ n'est spécifié, le système utilise l'identifiant objet de l'entité.

Field

Exemple de code

Exemple 1 d'utilisation de l'outil MultipatchToCollada (fenêtre Python)

L'exemple suivant illustre l'utilisation de cet outil dans la fenêtre Python :

import arcpy
from arcpy import env

env.workspace = "C:/data"
arcpy.MultipatchToCollada_conversion("Sample.gdb/Buildings", "C:/COLLADA", 
                                   "PREPEND_SOURCE_NAME", "BldName")
Exemple 2 d'utilisation de l'outil MultipatchToCollada (script autonome)

L'exemple suivant illustre l'utilisation de cet outil dans un script Python autonome :

'''*********************************************************************
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)

Environnements

Cet outil n'utilise aucun environnement de géotraitement

Thèmes connexes

Informations de licence

ArcGIS for Desktop Basic: Oui
ArcGIS for Desktop Standard: Oui
ArcGIS for Desktop Advanced: Oui
5/10/2014