Select to view content in your preferred language

Error Consolidating Toolbox for Project Template Creation

102
1
3 weeks ago
JessicaKnapp21
Emerging Contributor

I have two custom models inside a toolbox in my project. I am receiving ERROR 001659. I tried reviewing the python version of my models but would love help seeing if there is a syntax error preventing the consolidation. I copied the python from exporting to a python window below. I'm going to be honest, I don't really know what I'm doing with python, so any help would be appreciated.

Tool 1:

#For inline variable substitution, parameters passed as a String are evaluated using locals(), globals() and isinstance(). To override, substitute values directly.
def Model1(Geodatabase_Location, File_GDB_Name, Input_Boundary_Dataset_nps_boundary_, Template_Datasets, Expression, Field_Matching_

Tool 2Type): # Create_Boundary_Layer

# To allow overwriting outputs change overwriteOutput option to True.
arcpy.env.overwriteOutput = False


# Process: Create File Geodatabase (Create File Geodatabase) (management)
Geodatabase_Location_5 = arcpy.management.CreateFileGDB(out_folder_path=Geodatabase_Location.__str__().format(**locals(),**globals())if isinstance(Geodatabase_Location, str) else Geodatabase_Location, out_name=File_GDB_Name.__str__().format(**locals(),**globals())if isinstance(File_GDB_Name, str) else File_GDB_Name, out_version="CURRENT")[0]

# Process: Create Feature Dataset (Create Feature Dataset) (management)
Bndy_ovleraps = arcpy.management.CreateFeatureDataset(out_dataset_path=Geodatabase_Location.__str__().format(**locals(),**globals())if isinstance(Geodatabase_Location, str) else Geodatabase_Location, out_name="Bndy_ovleraps", spatial_reference="PROJCS[\"WGS_1984_Web_Mercator_Auxiliary_Sphere\",GEOGCS[\"GCS_WGS_1984\",DATUM[\"D_WGS_1984\",SPHEROID[\"WGS_1984\",6378137.0,298.257223563]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Mercator_Auxiliary_Sphere\"],PARAMETER[\"False_Easting\",0.0],PARAMETER[\"False_Northing\",0.0],PARAMETER[\"Central_Meridian\",0.0],PARAMETER[\"Standard_Parallel_1\",0.0],PARAMETER[\"Auxiliary_Sphere_Type\",0.0],UNIT[\"Meter\",1.0]];-20037700 -30241100 10000;-100000 10000;-100000 10000;0.001;0.001;0.001;IsHighPrecision")[0]

# Process: Create Feature Class (Create Feature Class) (management)
Boundary_overlap = arcpy.management.CreateFeatureclass(out_path=Bndy_ovleraps, out_name="Boundary_overlap", template=Template_Datasets.__str__().format(**locals(),**globals())if isinstance(Template_Datasets, str) else Template_Datasets)[0]

# Process: Append (Append) (management)
Boundary_overlap_2_, Appended_Row_Count, Updated_Row_Count = arcpy.management.Append(inputs=Input_Boundary_Dataset_nps_boundary_.__str__().format(**locals(),**globals())if isinstance(Input_Boundary_Dataset_nps_boundary_, str) else Input_Boundary_Dataset_nps_boundary_, target=Boundary_overlap, schema_type=Field_Matching_Type.__str__().format(**locals(),**globals())if isinstance(Field_Matching_Type, str) else Field_Matching_Type, expression=Expression.__str__().format(**locals(),**globals())if isinstance(Expression, str) else Expression)

# Process: Alter Field (Alter Field) (management)
Updated_Input_Table = arcpy.management.AlterField(in_table=Boundary_overlap_2_, field="")[0]

if __name__ == '__main__':
# Global Environment settings
with arcpy.EnvManager(scratchWorkspace="C:\\Users\\jmknapp\\OneDrive - DOI\\Desktop\\Boundary_tool\\Big_Test\\Boundary_Overlap_Template_2025_Pro_3_3\\Boundary_Overlap_Template_2025_Pro_3_3.gdb", workspace="C:\\Users\\jmknapp\\OneDrive - DOI\\Desktop\\Boundary_tool\\Big_Test\\Boundary_Overlap_Template_2025_Pro_3_3\\Boundary_Overlap_Template_2025_Pro_3_3.gdb"):
Model1(*argv[1:])

 

Tool 2:

#Required only when there are SubModel(s)
import sys
sys.path.append(r"C:\Users\jmknapp\AppData\Local\Temp\1\ArcGISProTemp21192")
# -*- coding: utf-8 -*-
"""
Generated by ArcGIS ModelBuilder on : 2025-01-20 14:58:15
"""
import arcpy
from sys import argv

#For inline variable substitution, parameters passed as a String are evaluated using locals(), globals() and isinstance(). To override, substitute values directly.
def Model2(Input_Feature_Dataset_Made_in_Step_1_, Insert_Geodatabase_Created_in_Step_1_, Input_Feature_Class_Made_in_Step_1_, Rule_Type): # Create_Topology_and__Error_Feature_Class

# To allow overwriting outputs change overwriteOutput option to True.
arcpy.env.overwriteOutput = False


# Process: Create Topology (Create Topology) (management)
Bndy_overlap_topology = arcpy.management.CreateTopology(in_dataset=Input_Feature_Dataset_Made_in_Step_1_.__str__().format(**locals(),**globals())if isinstance(Input_Feature_Dataset_Made_in_Step_1_, str) else Input_Feature_Dataset_Made_in_Step_1_, out_name="Bndy_overlap_topology")[0]

# Process: Add Feature Class To Topology (Add Feature Class To Topology) (management)
Updated_Input_Topology = arcpy.management.AddFeatureClassToTopology(in_topology=Bndy_overlap_topology, in_featureclass=Input_Feature_Class_Made_in_Step_1_.__str__().format(**locals(),**globals())if isinstance(Input_Feature_Class_Made_in_Step_1_, str) else Input_Feature_Class_Made_in_Step_1_, xy_rank=1, z_rank=1)[0]

# Process: Add Rule To Topology (Add Rule To Topology) (management)
Bndy_overlap_topology_3_ = arcpy.management.AddRuleToTopology(in_topology=Updated_Input_Topology, rule_type=Rule_Type.__str__().format(**locals(),**globals())if isinstance(Rule_Type, str) else Rule_Type, in_featureclass=Input_Feature_Class_Made_in_Step_1_.__str__().format(**locals(),**globals())if isinstance(Input_Feature_Class_Made_in_Step_1_, str) else Input_Feature_Class_Made_in_Step_1_)[0]

# Process: Validate Topology (Validate Topology) (management)
Updated_Input_Topology_2_ = arcpy.management.ValidateTopology(in_topology=Bndy_overlap_topology_3_)[0]

# Process: Export Topology Errors (Export Topology Errors) (management)
Overlaps_point, Overlaps_line, Overlaps_poly = arcpy.management.ExportTopologyErrors(in_topology=Updated_Input_Topology_2_, out_path=Insert_Geodatabase_Created_in_Step_1_.__str__().format(**locals(),**globals())if isinstance(Insert_Geodatabase_Created_in_Step_1_, str) else Insert_Geodatabase_Created_in_Step_1_, out_basename="Overlaps")

if __name__ == '__main__':
# Global Environment settings
with arcpy.EnvManager(scratchWorkspace="C:\\Users\\jmknapp\\OneDrive - DOI\\Desktop\\Boundary_tool\\Big_Test\\Boundary_Overlap_Template_2025_Pro_3_3\\Boundary_Overlap_Template_2025_Pro_3_3.gdb", workspace="C:\\Users\\jmknapp\\OneDrive - DOI\\Desktop\\Boundary_tool\\Big_Test\\Boundary_Overlap_Template_2025_Pro_3_3\\Boundary_Overlap_Template_2025_Pro_3_3.gdb"):
Model2(*argv[1:])

 

0 Kudos
1 Reply

Your code seems to have lost all indentation.  Try editing the post and using the code sample function to paste it in.  It should look like "</>".

------------------------------
M Reed
"The pessimist may be right oftener than the optimist, but the optimist has more fun, and neither can stop the march of events anyhow." — Robert A. Heinlein, in Time Enough for Love
0 Kudos