This is my script where I am trying to use selectby_attribute
within a model, based on a field, F*. There are 6 fields, so I want 6 derived layers. Then I am going to use bearing and distance tool on each of these output layers. I cannot pass query to the model. How do I call a script from my 1st model, then call a model from this script?
import arcpy, sys, string, os
#arcpy.env.workspace = arcpy.GetParameterAsText(0)
in_FC = arcpy.GetParameterAsText(0)
#FList = arcpy.GetparameterAsText(1)
#F_list = FList.split(";")
#arcpy.ListFields(in_FC, "Rev_2016_F*")
#arcpy.AddMessage(tableName)
arcpy.AddMessage("The table %s exists" % (in_FC))
CurrentWorkspace = r"D:\Fort_Belvoir\Conservation\Conservation.gdb"
#in_Table = "D:\Fort_Belvoir\Conservation\Conservation.gdb\QryTab4_CopyRows"
#tbx = arcpy.AddToolbox("C:/Temp/MyToolbox.tbx")
tbx = arcpy.AddToolbox(r"D:\Fort_Belvoir\Conservation\PIF.tbx")
#arcpy.AddMessage("this is toolbox %s" % (tbx))
# Get a list of field objects
#
num = 0
fields = arcpy.ListFields(in_FC, "Rev_2016_F*", "LONG")
for field in fields:
# Check the field name, perform a calculation when finding the field 'Flag'
#
# Local variables
anum = str(num)
thetab = "F" + anum
arcpy.AddMessage(thetab)
#arcpy.SetParameter(1, SR)
theFld = field.name
arcpy.AddMessage(field.name)
arcpy.AddMessage(theFld)
arcpy.AddMessage(str(num))
anum = str(num)
arcpy.AddMessage(anum)
thetab = "F" + anum
arcpy.AddMessage(thetab)
out_FC = r"D:\Fort_Belvoir\Conservation\Conservation.gdb\PIF" + os.sep + thetab
try:
arcpy.AddMessage(out_FC)
arcpy.SetParameter(1, theFld)
arcpy.SetParameter(2, out_FC)
tbx.Model2_Toolbox(theFld, out_FC)
except:
arcpy.AddMessage("Failed")
arcpy.AddMessage(out_FC)
num = num + 1