ems2obj: How to convert eMachineShop .ems files into a real 3D file format like Wavefront .obj or DXF
What is this?
On this page you'll find a small program and instructions to export the real
3D data from the free CAD program of eMachineShop. eMachineShop only has
limited 2D DXF export.
How does it work?
The trick is to capture the drawing instructions ( which are just a large
bunch of 3D triangles ) going to the 3D engine when you open the 3D view
in the eMachineShop software. These captured triangles are then converted
to a Wavefront .obj file format by the ems2obj executable.
What do I need?
- the eMachineShop software (obviously)
- GLIntercept ( take the binary for Windows )
- the ems2obj executable and a special file: gliConfig.ini ( get it here )
- ( if needed ) a .obj to DXF converter like CrtlView
or stl_util
How do I install?
- install eMachineShop ( you don't have to reinstall it if it's already installed )
- install GLIntercept
- copy the file OpenGL32.dll from the install directory of GLIntercept
( like C:\Program Files\GLIntercept0_5 ) to the install directory of
eMachineShop ( like C:\Program Files\eMachineShop )
- put the gliConfig.ini you have downloaded from this page ( not the one from
the GlIntercept directory! ) and put it also in the eMachineShop install directory
(like C:\Program Files\eMachineShop )
- put the executable ems2obj.exe also in the eMachineShop install directory
(like C:\Program Files\eMachineShop )
How do I use it?
- open eMachineShop
- load your design
- open 3D view
- close eMachineShop
- in the eMachShop install directory there should now be a file called gliInterceptLog.txt
(this is the capture of the 3D instructions )
- run ems2obj ( just double click ), it reads the gliInterceptLog.txt file and dumps
a Wavefront .obj file called part.obj
- if needed convert the part.obj file to DXF with CrtlView or other software ( there are many...)
What's the catch?
The 3D object does not have the same scale as your design. That's because it was just
made for screen viewing. There is no way of retrieving ( as far as I know ) the original scale
from the 3D instruction capture. So if you want to send your DXF to your local machine shop,
always add the standard crummy 2D DXF export of eMachineShop because it has a scale indication.
( in eMachineShop: File > Export... )
I got a problem, what do I do?
I made this just as a quick fix and I do not intend to spend time to really develop this and
add features. I guess the best place to post any problems is on the forum of
CNCzone or the forum of OGLE. I'll check those forums once in a while and update this page and ems2obj if needed.
Any source?
ems2obj is actually a very small Perl script. It was converted to an executable by perlapp
from the Perl Dev Kit of ActiveState so you don't have to install Perl.
Have a look at the source. As you can see it would take very little effort from the
developers of eMachineShop to build this functionality into the eMachineShop software.
I want to thank the makers of OGLE that gave me the inspiration to crack this problem.
Enjoy!