|
From: Otis R. <osr...@ch...> - 2014-05-17 03:34:55
|
Frieda,
If I responded with the idea before, forgive my aging memory.
A while back we wanted to do some animations where we had complete frame by frame control of the flow (echos, timing, atom display, etc). We settled on wrapping our multi frame file in a script loop of our own. The basic concept is very simple, and best illustrated with an example. I'll append a Diels/Alder animation loop script to this email.
You really have great control - echos anywhere, atoms leave and return to the "stage," delays, frame interval changes, you name it...
Otis
The script:
var filePath = "../animations/diels_alderF.TXT";
var frameInterval = .1;
load @filePath;hide *;background black;set echo top center;font echo 36 serif;color echo yellow;echo VMK Molecular Movies|Presents|A Diels-Alder Reaction;delay 3;
animation off;hover off;color label pink;select formalCharge <> 0;label %C;set echo top left;font echo 16 sansserif;
color echo yellow;select *;var j = getProperty("modelInfo","modelCount");
for (var i = 1; i <= j; i++){
frame @i;
if (i ==1) {var k = {model=i}.atomIndex.max + 1;var t = {model=i}.atomIndex.min;select within(branch, {atomIndex = k}, {atomIndex=t}); color cpk;hide selected;echo 2-methoxy-1,3-butadiene, an electron rich diene;delay 4;echo;}
if (i ==3) {var k = {model=i}.atomIndex.max + 1;var t = {model=i}.atomIndex.min;select within(branch, {atomIndex = k}, {atomIndex=t}); color cpk;hide selected;echo Rotation around the C2-C3 bond;delay 4;echo;}
if (i < 58) {var k = {model=i}.atomIndex.max + 1;var t = {model=i}.atomIndex.min;select within(branch, {atomIndex = k}, {atomIndex=t}); color cpk;hide selected;}
if (i == 57){echo generates this reactive conformation,;delay 4;echo;}
if (i == 58){display *;echo ready to react with MVK, an electron poor dienophile;delay 4;echo;}
if (i == 58){display *;echo once the two reactants are properly oriented.;delay 4;echo;}
if (i == 167){display *;echo The pi systems align.;delay 3;echo;}
if (i == 190){display *;echo They approach in parallel planes.;delay 4;echo;}
if (i == 233){display *;echo partial bonds all around;delay 4;echo;}
delay @{frameInterval};
}
echo The final product is this substituted cyclohexene. ;delay 3;boundbox {*};centerat boundbox;zoom 0;
--
Otis Rothenberger
ot...@ch...
http://chemagic.com
On May 16, 2014, at 10:13 PM, Frieda Reichsman <fri...@ma...> wrote:
> Hi Bob et al.,
>
> I would like an echo to appear at the top of the frame during frames 1-10 of an animation, then a different echo to appear in the same spot for frames 15-25, and a third for frames 30-35. I’ve been looking at 'set echo' in the script doc, where I see:
>> Echo text can be associated with a specific model, with visibility controlled by the frame command. See below.
>
>
> and then below (as advertised)
>> set echo id MODEL (model number)
>> By default, when multiple models are present, all echo text is visible regardless of the model currently displayable using the frame command. The set echo ... MODEL command associates an echo with a specific model, allowing the text or image to appear and disappear when different models are displayed using the frame command.
>>
>
> I have tried many different permutations of this without success. I am clearly misunderstanding something, possibly several things… Can someone point me in the right direction? What would a simple example command look like?
>
> Frieda
> ------------------------------------------------------------------------------
> "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
> Instantly run your Selenium tests across 300+ browser/OS combos.
> Get unparalleled scalability from the best Selenium testing platform available
> Simple to use. Nothing to install. Get started now for free."
> http://p.sf.net/sfu/SauceLabs_______________________________________________
> Jmol-users mailing list
> Jmo...@li...
> https://lists.sourceforge.net/lists/listinfo/jmol-users
|