1

I use the media9 package to insert a 3D model in my thesis. I created several views highlighting different parts of the model. Now when I describe the model within the text I would like to set a reference (hyperlink) to one of these views. E.g. when I describe the placement of acceleration sensors within the text I want a hyperlink that when clicked jumps to the picture and sets the view to acceleration sensors. Is this possible?

Thanks in advance!

  • Yes, it is possible. See ↗Fig. 10 of the media9 documentation. It is an example with links to views (named, numbered), specified in a views file. – AlexG Jun 25 '18 at 9:12
  • @AlexG Thanks for the hint! However this seems to be only working when the created \mediabutton is on the same page as the 3D figure. Any suggestions? – me_ts Jun 25 '18 at 9:57
  • Thanks for the reply, I will need some time to test this. – AlexG Jun 25 '18 at 10:01
0

Pkg media9 provides the command \mediabutton which can be used to insert a link that selects a pre-defined view of an embedded 3D object. If necessary, clicking the link also activates the object (so-called RichMedia annotation) before going to the 3D view.

However, it does not automatically navigate to the page containing the 3D object, if it happens to be different from the page where the link resides.

For this, a little JavaScript can be added to the \mediabutton by means of the jsaction=... option, put before 3Dgotoview=....

(To compile the example, download 3D file dice.u3d from CTAN into the working directory.)

\documentclass{article}
\usepackage{media9}

% write file with 2 views
\usepackage{filecontents}
\begin{filecontents*}{my_views.txt}
VIEW=Front
  ROO=27
END
VIEW=Back
  ROO=27
  C2C=0 1 0
END
\end{filecontents*}

%%%%

\begin{document}
Link that navigates to the 3D object and selects a named view: 
\mediabutton[
  % navigate to document page with 3D object named `dice'
  jsaction=dice:{this.pageNum=annotRM['dice'].page;},
  % select pre-defined view named `Back'
  3Dgotoview=dice:(Back)
]{\fbox{Back}}

\newpage

\includemedia[
  label=dice, % name for referencing 3D object
  width=0.5\linewidth,height=0.5\linewidth,
  3Dtoolbar, 3Dmenu,
  3Dviews=my_views.txt,
  ]{}{dice.u3d}
\end{document}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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