InStep Studio

INSTEP STUDIO 3D

MeshLab integration

MeshLab is a very powerful application that can and should be used as a standalone application when working with mesh type files (see Why use MeshLab?). As with any software application, there are a few items to keep in mind:

Learning Curve

Any application will have some learning curve and mastering even simple applications can take some time. MeshLab (and InStep similarly) is no exception. While learning to use MeshLab is a worthy undertaking, it is not always easy to take the time to read the tutorials and watch the videos. Quite often the 'just tell me which button to press' attitude creeps up, especially when project deadlines are approaching.
For this reason, it is (hopefully) nice to be able to use it without having to learn the finer details of its operation.

Image showing start page of MeshLab
MeshLab GUI

Process focused

Quite often (always?), software applications are merely a tool on the belt, intended to be used for a purpose and then forgotten. The InStep application is intended to be used for the conversion of mesh data to a boundary representation (STEP files specifically). The specific details of how certain items work are not always of interest, rather a goal has been set and the application should be able to reach that goal.
With that mindset, correcting issues along the way should be kept as simple as possible (but no simpler) and help in achieving the goal of a successful conversion.
This is where InStep and MeshLab can work together as they focus on different parts of the process.


Coupling

The interaction between the InStep and MeshLab applications is one whereby the existing data is exported to a temporary folder and then either a batch process or set of command line arguments are passed to the MeshLabServer.exe application (provided by MeshLab). The InStep application then waits for the process to complete, reads in the resultant file, and steps back through some basic functions to the point where the tool was started. This is generally a smooth process with a robust input and output of suitable data. However, sometimes issues can occur.

Errors in processing

The most common possible issues fall into one of these categories:

File Read/Write access denied
If any part of the application attempts to write to a location that is protected, an error can occur. The application will, when necessary, create a folder under C:\temp\ called 'InStep' to store temporary files. The reson for doing so is that this location is generally available, not write protected and does create an address-length that is beyond what MeshLab can handle (which may happen if the default %AppData% folder were used).
MeshLab Server Version differs
During startup of InStep Studio, the application searches for the MeshLabServer.exe file which is located, by default, in the C:\Program Files\VCG\MeshLab\ folder. If it cannot find the file in this (and a few similar locations), it asks the user to install/download/redirect the application or, alternatively skip its use. If the application is told to use a different version than the current one, then issues may arise due to the formatting or options of the filter-script provided.
Output not generated
In some cases, the steps requested of MeshLab do not lead to a successful generation of output data. This may be due to the original data being heavily corrupted, of an incorrect scale (leading to complete collapse of the locations) or otherwise unsuitable. In those cases, it is possible and likely that MeshLab halts the process without generating a suitable file for InStep to read back and therefore no data is updated. If this is suspected, the message window should be consulted for any possible errors.
Command Window 'hangs'
In the unlikely event that a command prompt (black window without status information in it) is shown and does not disappear for a long time, it is possible that an error in the script has caused the application to crash or otherwise become 'stuck'. This is different from taking a long time (some processes do!) and should be reported to our Support Email or submitted through the Error Reporting option from the Help menu.

Note:

Generally, we will attempt to keep the MeshLab script files (which for now are hard-coded into the application) up to date as new versions of MeshLab are released. In some cases, we may miss updates or not follow a similar release. In those cases, the safest bet is to use the same version of MeshLab as the application was designed for. However, you are free to try newer versions and, if errors are encountered by doing so, revert back at your discretion (if you un-install MeshLab and then start InStep again it will prompt you to install the application which can be downloaded from our server to match the version that InStep is expecting).