I’ve committed some shapefiles from QGIS to the Speckle server. Thereafter, I imported the files in Blender, and they were correctly received, but if I try to zoom to a layer I don’t see anything.
Does someone have any suggestions?
May 4, 2023, 10:34am
I’m not quite sure exactly what you’re describing.
Perhaps you could share a speckle commit or blend file with me to reproduce the issue?
I have seen Blender incorrectly display geometry that’s super far from the origin.
Which potentially is what you are running into.
May 4, 2023, 10:50am
Thank you for your reply.
This is the link to the Speckle commit:
This is a shapefile sent from QGIS. In Blender, I can receive it correctly, but I can’t see it.
May 4, 2023, 10:56am
To follow on from
@Jedd’s suggestion, within the QGIS Connector, you can set the proxy origin as a custom CRS.
This assumes you select a Lat/Lng value from a Geocentric CRS. Speckle Connector will then centre a Projected CS at the coordinate you specify, which will bring data in at the Blender origin relative to that coordinate.
If you have difficulty working out your current projection or coordinate system, follow
@Kateryna’s suggestion here: CRS and project center in QGIS - #6 by Kateryna
May 5, 2023, 2:20pm
Ah good catch, It seems the issue is nothing to do with large coordinates.
It seems our Blender connector doesn’t correctly traverse QGIS commits.
We get the parent object data through, but none of the geometry
I’ll get back to you when I have a fix ready!
Oh, so that’s the point! Thank you Jedd for your supply. Let me know!
May 31, 2023, 2:23pm
I’ve just given this a test in our latest
2.14.0 version of the Blender connector.
And we now correctly traverse and convert your polylines
However, I noticed that Blender has a hard time displaying such large coordinates, so I had to manually scale these objects by a factor of
0.01 to get them visible in the viewport.
2.14.0 it a try, and let us know how you get on.
If you were interested, You can automatically scale your received objects by using a receive script
sf = 0.01
def execute_for_each(context, converted_blender_object, speckle_object):
converted_blender_object.scale = (sf, sf, sf)