FAQ
Who validates the validator, huh?
We wrote a comprehensive suite of tests using the pytest python framework and a custom setup. This tests, among many others, the following:
Empty files and geometries, invalid input file formats. However, val3dity does not validate the schema of the input.
All the error cases listed in Errors.
Various valid geometries and boundary conditions.
Command-line user input.
You can read more about the details, or check the complete list of tested geometries
I get many errors 203 and 204, but my planes look planar to me. Why is that?
This is a very common error, actually 203 – NON_PLANAR_POLYGON_DISTANCE_PLANE is the most common error for all the files so far uploaded to our web application.
Read carefully the explanations of the errors 203 – NON_PLANAR_POLYGON_DISTANCE_PLANE and 204 – NON_PLANAR_POLYGON_NORMALS_DEVIATION.
A surface is first check for error 203, if valid then error 204 is checked. By definition, if an error 204 is reported then all the vertices are within 1cm (tolerance you used), thus you wouldn’t be able to visualise them. That usually means that you have vertices that are very close (say 0.1mm) and thus it’s easy to get a large deviation (say 80degree; the report contains the deviation).
I don’t see all the errors in my solid
It’s normal: as shown in the figure below, a solid is validated hierarchically, ie first every surface (a polygon embedded in 3D) is validated in 2D (by projecting it to a plane), then every shell is validated, and finally the interactions between the shells are analysed to verify whether the solid is valid. If at one stage there are errors, then the validation stops to avoid “cascading errors”. So if you get the error 203 – NON_PLANAR_POLYGON_DISTANCE_PLANE, then fix it and re-run the validator again. That does mean that you might have to upload your file and get it validated several times—if that becomes too tedious we strongly suggest you to download the code, compile it and run it locally (it’s open-source and free to use).
I’m sure my 3D primitive is valid, but the validator says that something is wrong
It’s possible that there are bugs in val3dity. Please report the issue and provide the following:
the JSON report (use option
--report_json
)(a link to) the input file you used
which platform you use, and whether you compiled it yourself or used the web-application
Do you validate the topological relationships between the solids?
If these solids are part of a CompositeSolid
then yes, otherwise no.
We do verify whether two BuildingParts
forming a Building
overlap though.
We however plan to offer in the future this for all primitives/buildings in a file, so that one can verify whether two different buildings overlap for instance.
The IDs for the geometries, shells, and surfaces in the report, are they 0-based or 1-based?
0-based.
Where can I get files containing Solids
or CompositeSolid
?
www.cityjson.org/datasets/ has many files
in the folder
/data/
of the GitHub repository of val3dity there are many examples of files containing different primitives, and in different formats.www.indoorgml.net has a few files