MeshKit
Create a finite element or finite volume mesh directly from SketchUp! Add multiple regions, volumes, boundaries and refinement.
MeshKit

MeshKit lets you create models in SketchUp and mesh with a number of quality mesh generators, including:

  • Gmsh
  • Netgen
  • TetGen
  • FRGEN3D
  • SnappyHexMesh for OpenFOAM (under development - coming soon in version 4.x)
  • FoamyHexMesh for OpenFOAM (under development - coming soon in version 4.x)

Create meshes directly from SketchUp suitable for use with finite element, finite volume, or other analysis methods. This makes performing CFD calculations on SketchUp models extremely simple and efficient.

This tool provides a way to very quickly setup models for analysis with any number of numerical methods. I often use MeshKit with the excellent, free and opensource multiphysics package, OpenFOAM, but it also works great with Fluent, Ansys, LS-DYNA, CFX, Star-CCM+, Elmer Multiphysics and others.

 

Video Tutorials and Example Files

Tutorial 1: How to Mesh a Cylinder

How to mesh a cylinder (including, setting boundaries, element sizes) with SketchUp/MeshKit/Gmsh. It should be pretty easy to follow. Links to the geometry from the tutorial (the SketchUp file, the Gmsh file, and the TetGen files):

  • Tutorial Video: https://youtu.be/On3tg4kCchw
  • Tutorial Files: https://www.dropbox.com/sh/njws1icgzsqgvdn/AABUr1TofKuLcdKsgs4QUQdKa?dl=0 

Tutorial 2: How to Create and Run a CFD Wind Tunnel with SketchUp, Gmsh and OpenFOAM

This tutorial coveres how to use Meshkit, Gmsh, and OpenFOAM to create a simple CFD wind tunnel. Creating geometry, marking boundaries, mesh size and refinement, and running with OpenFOAM are covered. 

  • Tutorial Video: https://youtu.be/YL6hP90cT_Y
  • Tutorial Files: https://www.dropbox.com/sh/dfnitx5p8yiqmaf/AABMyZVe2O8KV7sw3kTgGLkra?dl=0

Features, Mesh Generators, and Downloads

  • NEW in v3.0+ support for Gmsh, Netgen, Tetgen and FRGEN3D added. 
  • NEW in v3.0+ complex CAD entities like Arcs and Splines are supported.
  • NEW in v3.0+ generate tri, quad, tet and hex meshes with Gmsh.
  • NEW in v3.0+ automatically mesh directly in SketchUp with the QuickMesh tool. 
  • The Mark Regions dialog allows you to mark a group as a region and define the desired mesh refinement level.
  • The Mark Volumes dialog allows you to set a group to be a volume (hole). You can set boundaries on this volume. 
  • The Mark Boundaries tool allows you to assign a boundary number to selected faces. If you have a group selected, then all faces in that group will be assigned that boundary number. Each unique boundary name/number is assigned a randomly generated color. The default boundary number is 0, and any unassigned boundaries will be assigned this number. This is a convenenent way to remove/ignore internal boundaries that you do not want to appear in the final mesh. In general, you should assign any boundary that you with to work with a non-zero integer. You can add boundary refinement to create local refinement. This results in a very nicely refined and graded mesh.
  • The Boundary Info tool simply lists the boundary name assigned to each selected face, or group of faces. The assigned refinement value is also listed.
  • The Save Selected Groups to Smesh tool generates the smesh file from the selected groups. All entities must be in groups, and the groups should be only 1 level deep (ie, not groups of groups, at least for now).
  • Import your mesh in to SketchUp with the option to keep or remove boundary information. 

Note: At present, MeshKit works exclusively with "Groups" - support for "Components" may be added later. 

Information, downloads, installation, and source code related to TetGen can be found here: http://www.tetgen.org

Gmsh can be found here: http://geuz.org/gmsh

Frgen3d information can be found here: http://www.appliedsimulations.com/tools/mesh_over.htm

Netgen can be found here: http://sourceforge.net/projects/netgen-mesher

OpenFOAM information can be found here: http://www.openfoam.org

Elmer Multiphysics information can be found here: https://csc.fi/web/elmer

 

Release Notes - Version 3.3.0 (Current)

Several bug fixes, additional features and improvements, particularly for Gmsh. OpenFOAM STL export format suitable for mesh generation with snappyHexMesh (i.e. named patches are retained).

Release Notes - Version 3.2.0 (Released 27-July-2016)

Added support for 2D meshing (can specify edge/line names for Gmsh). Massively improved support for multi-material/multi-region meshes. Some bug fixes. Scoped tools (only relavent options are shown for a target mesher; target mesher is selected in the config window). All in all, lots of improvements.  

 

Release Notes - Version 3.0.4 (Released 4-Feb-2016)

 Some minor bug fixes for the Windows platform. Improved speed of mesh import/export. 

Release Notes - Version 3.0.1 (Released 20-Nov-2015)

 Some minor bug fixes for tetgen region and volume attributes. 

Release Notes - Version 3.0.0 (Released 13-Nov-2015)

This is a major upgrade. MeshKit now supports export to four mesh generators: Gmsh, Tetgen, Netgen, and FRGEN3D. MeshKit also supports export of all the complex CAD entities that SketchUp supports (like Arcs and Splines) making it one of the most powerful and certainly one of the most easy-to-use preprocessors in existence. 

Thanks for your continued support!

Release Notes - Version 2.1.0 (Released 12-Sept-2015)

We're releasing version 2.1.0 with some substantial speed improvements. In the past, complicated models took quite a while to export. This is no longer the case - even complicated/detailed models export quickly in a matter of seconds.

Thank you sincerely for your support!

Release Notes - Version 2.0.0 (Released 8-July-2015)

We're releasing version 2.0 with some new features. Quite a few users were asking for a way to import meshes back in to SketchUp - now you can!

We're also releasing version 2.0 with different license (free trial/paid use). This is because, well, writing, updating and maintaining code takes tons of time!  But, not to worry, we're only asking for less than ten USD! This will allow us to continue to develop new features and support an ever growing community. 

Thank you sincerely for your support!

Release Notes - Version 1.1.0 (Released 8-Jun-2015)

We're rebranding Sketchy Tetgen Tools as MeshKit/MeshKit Pro. 

Why?  Well, first of all STT was developed and released quite simply because I needed a way to quickly prototype and simulate concepts directly from SketchUp, and I thought it might be useful to all of you. With 600+ users worldwide, I think it's safe to say that it has provided some utility. 

Second, TetGen is fantastic, but we'd like to support more platforms in the future, hence the name change. We hope to have the 2.0 release out soon, and with a ton of new, useful features! Thanks for your support!

Release Notes - Version 1.1.0 (Released 31-Jan-2015)

Version 1.1.0 contains a number of improvements and fixes, the most important of which are listed below.

Support for boundary based refinement.

Added support for face/boundary based refinement. A mtr file will be generated which contains specified refinement options. Refinement is specified as the desired element length along the boundary, and is scaled linearly through the volume. The result is a nicely graded mesh.  To use this option with tetgen, include the -m flag, for example:

$ tetgen -pqAm example.smesh

If the generated example.mtr file is in the same directory, it will be used to generate a mesh with the specified refinement. Note, do not use the -a and the -m flags together (you can, but just be sure you know what you are doing or you may end up with a very large mesh indeed). The -a flag specifies a minimum refinement level in a given volume, and the -m flag at the boundary.

Bux fixes

Fixed a bug where the region point was not converted to the correct units. Units: "m", "mm", "cm", "in", "ft" are supported.

 

Improvements

Much faster when performing node merging operations.

Future

The next release will likely include some significant speed improvements. The motivation behind the 1.x release is to add functionality quickly and fix any major bugs. The 2.x series will focus on improving/refactoring the code base and implementing some targeted speed improvements. The 2.x series will also add significant functionality, as well as support for multiple mesh generation formats. 

Thanks for your support!