You can create your own tools. Tools you create are called custom tools and become an integral part of geoprocessing, just like system tools. You can open and run any tool from the Search or Catalog window, use it in ModelBuilder and the Python window, and call it from another script.
Why create your own tools?
System tools (those installed with ArcGIS) are designed to perform one small but essential operation on geographic data. Using ModelBuilder or Python, you execute these tools in a sequence, feeding the output of one tool to the input of another. The model or script you create may be an essential part of your workflow—a task you need to repeat again and again. By turning your task-oriented models and scripts into tools, you can use them just like system tools, creating sequences of tasks in ModelBuilder or scripting. You can build your own library of tools that perform small but essential tasks for your organization.
Useful tools need input and output parameters
The most basic definition of a geoprocessing tool is that it is something you find in a toolbox. Any model you create and save is automatically a tool because it resides in a toolbox. A Python script on disk (a .py file) becomes a tool when you add it to the toolbox using the script tool wizard. Just because a model or script tool meets the technical definition of a tool (that is, it resides in a toolbox) does not mean it's useful—a useful tool needs two things:
- Input Parameters—So you can use a different set of inputs each time you execute the tool.
- Output Parameters—To use a tool in ModelBuilder, it must have one or more output parameters so that you can connect the outputs of your tool into the input of another tool.
Methods for creating tools
Once you have created your own toolbox, you can then make a new model tool or create a script tool inside the toolbox.
Any model you create and save in a toolbox becomes a tool, that is, a model tool.
A Python script you create and save on disk (a .py file) becomes a tool when you add it to a toolbox using the script tool wizard.
Python toolboxes are geoprocessing toolboxes that are created entirely in Python.
A useful tool has good documentation. Each toolbox and tool has an item description you can edit.