MeshWorks (ver. 1.0)

By: Charlie C. L. Wang

Email: cwang@mae.cuhk.edu.hk

Latest Release: 2013



1. Copyright

- MeshWorks is developed by Charlie C. L. Wang for research use. All rights about the program are reserved by Charlie C.L. Wang at the Department of Mechanical and Automation Engineering, The Chinese University of Hong Kong. This executable program (written in C++ and OpenGL) is available only to a primary user for academic purposes. No secondary use, such as copy, distribution, diversion, business purpose, etc., is allowed. In no event shall the author be liable to any party for direct, indirect, special, incidental, or consequential damage arising out of the use of this program. MeshWorks is self-contained and built on top of other libraries (including PQP Library and GNU Multiple Precision Arithmetic Library).


2. Download & Installation

- The executable program, as well as the testing data, can be downloaded from the link: [Executable Program (RAR file, 0.9MB)].

- Simply un-pack the RAR file to a suitable place and double-click the 'MeshWorks.exe' file (in the './MeshWorks' directory) to run the program.

- The data files should be located in the './MeshWorks/Data' directory.


3. General Functions

- The menus can be listed by the right-click of the mouse.

- The files can be loaded by the 'Open' menu, and can be saved by the 'Save' menu. Supported file formats include: *.obj for polygonal meshes and *.bpt for BSP solids. The model of a polygonal mesh can be enforced to be saved into a triangular mesh by selecting the menu: 'Mesh -> Export Trgl-Mesh'.

- The viewing functions are listed under the sub-menu of 'View'. The tool of 'Orbit-and-Pan' is activated for orbit by left-click and is activated for pan by shift-key plus left-click.


4. Specific Functions

- Approximate Boolean operation based on LDI sampling and partial mesh reconstruction (ref. [1]):
After importing two mesh models (e.g., Chair.obj and O.obj in the './MeshWorks/Data' directory), you can select the menu: 'Mesh -> Mesh Approximate-Boolean' to conduct union, intersection and subtraction operations of the models. Noted that, for a model with relative coarse mesh, the menu: 'Mesh -> Mesh Refinement' can be used to refine the triangles. The approximate Boolean operations can generate results with less error on models with dense meshes.

- Mesh repair based on BSP solid representation and BSP-to-BRep boundary extraction (ref. [2]):
If the mesh to be repaired has holes (where boundary curves will be displayed in bold - e.g., OilRig.obj), the function - 'Mesh -> Mesh Hole-filling' will first be used to fill the holes. After that, 'BSP-solid -> BSP-Solid Based Mesh Repair' will provide a one-stop solution for generating a valid mesh model. Or, you can first select 'BSP-solid -> Generating BSP-Solid from Mesh (With Repair)' to generate a repaired BSP solid. Applying 'BSP-solid -> Surface Generation (Approximate and Parallel)' on the BSP solid will generate a mesh model by the method presented in [2].

- Mesh thickening for solid fabrication of freeform surfaces (ref. [3]):
Importing an open mesh (e.g., Helmet.obj), you can generate a solid by the mesh. The thickness of the solid can be specified. Note that, when a negative thickness is input, the solid will be generated along the surface normal direction; otherwise, the solid will be generated inward. The solid can be reconstructed in different resolutions - using a high resolution (e.g., 256), a dense mesh will be generated for the solid.


5. About Error: the application has failed to start because its side by side configuration is incorrect

You can meet this error when running this program on a machine without VS2005 redistributions. More details on redistributing Visual C++ files can be found at this link: [Link].

The VS2005 redistribution file for this program can be downloaded at: [EXE].



Related Publications:

[1] Charlie C.L. Wang, "Approximate Boolean operations on large polyhedral solids with partial mesh reconstruction", IEEE Transactions on Visualization and Computer Graphics, vol.17, no.6, pp.836-849, June 2011. [PDF]

[2] Charlie C.L. Wang, and Dinesh Manocha, "Efficient boundary extraction of BSP solids based on clipping operations", IEEE Transactions on Visualization and Computer Graphics, vol.19, no.1, pp.16-29, January 2013. [PDF] [Supplementary]

[3] Charlie C.L. Wang, and Yong Chen, "Thickening freeform surfaces for solid fabrication", Rapid Prototyping Journal, vol.19, no.6, pp.395-406, November 2013. [PDF]