Append Annotation Feature Class for several GDB's in modelbuilder

03-18-2012 11:33 PM
by Anonymous User
Not applicable
Original User: bob.mijwaard

I have several GDB's with annotation which have to be appended to one GDB. This can be done with the Append Annotation Feature Class tool.
I have "written" a modelbuilder script opening one GDB (given as a parameter) and the FC are added to the output GDB. So far so good. See the attached image


To iterate through all the GDB's in the same workspace this process has to be repeated severall times. Instead I would like to use "Iterate through workspaces" in modelbuilder. Unfortunality, only one iteration can be used in modelbuilder at a time.
I created the following modelbuilder script with the "Iterate through workspaces" command together with the nested modelbuilder script above. See image:


I tried everything, but it is not possible to connect the workspace command with the nested script.

Am I doing something wrong or is the combination of the two scripts not possible in Modelbuilder?


0 Kudos
1 Reply
by Anonymous User
Not applicable
Original User: armadillo

I set up a similar model to try to duplicate this workflow. A model can be embedded in another model with exposed input and output parameters like any other tool in a toolbox. In theory it should be possible to connect an embedded model having an exposed input param to the output of a tool having the same data type for the output parameter. The output of Iterate Workspace is a variable of type workspace, and the input of Iterate Feature Classes is a variable of type "workspace or feature dataset." This difference may be enough to prevent the output of one from linking to the input of the other. I could not get the embedded model to be linked through the common parameter. You may need to modify the workflow by exporting one of the models to python and calling the script as a tool. Model iterators and other model-only tools may export successfully but are not supported in scripts and may not behave as expected; there are language constructs in python for iterating.
0 Kudos