Installing the software
Download from site.
1)Choose version anyflo_xxx:
Executable:anyflo.exe can not run alone (can only be used a recent version updater).
Minimum version: very light (about 3 Mb) but has no help and no demo, however the documentation is online by clicking
Standard version: heavier (about 30 Mb) includes all the help and all the demo.
2) Left click anyflo_xxx.zip
then save target as anyflo_xxx.zip.
3) At the end of download right click on anyflo_xxx.zip
extract all in anyflo_xxx.zip
The directory distribution should contain:
the directory anyflo: environment for VisualC++
the directory env: environment containing:
*.h: initialization files.
*.htm: help files.
*.func: language functions anyflo.
the directory exe: *.exe
the directory ima: datas base.
executable anyflo.exe of anyflo.
file AIDE_ANYFLO.htm help.
file AIDE_ANYFLO_WEB.htm help on the web.
java scrypt file for automatic launches:
anyflo*.js: various anyflo launching.
demo0*.js: interpreter demos.
demo1*.js: anyflo demos.
**.js: other applications.
initb.h: description of the environment.
For a global test of the functionalities click on:
test.js launching function test.func
The file initb.h containing:
env/ environment directory name.
enva, koma, mesa file names (environment, command and messages) of interpreter.
envb, komb,mesb file names (environment, command and messages) of anyflo.
envc,komc,mesc file names (environment, command and messages) of an application.
The java scripts anyflo_*.js allow to launch the executable anyflo.exe with particular options.
At start anyflo reads files initb.h, then files enva.h, koma.h, mesa.h, envb.h, komb.h, mesb.h,
envc.h, komc.h, mesc.h which allow it to configure.
Launching under Windows
Retrieving the text window
Click on interpreter.exe: a dialog box opens, a ? (question mark) indicates that the interpreter waits for a command line.
Only the shell commands will be executed (excluding graphics commands).
To exit the program write: exit or bye.
all demos of the interpreter can be launched by:
demo com or
com for all orders whose list is given by:
Clickanyflo_see.exe: a window of maximum size opens directly in interaction mode, commands typed at the keyboard
appear in a window like that you can see change. This mode is recommended for beginners. See the first examples to write a few lines of simple commands.
Click anyflo_video.exe: a window size graphic video opens. The dialog window can be hidden to recover:
Retrieving the text window
Simultaneously press the Alt and Tab keys and then click the icon anyflo.exe.
Move the window or graphic so as to recover the text window.
Full Screen Mode
Click anyflo_full.exe: a window maximum size opens up, it is not easy to find
the text window, as this mode is it restricted to automatic mode (see below).
2-2 Automatic mode
Files java scripts for starting anyflo with options (eg anyflo_video.js)
or by invoking the name of a function to be executed (eg essai.js).
The demo0_.*js launch demonstrations of shell commands that call language source files anyflo env/demo0_ *.
Func whose primary function is demo0_ * ().
The demo1_*.js launch demonstrations of shell commands that call language source files anyflodemo1_*.js
whose primary function is demo1_*.js
Other files *.js launch other utilities.
Click on test.js: launches anyflo for the test function test.func.
In the menu click on:
AUTO to test all.
INTERP to test interpreter.
ANYFLO to test anyflo.
scale ni to change the calculus speed.
EXI to quit.
Note: this function tests only some features and does not replace all the demos but it is easy
to add specific tests.
Click on all examples exemple_*.js: launch functions /env/exemple_*.func.
exemple_1.func: builds elementary volumes (cube, ball, grid, rev, and GEOD pipe)
and displays in real time interaction.
exemple_2.func: dynamic spring (controlled by the mouse) on a grid with extension curve.
exemple_3.func: texture mapping on a grid (with dynamic spring controlled by the mouse) and a ball.
exemple_4.func: hierarchical structure (anchor) of a body. The file
corps_simple.func (containing the simplified description of a body)
is included, and when the function exemple_4() is invoked, the file corps_simple.func
exemple_5.func: takes the example 4 by adding the interaction by means of ladders.
exemple_6.func: takes the example 4 by adding angular trajectories.
Click on all démos: demo0_*.js et demo1_*.js.
Click on all other utilities *.js.
Use the demos in order to:
1) test if the functionalities of a command are operational.
2) examples of the use of a command.
3) basics for the development of programs for beginin.
4) in any case they are utilities whose writing responsibility of the users
(maximum freedom, but also difficulty ...).
demo0_demo.js launches sequantially all demo interpreter
by running all demo0_*.js.
demo0_fff.js launches the demo function fff shell by running
the demo0_fff () file demo0_fff.js . So:
demo0_directory.js launches the demo directory of the command
demo1_fff.js launches the demo directory of the command fff of anyflo by running the function
demo1_fff() file env/demo1_fff.func. So demo1_menu.js launches the commande menu demo.
Some demos will appear complicated for beginners, which is why we find in the folder env/basics,
launch files examples basic0_com.js most basic commands for the interpreter and
basic1_com.js for anyflo commands of whose sources
are in the folder env/basics.
The files env/modele_*.func provide basic structures of typical programs. A good method is to:
1) Copy for example env/modele_menu.func in env/toto.func.
2) Rename the first function (which is "modele_menu ()) in foo ().
3) Change the code.
4) Copy modele_menu.js in toto.js in folder env.
5) Replace line:
WshShell.Run("anyflo.exe lan=\"modele_menu()\" vid");
WshShell.Run("anyflo.exe lan=\"toto()\" vid");
6) To execute click on toto.js.
Pratically modele_menu_simple.func is sufficient for most simple applications.
For more advanced applications use:
1) Call ini menu before write the general description of menus and sub menus.
2) Give the function (or sub-menu) in a menu called the same name FONC() than the text appearing in the box, and then give all
dependent functions it FONC_something names ().
3) d=dim scale, Dy1=d; Dy2=d; are respectively the height
of the scales and the minimum vertical distance of 2 successive scales.
modele.func: example of a simple construction of a body anchored.
modele_menu.func: management of menus and submenus.
modele_menu_fichier.func: rrench menus defined in the file
modele_menu_simple.func: simple menus.
modele_sous_menu.func: menus with sub menus.
modele_sous_sous_menu.func menus with sub sub menus
de sous menus.
corps_simple.func: simplified description of a body.
modele_roue.func: Example of the construction of a wheel (with hub and spokes anchored).
How to write file functions using menus
Draw functions modele_*menu*.func.
modele_menu_simple.func sufficient for most simple applications.
modele_multi_menu.func sufficient for more complex applications.
modele_sous_menu.func gives an sub menu example.
modele_sous_sous_menu.func gives an sub sub menu example.
How to write files to simple functions
How to write files to simple functions
In env folder:
1) Write code in file vide.func making sure that the first function is
2) Click on vide.js to execute.
1) In env folder:
Copy func_.func (that contains the minimal structure for accessing the real-time) in abc.func
In abc.func, change func_() in abc()
Change the code
2) in root folder:
Copy func_.js in abc.js
In abc.js, change func_() in abc()
Click on abc.js to execute.
To initiate this mode it is recommended to start with an example provided, modify it, and run it to understand how it works.
Write multiple files limited sizes.
Use the include directive..
Messages are used to correct errors in compilation, link and execution.
Anyflo is not a business product but my research tool, from one version to the other commands syntax can change,
bugs can be corrected but others may occur. While the software will not be stabilized compatibility between successive versions
will not necessarily assured.
It is important to work on the latest version (even revisit some functions), because I develop dynamic anyflo so by keeping
only the sources of the last 3 versions.