You're right to want to know, for purposes of avoidance, how they're created. They do have a lot to do with history, first and foremost, because Pro/e is history-based where 'time's forward arrow' rules: older to younger, far to near, parent to child set the direction of dependency. When something violates that by making dependency circular, Pro/e has a hissy-fit. Still, it's a relatively unobtrusive one and not much is effected. So, one way to track them down is to use Pro/e 'Info' tools to study dependency, getting the references from, as Arlin suggested, looking in the crc file.
The way I have seen the circularity come about, in situations other than the imported assemblies, is while doing a lot of assembly modelling ~ creating parts, assemblies and features. It can easily happen, when working in a subassembly or its components, that the component or part feature will reference something in the higher level assembly, a datum plane or points or curves. The problem arises that this reference does not exist in the world of this part or subassembly. That might not be a problem as long as everything stays together, as long as all the refernced parts and assemblies are available. So, as dakeb's post pointed out, you can wind up in a situation where features of a part depend on features of another part that did not exist when it was created and which have no relationship to the part, except through the assembly. Move both of those parts to a directory where the assembly is not available and his tapped holes will fail with a message like 'Feature references unavailable'. Even though the referenced feature is available in the second part, it can't be "seen", or used, because there is no relationship between the two parts and no information gets passed, except through the assembly.
: I do have a small data set (about 250 KB; 2 parts, 2 assys; both ref the : same parts) that I can email you if you want to take a gander. As near as I : can figure it is simply a corrupted assy. It was several assy layers deep : in the main assy and if I remember correctly I was trying to create some : shrinkwraps in an upper level assy (actually I was experimenting with new : stuff; trying to figure out a way to simplify the assembly which had way : more detail in it than I needed and it was killing performance). When I : noticed the CRC error message (probably when I subsequently re-opened the : top level) I did a backup to save the bad assy after investigating it, shut : down and copied the .asm from an archive data set. The assy file sizes are : different, so I must have been in the file and saved, but feature for : feature it appears to be identical to the good version. : : This isn't a big problem for me, but I would like to have a better : understanding what's going haywire. I've since learned to make simp reps to : weed out the assemblies, which works well and causes no problems. I'd also : like to have some understanding of the "placement status" of the components : within an imported assy. : ================================== : : "David Janes" wrote... : > Things that I don't comprehend, as well. Could you briefly relate how you : created : > the assembly ..................... : > ................... : > ......... : :