protected void UnpackEntities(SU.EntitiesRef entitiesRef) { // Get the faces. long count; SU.EntitiesGetNumFaces(entitiesRef, out count); SU.FaceRef[] faceRefs = new SU.FaceRef[count]; long len = count; SU.EntitiesGetFaces(entitiesRef, len, faceRefs, out count); foreach (SU.FaceRef faceRef in faceRefs) { Faces.Add(new Face(faceRef)); } // Get the groups. SU.EntitiesGetNumGroups(entitiesRef, out count); SU.GroupRef[] groupRefs = new SU.GroupRef[count]; len = count; SU.EntitiesGetGroups(entitiesRef, len, groupRefs, out count); foreach (SU.GroupRef groupRef in groupRefs) { Groups.Add(new Group(groupRef)); } // Get the instances. SU.EntitiesGetNumInstances(entitiesRef, out count); SU.ComponentInstanceRef[] instanceRefs = new SU.ComponentInstanceRef[count]; len = count; SU.EntitiesGetInstances(entitiesRef, len, instanceRefs, out count); foreach (SU.ComponentInstanceRef instanceRef in instanceRefs) { Instances.Add(new CompInst(instanceRef)); } }