Calling steps in acrobat 3d

Hi all,
Iam pretty new to acrobat 3d. I was trying to do a step by step procedure animation. I did everything ans saved as steps. Iwant to call this each step on click of a button. Pls suggest me how to do this. I know it is possible using PDF publishing module, but i want this to be custom made template. SO some one pls suggest me how to do this

You have to use Acrobat 3D JavaScript to control the playback. There are two options, neither of which is particularly simple:
1) Recreate the U3D model so it contains several different animation "sequences" rather than one long one. In JS you can then select which of them you want to be active (by name or number) using the scene.activateAnimation() method, so only that sequence plays back when the toolbar buttons are used. Starting and pausing playback is done using runtime.pause() and runtime.play(). You'd do something like this:
var _anim = scene.animations.getByIndex(3); // pick the fourth one
scene.activateAnimation(_anim);
runtime.play();
2) Write your own timeEventHandler(). This is also the only way to change the speed of playback or make it run in reverse. Note that unlike a video file, 3D animations do not have a uniform series of "frames" you can step through; they have keyframes defined by time intervals in seconds and between that all the movements are interpolated. Here's a typical use for TimeEventHandler, slow-motion playback:
var animSpeedFactor = 0.5;
function playAnimSlowly() {
    if(_anim.currentTime >= _anim.endTime)  _anim.currentTime = _anim.startTime;
    if (typeof _animTimer != "undefined") runtime.removeEventHandler(_animTimer);
    var _tps = _anim.currentTime;
    _animTimer = new TimeEventHandler();
    _animTimer.onTimeChange = true;
    _animTimer.onEvent = function(event) {
      _tps += event.deltaTime/animSpeedFactor;
      if (_tps <= _anim.endTime) _anim.currentTime = _tps;
      else {
      _anim.currentTime = _anim.endTime;
      runtime.removeEventHandler(_animTimer);
    runtime.addEventHandler(_animTimer);
function resetAnimSpeed(_asf) {
    animSpeedFactor = _asf;
    if (typeof _animTimer != "undefined") runtime.removeEventHandler(_animTimer);
The functions are documented in the Acrobat SDK under the "JavaScript > JavaScript for 3D Annotations" chapter.

Similar Messages

  • Is it possible to call Distiller and Acrobat?

    Hey there again...
    Following my question in http://forums.adobe.com/thread/1449735?tstart=0 , I need to use the 2 PSs I've made, convert them to PDF and concatenate both of them in a single PDF file.
    What I need to know is:
    do I need to go to Applescript to invoque Distiller and Acrobat?
    Or is it possible in ExtensionScript to call Distiller and Acrobat to execute this?
    If it is possible to do it in ExtensionScript how may it could be done?
    Thanks again for the help!!

    No, you can’t do this in ExtensionScript. The only version where you can communicate with Acrobat from InDesign directly via ExtensionScriptis is InDesign 5.0.3, Acrobat 8.0.0 (tested in Windows XP SP3). Here is an example.
    But it is possible to trigger an Acrobat JS from AS. I guess you can print two ps-files to Distiller’s hot folder.
    Another script may monitor the hot folder on a certain interval, say, every minute: this can be done in AS. When the PDFs in the “Out” folder are ready, the Acrobat JS merges them saving it to another folder and deleting the original PDFs.

  • Know steps names of called sequence file using sequence call step type in TestStand

    Hi,
        I have a problem in accessing step names in called sequence file using "Sequence call"step type in TestStand 4.0.
    I would list out all step names of called sequence file. Is it possible to do through C#.NET? If, yes, Please explain to me in detail with possible example.
    Thank you,
    regards
    RKK

    Hey RKK,
    I want to first set your expectations for the forums.  This is not a place for people to review and rewrite your code for you; this is a place for specific and general questions.  I am not saying your question in this thread is inappropriate, because it is a good questions.  We should just not post code and ask others to fix it here.  If you are looking for this type of service we have alliance members that can help you write your TestStand Operator Interface (www.ni.com/alliance).
    As for you question about getting the sequence names for a sequence file that is not the currently running sequence file, you will need to open a reference to that sequence files and then use the API calls that I mentioned in my previous posts.  You can use the Enigine.GetSequenceFileEx function to open a reference to sequence file, and you will need to close the reference with the Engine.ReleaseSequenceFile function when you are done using it.  After you have a reference to this external Sequence File, you can use the example dll and sequence I previously sent you.  I also attach a new sequence file (SeqFile2.seq) plus an updated GetNames.seq to illustrate how to use the above mentioned functions.  I hope this helps.  Have a great day!
    Best Regards,
    Software Engineer
    Jett R
    Attachments:
    GetNamesOfSequencesInFile.zip ‏52 KB

  • Insert SubSequence Call Step using TS API

    We are creating a LabVIEW application that generates TestStand Test Sequences, using the TS API.  I am attempting to write a SubVI that creates a TestStand Sub Sequence Call step.  The problem I am having is that although I can create the SubSequence call without problem I cannot seem to find a way of specifying the arguments for the parameters to pass to the sub sequence that is called by the SubSequence call step.
    We are using TS 3.1 and LV 7.1
    Has anyone got any ideas?
    Regards
    Steve

    Hi Steve,
    I have done this with C# take a look to this code
    static bool DoSequenceCallStep( XmlNode nodeStep, Step step, SequenceFile seqFile, Engine engine)
    XmlAttributeCollection attrColl;
    attrColl = nodeStep.Attributes;
    XmlAttribute attrID = (XmlAttribute)attrColl.GetNamedItem("ID");
    XmlAttribute attrName = (XmlAttribute)attrColl.GetNamedItem("Name");
    XmlAttribute attrMin = (XmlAttribute)attrColl.GetNamedItem("Min");
    XmlAttribute attrSoll = (XmlAttribute)attrColl.GetNamedItem("Soll");
    XmlAttribute attrMax = (XmlAttribute)attrColl.GetNamedItem("Max");
    XmlAttribute attrDoReport = (XmlAttribute)attrColl.GetNamedItem("DoReport");
    XmlAttribute attrSeqName = (XmlAttribute)attrColl.GetNamedItem("SeqName");
    String strSeqName = attrSeqName.Value;
    Sequence sequence;
    // sequenz neu erstellen falls sie noch nicht existiert
    if (!seqFile.SequenceNameExists(strSeqName))
    sequence = engine.NewSequence();
    sequence.Name = attrSeqName.Value;
    PropertyObject pObj = sequence.Parameters;
    pObj.NewSubProperty("dblMin", PropertyValueTypes.PropValType_Number, false, "", 0);
    pObj.NewSubProperty("dblSoll", PropertyValueTypes.PropValType_Number, false, "", 0);
    pObj.NewSubProperty("dblMax", PropertyValueTypes.PropValType_Number, false, "", 0);
    seqFile.InsertSequence(sequence);
    else
    sequence = seqFile.GetSequenceByName(strSeqName);
    SequenceCallModule objModule = (SequenceCallModule)step.Module;
    objModule.UseCurrentFile = true;
    objModule.SequenceName = strSeqName;
    objModule.UseSequenceParameterPrototype = false;
    objModule.LoadParametersFromSequence(sequence);
    SequenceCallParameters Parameters = objModule.Parameters;
    SequenceCallParameter Parameter;
    String strValueExpr;
    Parameter = Parameters[0];
    if (attrMin.Value.Length == 0)
    Parameter.UseDefaultValue = true;
    else
    strValueExpr = attrMin.Value.Replace(",", ".");
    Parameter.ValueExpr = strValueExpr;
    Parameter = Parameters[1];
    if (attrSoll.Value.Length == 0)
    Parameter.UseDefaultValue = true;
    else
    strValueExpr = attrSoll.Value.Replace(",", ".");
    Parameter.ValueExpr = strValueExpr;
    Parameter = Parameters[2];
    if (attrMax.Value.Length == 0)
    Parameter.UseDefaultValue = true;
    else
    strValueExpr = attrMax.Value.Replace(",", ".");
    Parameter.ValueExpr = strValueExpr;
    // Do Report
    bool bDoReport = true;
    if (attrDoReport.Value.Length != 0)
    String strHelp = attrDoReport.Value;
    if(strHelp.CompareTo("0") == 0)
    bDoReport = false;
    else
    bDoReport = true;
    step.RecordResult = bDoReport;
    // SeqName
    step.Name = attrName.Value;
    return true;
    Do not care about the XML stuff from the i get the values !
    I think this code snipped could be useful your you because the procedure in LV is the same
    Greetings from the lake of Constance, Germany
    Juergen
     

  • Add or edit Sequence Call step(s) dynamically in a sequence

    Hello I have looked at the TestStand Example: SequenceBuilderTool
    In the <TestStand>\Examples\SequenceBuilderTool Folder
    It works great, but I cannot seem to be able to use this for a Sequence Call Step.
    Any Solutions?
    Thanks
    BRI NI

    Hi Brian,
    I found some of my old code for my example, but unfortunately I haven't found the custom step types.
    Anyway, had a look at your example posted.
    I am I right in thinking you want the built sequence file to contain SequenceCall step which is linked to an internal sequence?
    Assuming this is your requirement. I took the supplied SequenceBuilderTool example and modified it as such:
    1. Added a SequenceCall step in MainSequence of the Template sequence file with its sub-sequence.
    2. Added the sequence call step in the ini file.
    3. Modified the "Build New Sequence" to insert the sub-sequence into the New Sequence File before inserting the steps into MainSequence.
    Because I was only inserting one sequence, I kept it very simple.
    First thing to do is get a reference to the Sequence from the Template Sequence File. Because I only had one sequence I used SequenceFile.GetSequenceByName. but if you have more than one you can get the number of sequences and use this as the max count and then use the GetSequenceByIndex, not using 0 as this will be MainSequence which will already be in your New Sequence File.
    Next get a Clone of that Sequence using your new reference using PropertyObject.Clone.
    Then finally, Insert the sequence into the new sequence file using Parameters.NewSequenceFileRef as the ActiveX Reference and call SequenceFile.InsertSequence (or SequenceFile.InsertSequenceByIndex).
    Then I released the reference to the sub-sequence by setting the local variable used to Nothing.
    The actual inserting of the SequenceCall step into MainSequence is handle by the existing code.
    This produced a sequence file which contained the sub-sequence and the Step in MainSequence which called the sub-sequence.
    I hope this helps.
    Regards
    Ray Farmer
    Regards
    Ray Farmer

  • Howto get result of the calling-step in SequenceFilePostStepFailure

    Hello,
    i have a sequence with a SequenceFileCallback "SequenceFilePostStepFailure".
    How can i create a popup that displays the following values:
    - Name of calling-step
    - sequence-name of calling step
    - result of calling step
    - limit (low, high, string) of calling step
    I found:
    RunState.Caller.Step.Name,
    RunState.Caller.Sequence.Name
    but nothing for result and limits.
    Thanks for any help

    This should handle what you're looking for and then some. I use this with the retry expression that allows for the whole sequence to be repeated. Probably shouldn't allow for the "Force Pass". I think it origianally came from TestStand examples and I modified it, but I couldn't tell you which example.
    Why do geeks think Halloween and Christmas occur on the same day?
    Because 31oct = 25dec!
    Attachments:
    PostStepFailure2.seq ‏13 KB

  • Place Call step or Call Redirect

    Hi there,
    I have a scenario where after hours i need to transfer to mobile phone A but if it does not answer for whatever reason it needs to go to mobile phone B.
    Can i use the Place Call step to achieve this? The Place Call step has the No Answer branch that Call Redirect does not?

    use Call Consult Transfer instead.

  • Using Menu step in place call step - UCCX

    Hi,
    I have a script that is checking the agent state, if the agent state is ready the script will parse an XML document and it will take the phone number of a contact, after that I use a place call step to call that phone number, I play a prompt for the called contact and after that I send that contact to a select resource step, so he can talk to the UCCX agent.
    Now I want in the place call step to add a Menu step to give the called contact the oportunity to press 1 if he want to speak to the agent or if he wants just to end the call after listening to the prompt that I'm already playing for them. Is that possible? does the DTMF should be detected in such situation?...I tried to enable the media termination support, but with no luck.
    Thank you,
    Gabriel S.

    Hi Aaron/Jonathan,
    Thank you so much for the reply, yes I check all the parameters in the Place Call step and the call is place with no problem. Also I use the created contact instead of the triggering contact in the menu step, actually I do hear the prompt of the menu option. I was making some troubleshooting and I grab the select resource into the timeout branch of the menu step, so I though.. if the DTMF wasn't being detected, maybe in the timeout branch the select resource could work, but it didn't. Also I delete the menu option and put the select resource step in the succesful branch of the Place call and there works fine. So I am wondering if all this steps working together will work, Check my screenshot so you can see how my script looks like.
    I will continue making some tests.

  • How to use the place call step in the script

    I am new to uccx and the document does not explain alot for me related to this step so much.
    In the destination field : i use a  variable of string that matched before.
    The call contol group id : i use the integer of 2 ,the same as configured in the call control group number on UCCXadmin page.
    Dialog group: the same as call control group id.
    Here is my problem,the call contact field.
    If i create a variable of contact with value null and choose it in the contact field of the place a call.
    Call is not placed to the extension.
    Also with reactive debug : i see that this field should get filled with a value to make the call works,but i don't know how to use it.
    Thanks in advance.

    1. I'm not sure what you are asking.  Do you want to enter in all of the holidays for the next 10 years?
    2. For this specific date literal example, you can find it in the scripting volume 3.
    Here is the excerpt from the documentation on date literals:
    Date Literals
    The date literal is always of type Date. The following are the  different syntax formats you can use to enter a date.
    DateLiteral:
         DateDeclarator [n o w ]
         DateDeclarator [DateDesignator TimeDesignatoropt]
    DateDeclarator [ DateDesignator TimeDesignatoropt ]
    DateDeclarator: one of
         d D
    DateDesignator:
         FullDatePattern:
                Defined by the pattern "EEEE, MMMM d, yyyy"
         LongDatePattern:
                Defined by the pattern "MMMM d, yyyy"
         MediumDatePattern:
                Defined by the pattern "MMM d, yyyy"
         ShortDatePattern:
                Defined by the pattern "M/d/yy"
    TimeDesignator:
         FullTimePattern:
                Defined by the pattern "h:mm:ss a z"
         LongTimePattern:
                Defined by the pattern "h:mm:ss a z"
         MediumTimePattern:
                Defined by the pattern "h:mm:ss a"
         ShortTimePattern:
                Defined by the pattern "h:mm a"
    Example Date Literals:
    D[12/13/52]
    D[Dec 13, 1952]
    D[Thu, July 4, 2002]
    D[July 5, 2002]
    D[July 7, 2002]
    D[7/6/02]
    D[Thu, July 4, 2002 5:59 PM]
    D[July 5, 2002 5:59 PM]
    D[July 7, 2002 5:59 PM]
    D[7/6/02 5:59 PM]
    D[Thu, July 4, 2002 12:23:59 AM]
    D[July 5, 2002 12:23:59 AM]
    D[July 7, 2002 12:23:59 AM]
    D[7/6/02 12:23:59 AM]
    D[Thu, July 4, 2002 12:23:59 AM CST]
    D[July 5, 2002 12:23:59 AM CST]
    D[July 7, 2002 12:23:59 AM CST]
    D[7/6/02 12:23:59 AM CST]
    D[now]
    Details for the date and time patterns are available in the  documentation of the java.text.DateFormat class. If the string now is used, then  the literal corresponds to the current date in the server's default timezone at  the time the literal is evaluated for the first time.
    Each date literal is a reference to an instance of class  java.util.Date.
    Copyright © 2002-2010, Cisco Systems, Inc. All rights  reserved.
    Anthony Holloway
    Please use the star ratings to help drive great content to the top of searches.

  • Webservice call from acrobat form

    Hello guys i hope someone can help me. i'm simply trying to make a simple webservice call when an acrobat pdf form is opened on the server.
    does anyone have any examples or any clear documentation  i tried using the examples on the documentation but im not getting anywhere.
    Thanks
    in advance for your help.

    Hi Juergen,
    I am using it as a WSDL based data connection.
    How do i check this WSDL through a web browser? I have checked it through SICF Transaction code, It gives the output in explorer as given in the first post of this thread..
    Please help me resolving this issue, i feel that this issue is somewhere related to the role assignment of the user as if i provide this user an authorization of SAP_ALL then everything starts working fine, but after removing SAP_ALL this error is encountered, do u hav any pin points on this??
    Thanks
    Amita

  • Step - "Sequence Call Name" usage

    I wrote a program that uses teststand API calls to delete specific DLL calls and replace these with a VI call, unfortunately this method does not copy step settings (preconditions etc. ) Right hand file shown in attachment.
    I later found that it was better to just change the adapter type (since the step settings will be kept)  Left hand file in attachment.
    When I compared the output of these two methods I noticed that I seem to have accidentally set the "Sequence Call Name" as shown in the right hand file in attachment. (no doubt a bug in my first program)
    Can anyone tell me what the "Sequence Call Name" field is used for in the example shown and what effect that accidentally setting it may cause?
    I opened the right hand file in Teststand but I can not find that property in any of the step settings.
    Thanks in advance for your replies.
    Solved!
    Go to Solution.
    Attachments:
    FileDiff.jpg ‏347 KB

    Hey 4watt,
    The Wait step has the ability to wait until a thread or execution is complete, and one way to specify the thread or execution is to choose a Sequence Call step from the sequence. This sets the Sequence Call Name property in the step.
    One of the other properties of the Wait step is the "Wait for" property (WaitForTarget in TestStand 2013). This property will be a numeric value between 0 and 3 indicating which of the four settings in the Wait step is being used (Time Interval, Time Multiple, Thread, or Execution). Therefore, you shouldn't have a problem with the Sequence Call Name property set as long as the Wait For property is set to 0 or 1.
    Daniel E.
    TestStand Product Support Engineer
    National Instruments

  • Setting Enterprise Call Info Step Within An HTTP Triggered CRS Script

    IPCC Enterprise 7.5(6)
    CAD 7.5(6)
    IPIVR 7.0(1)sr05_build504
    We had a vendor develop some IVR & ICM scripts a few years back to take a website triggered request and pass along it’s value from the header, store it into Call Peripheral Variable 1 and place a call to a queue with agents (using CAD).  It then sets off a work flow group macro to populate this value (from PV1) into another application along with a repeating message to the agent that says they have a new request.  Since we recently upgraded our IVR to 7.0(1)sr05, I had to change the scripting some to make it work.  They were using a freaky way of getting the value into PV1 using a pre-connect application triggered from the initial application.  Anyway, their method would not work with the new version any longer so I needed to alter the scripts some.
    The problem I’m having is that PV1 is being set after the Place Call step.  This actually needs to be set before it reaches an agent in order to pass the value into CAD.  Currently, I’ve been using some delay statements in the ICM script to give it time to get the value into PV1 but it’s not 100%.  I get sporadic results.
    Current script in test.
    I’m looking to see if anyone can tell me a way to setup the Set Enterprise Call Info step before the Place Call step?  Since this is HTTP triggered, I can’t use (Triggering Contact) and I haven’t been able to set a pseudo contact because debug tells me that the contact is null or because it’s not a call contact.

    Hi Gabriel.  Thanks for the reply.
    The current method that's in place seems to work fine for me in test but when in production, I'm getting about a 60-70% success rate.  As it comes into my ICM queuing script, I'm using another Run Ext Script node to execute a delay to give the Set Enterprise Call Info step from the first VRU script extra time to set it's value before reaching the ICM Queue To Skill Group node.  I definitely notice better results when I did this but still not a 100%.
    The reason I'm doing this is because of the notation that the help file discusses about the Set Enterprise Call Info step:
    "Note    In a Cisco Unified CCX system:
    Beginning with CRS 4.0, this step should be placed script before the call gets connected to an agent. This means the step in the script should be placed before the Select Resource Step or in the Selected/Queued branch of the Select Resource step.
    If call data is set after the call gets connected to the agent, it will not be displayed in Cisco Agent Desktop (CAD)."
    So this is why I've been looking to see if this step can somehow be set before the Place Call step.  I'm not that familiar with altering Sessions or Contacts but was hoping someone might know how to manipulate these in order to let me do this.
    Thanks again.

  • How to run from the caller's step in teststand

    Hi,
    When an error occurs in a step during a sequence, I can use the SequenceFilePostStepRuntimeError call back to catch the error. But how can I go back to the step which is the one just raised the error for a retry run again? I do not want to make all test fail straightway, but want to go back to the caller step to have retry a few times 1st.
    Many thanks,
    WeiL
    Solved!
    Go to Solution.

    There is an example which shows how to do exactly what you are asking located at:
    <TestStand Public>\Examples\Callbacks\PostStepRuntimeErrorCallback\ErrorHandlerExample.seq
    Hope this helps,
    -Doug

  • Getting Sequence object from pre-step substep of Sequence Call based step type

    How to obtain reference to Sequence object from within pre-step substep of Sequence Call based custom step type?
    Given: new custom step type which based on NI Sequence Call step type. There is Pre-Step substep exist for this step type.
    How to get reference to Sequence object representing Sequence which will run?
    Although there is possible to examine SequenceAdapter and SequenceCallModule properties, it seems redundant since module (Sequence) is already loaded by TestStand ("NI TestStand Reference Manual. Table 3-4. Order of Actions that a Step Performs"   Action #6, while my code is running as Action #13).
    Thanks.
    Misha

    Could you explain what you want to do ?
    Why do you want to get the sequence object within a pre-step substep ?
    I give you some informations but I don't know if it's the better way to do what you want (because I don't know what you want to do with the sequence object).
    If the substep uses the ActiveX adapter :
    You can get the sequence object but you should save the object reference in a StationGlobals variable.
    And you should release the object reference within your sequence when you don't need it any more.
    If the substep uses another module adapter: 
    Get the step module, then the sequence name (module property).
    Then get the sequence object by the sequence name from the sequence file.
    Here are the paths to use for both methods :
    Sequence Name property path : Step.Module.SeqName
    Sequence Object path : RunState.SequenceFile.GetSequenceByName (seqname)

  • UCCX 9.1 - Enhanced - Place call and play prompt STEPS

    Hello,
    I try to create a script that could place call and play a prompt (wav files).
    The step place call works but the play prompt do not play something.  Do I need something special to do to make my play prompt works.
    My wav files is in the good format.
    Thanks

    Hello,
    I finally found the problem.  In fact, this is my error.  In my place call Step, I did not configure a valid dialog group.
    Thank you,

Maybe you are looking for

  • File Browse is emptied after failed validation

    Why does the file browse text box get emptied after a failed validation? Is there any way to prevent this? To further explain, create a form on a page with two page items, a text box and a file browse item, then put a not null validation on the text

  • Datawarehouse job run forever and powershell doesn't allow to enable

    It seems that my datawarehouse jobs was running forever without any report producing. I check the jobs enabled and it tell "no" every job except MPSyncJob. Every job status is running as "running" or "not started". I tried to enable the datawarehouse

  • Java or Window devices

    Hello all, I am as new as new can be to Device development, so I am looking for help from all of you. I need to find out what are the pros and cons for developing apps for handheld devices in Java over C#. Also, if there is a software standard that i

  • Change language dreamweaver CC

    Hi , your default setup installs a 'local' version of dreamweaver (in my case dutch). But i need it to be in english. How do i change it?

  • Inline popup sending contextual event to calling taskflow?

    Is it possible? Because of the returnListener not firing consistently, I was thinking of using contextual events. I am not sure, however, if that will work. 11.1.1.4 Basically I have a link, opens an inline popup to display a task flow as JSPX. Upon