ayuanweiliang / bimserver

Automatically exported from code.google.com/p/bimserver
0 stars 0 forks source link

Blank visualization on a simple ifc file exported from Archicad 14 #193

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Draw 2 walls in Archicad 14 (or skip to 3 using the attached ifc file)
2. Do an IFC 2x3 export with the default settings
3. Upload into the BIMserver
4. Press visualize

What is the expected output? What do you see instead?
I expected to see my walls, I get a blank visualization

What version of the product are you using? On what operating system?
1.0RC4 and trunk on both OSX and Ubuntu

Please provide any additional information below.
There are some wall standard cases that I can find with the browser, there is 
also o3d json returned, however nothing can be seen.

Original issue reported on code.google.com by mvaerle%...@gtempaccount.com on 29 Dec 2010 at 11:40

Attachments:

GoogleCodeExporter commented 9 years ago

Original comment by berlo...@gmail.com on 4 Jan 2011 at 6:01

GoogleCodeExporter commented 9 years ago
Looks like the visualisation is there, but out of focus....
Is zooming and panning getting the walls in focus?!

Original comment by berlo...@gmail.com on 4 Jan 2011 at 6:11

GoogleCodeExporter commented 9 years ago

Original comment by berlo...@gmail.com on 4 Jan 2011 at 6:12

GoogleCodeExporter commented 9 years ago
When changing the farplane to 30000, the model shows, but this is not optimal 
for small models (measured by bounding-box-diagonal). Somehow the diagonal 
calculator of o3d does not seem to work, it gives 3.something which should be 
around 15000 for the given model (cartesian points of near 0 up to 13000). So 
not fixing for now.

The code (commented-out line makes it work, for this model):

      var bbox = o3djs.util.getBoundingBoxOfTree(g_client.root);
      g_camera.target = g_math.lerpVector(bbox.minExtent, bbox.maxExtent, 0.5);
      var diag = g_math.length(g_math.subVector(bbox.maxExtent,
                                                bbox.minExtent));
      g_camera.eye = g_math.addVector(g_camera.target, [0, 0, 1.5 * diag]);
      g_camera.nearPlane = diag / 1000;
      g_camera.farPlane = diag * 10;
//    g_camera.farPlane = diag * 10000;

Original comment by ru...@logic-labs.nl on 18 Jan 2011 at 3:11