Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

The movie15 package (an interface to embed movies, sounds and 3D objects into PDF documents for use with LaTeX as well as pdfLaTeX) requires 3D files to be in u3d format for embedding into pdf. This works fine with the sample files provided, and I have no problem generating suitable 3D files, but so far, I have not found a way to convert them to u3d. MeshLab, usually the first place to go for such things, crashes during u3d export.

Does anyone know of a way to produce u3d files suitable for use with the movie15 package?

As I am a newbie, I can only post one link, so I put a version of this question with some links on my blog.

(Links added in edit)

Edit: I have to add that my question was about 3D files generated on the basis of imaging data; since some of the initial answers were specific for drawing.

share|improve this question
1  
I've added the links for you - and added a short description of the movie15 package (mainly because on first site I couldn't see the connection to (La)TeX). –  Andrew Stacey Aug 4 '10 at 16:32
1  
Thanks for adding the links, Andrew. Can you also add the tags movie15 and u3d? –  Daniel Mietchen Aug 4 '10 at 22:24
1  
Also, just tried to update the post but this is not possible due to the newbie limits with links. The update would be that I work on the basis of real data, e.g. brain images, and thus do not have algorithmic ways to create the 3D files from scratch. –  Daniel Mietchen Aug 4 '10 at 22:30
    
If you ask another question or post an answer you have greater chances of getting 9 more rep to get at least standard set of rights =) Also if you have accounts on stackoverflow, superuser and serverfault link them it, you might get rep for them. –  Dima Aug 5 '10 at 10:38
    
Thanks for the hint, Dima - don't have accounts on any of these three, but think having some karma transferability is a good thing, as long as spammers are kept at bay. Had a nice first-time experience here, and will probably come back frequently. –  Daniel Mietchen Aug 5 '10 at 12:17
show 2 more comments

9 Answers

You can use Asymptote to generate prc files that can also be, as far as I know, included using Movie15. The asy package that ships with Asymptote actually takes care of the embedding for you.

Also, if you can get your file in the IDTF format, there is a free IDTF to u3d converter available somewhere, although I don't seem to be able to find it right now. I know I used it before. The Udav program exports IDTF, and possibly u3d, it's not very clear from their webpage.

share|improve this answer
1  
Hi Jan, thanks for the reply - Asymptote could be a solution if I had algorithmic ways to create the 3D files from scratch. Unfortunately, this is not the case, since I am working on the basis of imaging data, especially brain scans. I tried to update the question accordingly but currently can't do this due to newbie restrictions. –  Daniel Mietchen Aug 4 '10 at 22:33
    
I found such an IDTF to u3d converter at the [JMOl wiki][1] but did not try it, since I already had the DAZ Studio 3D solution. [1]: wiki.jmol.org/index.php/File_formats/3D_PDF#IDTF_to_U3D –  Daniel Mietchen Aug 5 '10 at 12:27
    
By the way, why is the link formatting in questions, answers and comments different? –  Daniel Mietchen Aug 5 '10 at 12:30
add comment

Unfortunately Meshlab is the only opensource way to do it. The 3D models ideally should be conforming surfaces and not self-interlacing.

So to embed a common IGES or STEP model you need mesh in something like Gmsh, export the mesh, import it into Meshlab and then hopefully it will manage to export it into u3d. Unfortunately u3d is not flexible enough format (it can't satisfy my needs for example). In my thesis I've ended up producing vector pdf's and including them. Takes ages to render them in adobe acrobat, but printing on laser colour printer looks stunning.

Of course this doesn't quite solve your problem. You can also buy the most expensive adobe acrobat which has tools to create u3d files from solidworks and autocad as far as I know.

This questions covers trying to embed already created models, please see Jan's post about posobility to generate the 3d graphics using Asymptote.

Also have a look at pst-solides3d - a pstricks like package for drawing 3d objects. It will not give you a 3D model in Adobe acrobat though. Also note that these embedded models can only be view with adobe products.

share|improve this answer
1  
The surfaces I tried to export to u3d were topologically correct, and Meshlab always crashed, even with sample files and default options using the newest version. As for drawing, this is not an option for me, as explained in my comment to Jan's answer. Sorry for not being clear that I work with imaging data. –  Daniel Mietchen Aug 4 '10 at 22:37
add comment
up vote 2 down vote accepted

I found one way which worked for me (seen in this old blog post): DAZ Studio 3D can import many 3D file types and export to a few formats, including u3d. It is cross-platform and free (though not open), and the End User License demands that I tell at least two people about it who did not already know it (which I hope is satisfied by this post).

share|improve this answer
2  
My word! These EULAs get more intricate every day. (+1 for making me laugh, and that might just have gotten you enough rep to edit your original question) –  Andrew Stacey Aug 5 '10 at 12:04
    
Thanks! I edited the question accordingly. –  Daniel Mietchen Aug 5 '10 at 12:19
add comment

Another way that did not work for me but quite possibly might for others is using the u3d export plugin for Blender.

share|improve this answer
add comment

u3d has initially been developed by Right Hemisphere link text and some of the patents purchased by Adobe to create Acrobat 3D. This tool is able to translate most of the existing 3D formats to u3d but is not free. I think that new extensions are slowly replacing the u3d protocol.

share|improve this answer
add comment

u3d has initially been developed by Right Hemisphere and some of the patents purchased by Adobe to create Acrobat 3D. This tool is able to translate most of the existing 3D formats to u3d but is not free. I think that new extensions are slowly replacing the u3d protocol.

share|improve this answer
add comment

U3D models can also be obtained with matlab (nonfree), but not natively. If you are interested, take a look at

http://www.mathworks.com/matlabcentral/fileexchange/27245-generate-vertices-faces-and-color-for-u3d-format

http://www.mathworks.com/matlabcentral/fileexchange/25383-matlab-mesh-to-pdf-with-3d-interactive-object

For those who know java, there is a fantastic free software that is capable to export to U3D format. See jReality

share|improve this answer
    
Quick note: I've made an extension based on the above, which provides export capabilities for more types of objects plotted. Hope it helps. –  johntex Aug 14 '13 at 10:37
add comment

You can use MathGL to produce IDTF files which later can be converted to U3D by help of U3D tools

share|improve this answer
add comment

I've embedded 3D UDF brain images in a pdf. http://www.behaviometrix.com/public_html/brain.pdf

There are a few snags on the way to getting there. I start with a ply with colors linked to every vertex. Meshlab will not export U3D with vertex colors correctly at this stage (1.3.0) nor will it output IDTF files with vertex color. However, if you create a texture, map the vertex colors to the texture, and associate the texture to the mesh, you should be able to save an IDTF file with an associated texture.

From there, I converted the IDTF to U3d using http://www.iaas.msu.ru/tmp/u3d/u3dIntelWin.zip

NOTE: this converter will expect the texture to be in .tga, not the .png format saved from Meshlab. Convert on your own. Also, it will expect the .tga to be in a particular directory; you can work it out from the initial error message.

But, finally, you'll get a properly converted mesh+color.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.