How can I represent "Survey Points" in a BIM viewer?

I’ve just started working on ifc files, the first thing I need to do is represent points in 3D space, I’m using GeometryGym.
What I would like to achieve is to display the points as shown in the documentation:

The problem is that even if I follow the directions I can’t see the “Suvey Points”.
Could I have some advice on how to represent “Survey Points”?
Thank you all!

Use IfcAnnotation for the points.

Which viewers are you verifying the model in?
For IFC2x3, I believe there were implementers agreements that all geometry supported would be solids or surfaces. Many viewers seem to still only support only these representations.

IfcAnnotation was added to IFC2.2 so it is amazing that some software and viewers don’t support it.
That means those packages can’t support fundamental things like survey points or contour lines.

Wouldn’t it make more sense to use IfcCartesianPoint (IFC2x3, IFC4)? Then attach a custom Pset to indicate the information about the survey characteristics?

As I understand it.

IfcCartesianPoint is the choice of a singular survey point representation, associated with an IfcAnnotation Product.
The survey might be a stringline (ordered set of points), IfcIndexedPolyCurve is then most efficient way to represent this. The documentation ( ) still refers to IfcPolyline but this isn’t included in Reference View MVD.

If each point in the survey stringline has independent attributes, then it might be an aggregated set of annotations each with a cartesian point representation, as properties can only be associated with the represented product.

Ensuring consistency of implementation of survey is important.

But as I understand the original post, the question here is which IFC viewers support visualization of points and curves. The majority of them at present only display surfaces and solids and as I understand it, this might be because IFC2x3 had an implementers agreement to constrain to this. Implementers agreements as I understand it don’t apply to IFC4 and newer, but implementations haven’t necessarily supported features beyond IFC2x3 implementers agreements (majority of IFC data sets likely still adhere to the implementers agreements).

So this begs the question… why don’t we have an explicit “Survey Point” object in IFC4.3?

Site-related elements have gotten short shrift for a long time…

As Lee mentioned, It was decided IfcAnnotation would be the IFC product used to represent Survey objects.
Refer the documentation IfcAnnotation - IFC4.3.1.0 Documentation (

A predefined type was added with new enumeration constants.