CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > enGrid

STL import is not working

Register Blogs Members List Search Today's Posts Mark Forums Read

Like Tree1Likes
  • 1 Post By wyldckat

Reply
 
LinkBack Thread Tools Display Modes
Old   February 21, 2014, 14:38
Default STL import is not working
  #1
Member
 
Pekka Pasanen
Join Date: Feb 2012
Location: Finland
Posts: 74
Rep Power: 6
zordiack is on a distinguished road
Hi, I'm having serious trouble installing enGrid on Ubuntu 13.10. I've tried the 1.5-dev from the unofficial PPA-repository and the build.bash script with 1.4. The installation is going fine and enGrid starts but all I get is a black screen. It even seems to import the STL-file just fine but nothing is showing. Screenshot is attached. I don't have any other supported geometry files to test.

I should note that I have no trouble with graphics with other software, for example ParaView. I also tested with a Debian wheezy based laptop and the situation is the same, STL just gives black screen. The STL files are fine and working in other software (Meshlab, SALOME, OpenFOAM..), I'm really puzzled about this.
Attached Images
File Type: jpg engrid_black.jpg (42.5 KB, 56 views)
zordiack is offline   Reply With Quote

Old   February 21, 2014, 17:41
Default
  #2
Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 9,531
Blog Entries: 39
Rep Power: 97
wyldckat is just really nicewyldckat is just really nicewyldckat is just really nicewyldckat is just really nicewyldckat is just really nice
Greetings Pekka,

Looks like the STL file was read, but all triangles were dropped. If you look at the status bar, it says that there are no surface faces/triangles.

Nonetheless, to check if there is a rendering problem in enGrid, try following this tutorial: https://github.com/enGits/engrid/wik...TL-geometry%29


If the tutorial works fine, then the problem should be with the STL file. The first rule is that the STL file should be a perfectly closed surface, with all triangles properly connected to their neighbour triangles. If this is the case, then I suggest that you load the STL geometry into Meshlab or Blender and repair any unwanted holes in the geometry.
For Blender, there is an old tutorial here: https://github.com/enGits/engrid/wik...ing_Geometries

Best regards,
Bruno
zordiack likes this.
wyldckat is offline   Reply With Quote

Old   February 21, 2014, 18:12
Default
  #3
Member
 
Pekka Pasanen
Join Date: Feb 2012
Location: Finland
Posts: 74
Rep Power: 6
zordiack is on a distinguished road
Thanks for quick reply. I'm quite ashamed that I didn't notice the tutorial folders myself, anyway, the STL-file from the tutorial seems to be working. So the problem is with my STL-files..

Any tips for exporting surfaces from SALOME to get them right at the first time?
zordiack is offline   Reply With Quote

Old   February 22, 2014, 06:20
Default
  #4
Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 9,531
Blog Entries: 39
Rep Power: 97
wyldckat is just really nicewyldckat is just really nicewyldckat is just really nicewyldckat is just really nicewyldckat is just really nice
Hi Pekka,

Quote:
Originally Posted by zordiack View Post
Any tips for exporting surfaces from SALOME to get them right at the first time?
I'm not familiar with SALOME, but can you describe how you perform the export? If you provide images for each export step, I might be able to see some familiar export option.

By the way, in SALOME, is your surface mesh (from which the STL is exported) in millimetre or metre? Because it could be a problem with scaling.

Best regards,
Bruno
wyldckat is offline   Reply With Quote

Old   February 26, 2014, 03:16
Default
  #5
Member
 
Pekka Pasanen
Join Date: Feb 2012
Location: Finland
Posts: 74
Rep Power: 6
zordiack is on a distinguished road
I'm using the mesh module to create 2D triangular surface of and then I export it to STL (ascii). I'm still having a lot of trouble getting the import to work.

For example, if I create a dense surface mesh with automatic triangulation (Mefisto, max_length=0.001), the STL file can be imported to enGrid. But if I use max_length=0.005, the STL file cannot be imported. The behaviour seems to be more random than consistent and I still haven't figured out how to produce STL files that will work in enGrid.

All my dimensions are in meters, I have scaled the surfaces in the geometry module. enGrid also crashes often when I try to import the STL files (I'm using the 1.5-dev version from the unofficial Ubuntu repo). I have also tried to export the surfaces straight from the geometry module, but with no luck.

The SALOME case file can be downloaded from the following link:

http://blacklight.fi/~zordiack/fantest2.hdf.zip
zordiack is offline   Reply With Quote

Old   March 4, 2014, 10:45
Default
  #6
Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 9,531
Blog Entries: 39
Rep Power: 97
wyldckat is just really nicewyldckat is just really nicewyldckat is just really nicewyldckat is just really nicewyldckat is just really nice
Hi Pekka,

Sorry, I tried to use Salome Meca 7 to generate a mesh with your case and I had no choice but to walk away, because I can't figure out how it works Even with a few tutorials...

Anyway, all I could figure out was:
  • The HDF5 file you provided had the mesh set-up, but not generated.
  • Exporting the geometry to STL wasn't enough (exported in ASCII, manually merged the files into a single STL file), because the inlet and outlet are not connected to the pipe by the triangle vertexes. Therefore, it won't work in enGrid.
If you can provide a mesh already made in Salome, then I might be able to try and export the surface mesh.

Best regards,
Bruno
wyldckat is offline   Reply With Quote

Old   June 25, 2014, 13:19
Default
  #7
New Member
 
Join Date: Mar 2014
Posts: 11
Rep Power: 4
julianschl is on a distinguished road
I gota lot of trouble with importing stls or begc files too.

When i try to load a stl the Terminal outputs the following:

Code:
Bus::open: Can not get ibus-daemon's address. 
IBusInputContext::createInputContext: no connection to ibus-daemon 
m_LogFileName = /tmp/enGrid_20140625190822510/enGrid_output.txt
KGlobal::locale(): Warning your global KLocale is being recreated with a valid main component instead of a fake component, this usually means you tried to call i18n related functions before your main component was created. You should not do that since it most likely will not work
Object::connect: No such signal org::freedesktop::UPower::DeviceAdded(QDBusObjectPath)
Object::connect: No such signal org::freedesktop::UPower::DeviceRemoved(QDBusObjectPath)

The output in engrid is :

cleaning STL geometry:
   tolerance = 1e-12
   tolerance = 1.5e-12
   tolerance = 2.25e-12
   tolerance = 3.375e-12
   tolerance = 5.0625e-12
   tolerance = 7.59375e-12
   tolerance = 1.13906e-11
   tolerance = 1.70859e-11
   tolerance = 2.56289e-11
   tolerance = 3.84434e-11
   tolerance = 5.7665e-11
   tolerance = 8.64976e-11
   tolerance = 1.29746e-10
   tolerance = 1.9462e-10
   tolerance = 2.91929e-10
   tolerance = 4.37894e-10
   tolerance = 6.56841e-10
   tolerance = 9.85261e-10
   tolerance = 1.47789e-09
   tolerance = 2.21684e-09
   tolerance = 3.32526e-09
   tolerance = 4.98789e-09
   tolerance = 7.48183e-09
   tolerance = 1.12227e-08
   tolerance = 1.68341e-08
   tolerance = 2.52512e-08
   tolerance = 3.78768e-08
   tolerance = 5.68151e-08
   tolerance = 8.52227e-08
   tolerance = 1.27834e-07
   tolerance = 1.91751e-07
   tolerance = 2.87627e-07
   tolerance = 4.3144e-07
   tolerance = 6.4716e-07
   tolerance = 9.7074e-07
   tolerance = 1.45611e-06
   tolerance = 2.18416e-06
   tolerance = 3.27625e-06
   tolerance = 4.91437e-06
   tolerance = 7.37155e-06
   tolerance = 1.10573e-05
   tolerance = 1.6586e-05
   tolerance = 2.4879e-05
   tolerance = 3.73185e-05
   tolerance = 5.59777e-05
   tolerance = 8.39666e-05
   tolerance = 0.00012595
   tolerance = 0.000188925
   tolerance = 0.000283387
   tolerance = 0.000425081
   tolerance = 0.000637622
   tolerance = 0.000956432
   tolerance = 0.00143465
   tolerance = 0.00215197
   tolerance = 0.00322796
   tolerance = 0.00484194
   tolerance = 0.00726291
   tolerance = 0.0108944
   tolerance = 0.0163415
   tolerance = 0.0245123
   tolerance = 0.0367685
   tolerance = 0.0551527
   tolerance = 0.0827291
   tolerance = 0.124094
   tolerance = 0.18614
   tolerance = 0.279211
   tolerance = 0.418816
   tolerance = 0.628224
   tolerance = 0.942336
 The STL geometry could not be cleaned.
 secs. for IOOperation: 18
The bottom line in engrid says that there are surface cells and nodes like expected but the screen stays black.

Loading the damper tutorial works without any problem. A cube created by blender and saved as etlor begc also works fine.

The stl causing the output above is perfectly closed according to blender and netfabb.Its the same pro blem with all the other stl files I got on my computer..
I really dont know whats the matter with these stl files or with my engrid installation. Maybe someone else got the same problem or an idea to solve it.

Btw I'm running engrid 1.4 on kubuntu 14.04.

/edit: The Tool "check for surface integrety" in engrid says that every cell is empty, the stl isnt water tight at some faces and it calls every single face a bad one.
Gmesh is able to import the same stl but says that there are some duplicate triangles. The tool Netfabb doesn't detect any error for this stl.

Last edited by wyldckat; June 28, 2014 at 13:47. Reason: Added [CODE][/CODE]
julianschl is offline   Reply With Quote

Old   June 28, 2014, 13:53
Default
  #8
Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 9,531
Blog Entries: 39
Rep Power: 97
wyldckat is just really nicewyldckat is just really nicewyldckat is just really nicewyldckat is just really nicewyldckat is just really nice
Greetings julianschl,

My guess is that there is one or more triangles that have points that are very close to each other or there are some very skew triangles.

You can try one simple strategy, which I vaguely remember it was discussed back in the old forum: try scaling up the model by 10 or 1000 times.

Which reminds me to ask a few questions:
  1. What units are you using in your STL model?
  2. Is the STL file in ASCII or binary?
  3. From your past posts, you seem to use OpenFOAM. Try using surfaceCheck to diagnose the geometry:
    Code:
    surfaceCheck your_model.stl
Best regards,
Bruno
wyldckat is offline   Reply With Quote

Old   June 29, 2014, 15:00
Default
  #9
New Member
 
Join Date: Mar 2014
Posts: 11
Rep Power: 4
julianschl is on a distinguished road
Thanks for your really helpful reply Bruno!

The unit in the CAD system is mm. So I the coordinates in the STL file are numbers >1.
The stl file format is ASCII .
SurfaceCheck indeed shows many Errors! I attached the log.
It's pretty amazing that tools like netfabb doesn't show any error for this file while Surfacecheck detects so many of them.

I created a stl file of the same part with other settings for the triangle size. I also set the file format to binary and this file is loaded by engrid without any problem.

But still....Engrid is a diva when it comes to import stl files.

Best regards,
Julian
Attached Files
File Type: txt surfaceCheck_Log.txt (17.4 KB, 5 views)
julianschl is offline   Reply With Quote

Old   July 1, 2014, 14:49
Default
  #10
Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 9,531
Blog Entries: 39
Rep Power: 97
wyldckat is just really nicewyldckat is just really nicewyldckat is just really nicewyldckat is just really nicewyldckat is just really nice
Hi Julian,

Quote:
Originally Posted by julianschl View Post
I created a stl file of the same part with other settings for the triangle size. I also set the file format to binary and this file is loaded by engrid without any problem.
I'm glad it's finally working. And surfaceCheck did complain about a lot of bad triangles!
And yes, binary format should give you the best numerical precision.

Quote:
Originally Posted by julianschl View Post
But still....Engrid is a diva when it comes to import stl files.
Well... there are a few important details that you should keep in mind:
  1. The STL file format was originally designed for 3D printing. AFAIK, it allows for certain issues and some levels of bad triangles. As for precision, it depends on the printer itself, which unlikely will be able to properly print something smaller than 1 mm, unless it's a pretty good 3D printer!
  2. The STL file format used for meshing for CFD (and possibly FEM) must be as close to perfect as possible, no matter if you're using enGrid, OpenFOAM or any other CFD application. At least, open source ones, since some commercial applications might have some special tools for triangle pruning and repair.
    • In OpenFOAM, at least with snappyHexMesh, it only needs the STL to act as a barrier to the mesh. But as surfaceCheck indicates, the STL should nonetheless be as perfect as possible.
    • In enGrid, the STL is the initial surface mesh! Any imperfection will automatically equate to a rather unhealthy surface+volume mesh!
Best regards,
Bruno
wyldckat is offline   Reply With Quote

Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
PyFoam braennstroem OpenFOAM 294 January 27, 2016 08:33
ICEM CFD: Import STL file error 8leemichael ANSYS Meshing & Geometry 4 October 22, 2015 22:46
Problems in compiling paraview in Suse 10.3 platform chiven OpenFOAM Installation 3 December 1, 2009 08:21
SketchUp 3D model import to Gambit or Fluent Steve Johnson FLUENT 0 February 8, 2009 15:21
STL file import to GAMBIT Spyros Stamatelos FLUENT 3 January 11, 2007 13:20


All times are GMT -4. The time now is 16:53.