QGIS to Blender / Geometry disappears when importing dxf or shp data from QGIS to Blender

Dear Sir or Madam,

In the last few months, I have discovered different showcases of integrating Speckle in a BIM workflow. As a student, I am currently working on thesis research about the development of Digital Twins. The aim of this study is to discover new workflows which could significantly improve the level of detail and location recognition inside the current Digital Twin. The findings and new research results will be shared in a publication and presentation. This thesis will be the final project to complete my higher vocational education in Architecture and Construction Engineering.

Objective

The past few days I am working on a QGIS to Blender workflow, where the Speckle connectors play an important key role in facilitating data transfer. The aim of this pilot project is to transfer geometry and metadata from a public dataset in QGIS to Blender via Speckle. I hope to achieve a workflow which makes it possible to create 3D object from 2D points in Blender. The 2D areas and point will be used in a visual script from geometry nodes. The script will eventually remove all the repetitive tasks in this workflow.

In QGIS I imported and edited a public dataset from the Dutch platform PDOK. The vector layer contains geometry and metadata from a part of road. The vector layer is inside QGIS exported as a shape file and dxf file. The CRS of this file in QGIS is set on Amersfoort / RD New EPSG 28992.

Issue

At the moment, the problems start to appear when I am receiving data from QGIS in Blender. Inside Blender I can easily load my commit with geometry from QGIS. This geometry is also visible inside the webviewer of Speckle. However, the geometry is not visible inside Blender. The received data from QGIS appears in a collection inside the Outliner Window of Blender. Important to mention is that the collection can be folded out into a large list of polygons.

Example

Desired solution

A workflow where GIS data can be easily imported into Blender via Speckle. Every application in these workflows needs to show the same geometry. Therefore, it is important to make the geometry visible in Blender.

I would highly appreciate your input on my thesis research and look forward to hearing from you at your earliest convenience.

Kind regards,

Yosri Sem

2 Likes

Thanks @yosrisem for the report. Interesting point of study.

As always with these reports, we can investigate a lot better if you are able to share the Project stream and Version commit with us to try and replicate / test / confirm what is going on.

Luckily this is easy with :speckle: .

Thank you for your fast reply.

In addition to the original message some important data:

I’ve just checked your linked stream.
And it looks like your geometry is coming through, just very far from the origin.

If you click on one of your PolygonGeometry and press ctrl+. you will centre the viewport over your geometry.

Was this the behaviour you’re expecting? or are you looking for it to do something else?

4 Likes

In the meantime of Blender changing @yosrisem it is possible to consistently move data to the origin in a rigorous way from QGIS.

3 Likes

BTW,
is Blender capable in any way to “georeference” a file location ?

If you have georeferenced files in CAD - FBX, C4D, Datasmith, …
exports will usually export - thankfully - about internal file origins.

Forcing QGIS data to origin may be a workaround in such cases
but is not really what a GIS File is meant for …

The QGIS to Blender methodology described here with Project Origin settings enables more straightforward usage of the data in Blender.

Correct that it isn’t a typical GIS practitioners typical practice, fortunately the custom CRS applied in QGIS here is applied like any other and can be reset to any other.

I’ll leave it to more expert GIS practitioners to cover what Blender may or may not offer them as part of a workflow given its 32bit coordinate space. We heard a little while ago of some experimentation here…

2 Likes

Dear @Jedd

Thank you for your input and solution to get the geometry visible. Unfortunately, I can not reproduce the results that you have obtained. In response to your workflow I have some questions:

  • Based on the layout of the interface, I assume that you are using the Modeling workspace. In your Toolbar Region on the right I see interesting Median and coordinates data, which I perhaps could use in my Geometry Nodes script. Could you explain how I can reach this data?

  • How should the shortcut be read? Ctrl key followed by numpad . or Ctrl key followed by +

  • The shortcut ctrl+. does not work in my version of Blender. Could you clarify where the function of this shortcut is located inside the menus and options of Blender? Or is it possible that you could upload a GIF file where the workflow is demonstrated?

  • The mode affects the function of the shortcut. In which mode (edit or object mode) is the shortcut being used?

I believe that your suggestion and workflow are the solution I am looking for. However, I follow the discussion in this topic about GIS and the capabilities of Blender with great interest. Since I have started this thesis research, I learned a lot about GIS. My field of expertise is mainly BIM, so I am open to advice and suggestions about using GIS data in Blender or for the development of a Digital Twins.

Ah, I think I got it.
Watched the GIF in full res.

So it is not done by overwriting QGIS’s data but just in Speckle Connector
for upstreaming …

Mostly correct.

  1. The data in the Speckle database is in a transformed no real-world location (also cartesian defined coordinates and not geodetic)
  2. The QGIS data is intact, and, if left displayed with the custom CRS will display the same coordinate space as the Speckle data. However, using a different (original) CRS for display, the data is as it was.

That custom CRS can be exported and used for other purposes, it will be saved in the QGIS project; thus can be reused over multiple QGIS projects, say in a masterplan scenario, so that the same transformation is consistent for all subsequent exports.

1 Like