Here's a little more information. I'm searching all surfaces in all parts within an assembly, looking for surfaces with particular characteristics. So, in the code I showed, I have the part that the surface belongs to.
Previously, I let the user select a part, then I got the component path using something like this:
Tom, In order to search for all parts you need to call ProSolidFeatureVisit on the assembly (parts are features in an assembly). The feature id of each part is a line in the component path table. Look in the API Wizard under User's Guide->Assemblies->Visiting Assembly Components for an example.
Patrick Williams | Sr. Application Engineer | CAM Systems | Steelcase Inc. | 616.698.4078