Buffer 3D (3D Analyst)

Summary

Creates a 3-dimensional buffer around points or lines to produce spherical or cylindrical multipatch features.

Illustration

Buffer 3D tool illustration

Usage

  • The output of this tool is closed multipatch features which can be used in volumetric computations and other 3D set operator tools.

  • Consider specifying a Simplification value to improve performance with complex line features, such as curved lines with a large number of vertices.

  • This tool may not be able to generate a closed multipatch for certain line features if the geometry of the line and the buffer distance produces overlapping regions with dense vertices. As a general rule, it is best to avoid buffer distances that may result in the creation of overlapping regions within the same feature.

Parameters

LabelExplanationData Type
Input Features

The line or point features to be buffered.

Feature Layer
Output Feature Class

The output multipatch containing the 3D buffers.

Feature Class
Distance

The distance of the buffer around the input features, which can be provided as either a linear distance or be derived from a numeric field in the input feature's attribute table. If the buffer distance is specified from an input field, its unit of measurement will be derived from the feature's spatial reference. If the linear distance is specified as a numeric value, the following units of measure are supported:

Linear Unit; Field
Joint Type
(Optional)

Specifies the shape of the buffer between the vertices of the line segments. This parameter is only valid for input line features.

  • StraightThe shape of connections between vertices will be straight. This is the default.
  • RoundThe shape of connections between vertices will be round.
String
Buffer Quality
(Optional)

The number of segments that will be used to represent the resulting multipatch features. A higher value produces smoother 3D features, but also lengthens the processing time. Any number between the range of 6 to 60 can be entered. The default is 20.

Long
Simplification (Maximum Allowable Offset)
(Optional)

Simplifies the input lines by maintaining their shape within the specified offset of its original form. Simplification will not take place if no value is specified.

Linear Unit

arcpy.ddd.Buffer3D(in_features, out_feature_class, buffer_distance_or_field, {buffer_joint_type}, {buffer_quality}, {simplification_tolerance})
NameExplanationData Type
in_features

The line or point features to be buffered.

Feature Layer
out_feature_class

The output multipatch containing the 3D buffers.

Feature Class
buffer_distance_or_field

The distance of the buffer around the input features, which can be provided as either a linear distance or be derived from a numeric field in the input feature's attribute table. If the buffer distance is specified from an input field, its unit of measurement will be derived from the feature's spatial reference. If the linear distance is specified as a numeric value, the following units of measure are supported:

Linear Unit; Field
buffer_joint_type
(Optional)

Specifies the shape of the buffer between the vertices of the line segments. This parameter is only valid for input line features.

  • STRAIGHTThe shape of connections between vertices will be straight. This is the default.
  • ROUNDThe shape of connections between vertices will be round.
String
buffer_quality
(Optional)

The number of segments that will be used to represent the resulting multipatch features. A higher value produces smoother 3D features, but also lengthens the processing time. Any number between the range of 6 to 60 can be entered. The default is 20.

Long
simplification_tolerance
(Optional)

Simplifies the input lines by maintaining their shape within the specified offset of its original form. Simplification will not take place if no value is specified.

Linear Unit

Code sample

Buffer3D example 1 (Python window)

The following sample demonstrates the use of this tool in the Python window.

arcpy.env.workspace = 'C:/data'
arcpy.Buffer3D_3d('lineFC.shp', 'buffer3d.shp', '15 Meters', 
                 'Round', 30, '1 Meters')
Buffer3D example 2 (stand-alone script)

The following sample demonstrates the use of this tool in a stand-alone Python script.

'''****************************************************************************
Name: Buffer 3D Example
Description: This script demonstrates an application of
             the Buffer 3D and Inside 3D tools.
****************************************************************************'''
# Import system modules
import arcpy

# Set environment settings
arcpy.env.workspace = 'C:/data'

# Set Local Variables
inFC = 'lineFC.shp'
bufferOut = 'buffer3d.shp'

# Execute Buffer 3D
arcpy.Buffer3D_3d(inFC, bufferOut, '15 Meters', 'Round', '30', '1 Meters')
arcpy.Inside3D_3d(bufferOut, 'survey_pts.shp', 'inside_analysis.dbf')