Summary
Evaluates multipatch features to determine whether each feature completely encloses a volume of space.
Usage
This tool will add a new field called IsClosed that indicates whether a given feature is closed.
Consider using the Enclose Multipatch tool to construct closed features out of those that are not closed.
Syntax
arcpy.ddd.IsClosed3D(in_feature_class)
Parameter | Explanation | Data Type |
in_feature_class | The multipatch features to be tested. | Feature Layer |
Derived Output
Name | Explanation | Data Type |
output_feature_class | The updated multipatch features. | Feature Layer |
Code sample
IsClosed example 1 (Python window)
The following sample demonstrates the use of this tool in the Python window.
import arcpy
from arcpy import env
env.workspace = 'C:/data'
arcpy.IsClosed3D_3d('sample_multipatch.shp')
IsClosed example 2 (stand-alone script)
The following sample demonstrates the use of this tool in a stand-alone Python script.
'''****************************************************************************
Name: IsClosed3D Example
Description: This script demonstrates how to use the
IsClosed3D tool on all multipatches in a target workspace.
****************************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
from arcpy import env
try:
# Obtain a license for the ArcGIS 3D Analyst extension
arcpy.CheckOutExtension('3D')
# Set environment settings
env.workspace = 'C:/data'
# Set Local Variables
for fc in arcpy.ListFeatureClasses(): # list features in workspace
# Determine which features are multipatches
if arcpy.Describe(fc).shapeType == 'MultiPatch':
# Execute Is Closed 3D
arcpy.IsClosed3D_3d(fc)
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)
Environments
Licensing information
- Basic: Requires 3D Analyst
- Standard: Requires 3D Analyst
- Advanced: Requires 3D Analyst