I can help you by explaining the criteria on the side of ARCHICAD.
Unfortunately I don’t know much about the topology in Rhino, but probably the following will be enough for you.
I assume you have already read the corresponding sections in the gdl reference guide (https://gdl.graphisoft.com/reference-guide/nurbs-primitive-elements and further).
The most missing thing in this guide is an illustration for our nurbs topology constraints. Now I made and attached one: NurbsFaceTrimDemo.png. Sorry for the poor image quality, as soon as I get back to it I will try to make it better.
The main points:
– The edges and trims are topological elements, each references to a nurbs curve (3D curve or 2D curve respectively) which are geometrical elements
– The geometry of the curve is not identical to the geometry of the edge or trim. The former contains the latter.
– The domain of the curve in the clamped case (curve goes through the first and last control points) is the interval from the first knot to the last knot. The domain specified by an edge or a trim is a sub-interval of this.
– The orientation of the edge is always the same as the orientation of the trims of it, and the same as the 3D and 2D curves of the edge and corresponding trims. That’s why curve indices of edges and trims and edge index of trims are always positive.
– The orientation of the edge and the loop of the face may be opposite, in this case it is indicated by a negative trim index in face
Please let me know if these helped or you need more information about the actual import workflow from Rhino. In that case I will redirect you to some expert in this field.