JATLite CAD Applet Example Helper

Introduction

CAD applet is a tiny CAD modeler for demonstrating JATLite functionalities. Besides of KQML message exchange through router, an applet can send KQML message as email and can transfer a large amount of data to a remote file system.

Step

  1. This example needs two agents. Agents may reside on the different computers. If you want to test with two different computers, you need to download CADApplet for each computer. If you want to test within the same machine, launch one more appletviewer(use clone menuitem in appletviewer menu) or Internet Explorer(use File->New->Window menuitem). For convenience, agents' name in this web document will be assumed as Tom and Jerry but please use your own agent names not to bother other people's test.

    For appletviewer users : If you already installed appletviewer of JDK1.1, the first argument of appletviewer will be file:/u/local/JATLite/CADApplet.html.

    Therefore, the command line will be

    c:\jdk1.1>appletviewer file:/u/local/JATLite/CADApplet.html

    If you did not install appletviewer, you can download JDK1.1

    For Internet Explorer users : Click the above hyperlink of CADApplet. This example will work with Internet Explorer4.0 Preview 2

    For Netscape Navigator users : The most recent version of Netscape Communicator seems not provide full support for JDK1.1. and this example will not work. Use appletviewer or Internet Explorer instead.

  2. Register to router

    Connect Click connect button to connect to JATLite router. You should see the communication frame shown below. Move to Register panel and fill in AgentName(Tom ), Email and Password text fields. The agent name is case sensitive and space within the name will not allowed. Email address should be valid and for test purpose, type in your email address(like jhc@cdr.stanford.edu). Then click 'Register' button.

  3. For another agent(Jerry ), do the same step above, but AgentName should be different. (like that Tom and Jerry are different)

  4. For each agent, go to 'Request' panel and click 'Connect'. If connection is successful, 'Connection Established' message will be displayed in the Request panel text area. If connection fails, error message will be displayed in the text area.

  5. Test KQML message exchange

    Go to 'Compose' panel and type in 'Receiver' text field as another agent name(Jerry ) you have specified. (ReceiverAgentName should be replaced). Type in content field as you like but it should follow KQML syntax. Simply, unmatched parenthesis and double quotes should be avoided. If your content field has wrong KQML syntax, you will receive an error message from router. Click 'Send' button. The receiver agent should receive the message.

    If you want to test email sending, click 'Email' button. Email processing will be displayed in 'Request' panel. After finishing email transfer, check out your email box.

  6. Set up FTP connection

    Go to 'FTP' panel and choose 'CADStandAlone' from the choice box. Modify 'Connection ID' as the other agent name(Jerry ). Modify 'Remote Path' as your FTP server initial remote directory such as /n/java/tmp(/n/java/tmp is an example. You should not use /n/java/tmp. Instead, use the remote directory you have read/write permission in your FTP server such as your home directory) Modify 'Host', 'UserName' and 'Password' as your FTP host, your login user name and login password. Then click 'Modify'button. Do the same step for the other agent(Jerry ).

  7. Create CAD model

    Cylinder Click 'Cylinder' button. Modify Origin Z as 100.0. Modify Dimension X as 50.0, Dimension Y as 50.0 and Dimension Z as 50.0. Choose Color as you like. Then click 'OK'. Click 'Cylinder' button again and type in input OriginZ as -100.0, Dimension X as 50.0, Dimension Y as 50.0and Dimension Z as 50.0.

    The Origin X,Y and Z represent Cylinder object center coordinates. Orientation X,Y and Z represent rotation angle about X,Y and Z axis. Dimension X and Y are cylinder radius of X and Y direction. Dimension Z is cylinder depth.

    Cylinder Click 'Box' button. Modify Dimension X as 40.0, Dimension Y as 40.0 and Dimension Z as 150.0. Choose Color as you like. Then click 'OK'. Drag mouse on the screen to examine your model.

  8. Publish CAD model to FTP site and send message to other agent(Jerry )

    Go to JATLite FTP Panel. Click 'SetFile' button. You will see a small dialog to receive a file name. Type in a file name you want to save to the remote FTP site. It is a file name not a file full path. Then click 'PUT' button to store your model to the FTP server. You can check FTP processing from 'Request' panel. If FTP is successful, a Message Box will notify you that it is ready to send a message to Jerry (something like 'FTP Success. Check Compose Panel'). Go to 'Compose' panel and check that the receiver is correct(Jerry ). If it is not Jerry, you probably did not click 'Modify' button in Step 6. Then, modify 'Receiver' field as Jerry . The content field should look like :
    store ftp://java.stanford.edu/remotepath (fileName) where java.stanford.edu is the Host, remotepath is the Remote FTPSite initial directory you have setup at Step 6. FileName is the file name you typed in to the dialog box.
    Click 'OK' to send message to Jerry .

  9. Mode change to 'Automatic'

    Go to JATLite connection frame and click the 'Auto' check box. This means that if a message from other agent(Jerry ) is received and its content is data transfer(e.g. 'store'), then FTP action will be performed automatically.

  10. Jerry will receive the message from Tom . Go to FTP panel and make sure that Connection ID is 'Tom' and your information for FTP site is correct. From the right side list box, double click the message to see the content. Click 'Act' button. In CADApplet canvas, the model you have built will be shown.

  11. Modify CAD model and publish it to the other agent(Tom)

    Cylinder Click 'Cone' button. Modify Origin Z as 150.0. Modify Dimension X as 50.0, Dimension Y as 50.0 and Dimension Z as 50.0. Choose Color as you like. Then click 'OK'. Click 'Cone' button again and type in input OriginZ as -150.0, Dimension X as 50.0, Dimension Y as 50.0and Dimension Z as 50.0. Repeat Step 8 to publish your modified model to the other agent(Tom)

  12. The agent Tom will manage the message and new model will be displayed to the canvas.

  13. If you want to test a little bit complex CAD model as shown below, your applet can download a CAD model from CDR public FTP site.

    From Tom(or Jerry) applet, go to 'FTP' panel and choose CDRFtp. Click 'SetFile' button and type in 'CARObject' (case sensitive) in the dialog box. Click 'GET' button to retrieve CARObject file from CDR ftp site.

    Reset FTPCon as Jerry(or Tom) by selecting FTPCon from FTPCon choice box. Do not skip this step

    You can play with the CAD model and publishing your modified version will be the same as Step 8

Button Description

Open a cad model saved on a file system. For an applet, this button will be disabled.

Save a cad model to a file system. For an applet, this button will be disabled.

Create a JATLite connect frame. Click this button does not actually connect to router. Click 'Connect' button in the JATLite connect frame->Request Panel after fill in the AgentName, Password and Email(optional). If you are the first time user, you should register to router first before connect to router. For registration, go to 'Register' panel and fill in AgentName, Password and Email(optional) and click 'Register' button.

Make Box object. If you click this button, an object modeler dialog box will be created. Origin X,Y,Z represent a object origin and Orientation X,Y,Z represent initial rotation angle about X,Y,Z axis. Dimension X is box width, Dimension Y is box height and Dimension Z is box depth in Z-direction(perpendicular to the screen). Refer to coordinate definition

Make Cylinder object. If you click this button, an object modeler dialog box will be created. Origin X,Y,Z represent a object origin and Orientation X,Y,Z represent initial rotation angle about X,Y,Z axis. Dimension X is X-directional radius of cylinder cross section, Dimension Y is Y-directional radius of cylinder cross section and Dimension Z is cylinder depth in Z-direction(perpendicular to the screen). Refer to coordinate definition

Make Cone object. If you click this button, a objectn modeler dialog box will be created. Origin X,Y,Z represent a object origin and Orientation X,Y,Z represent initial rotation angle about X,Y,Z axis. Dimension X is X-directional radius of cone buttom cross section, Dimension Y is Y-directional radius of cone buttom cross sectionand Dimension Z is cone depth in Z-direction(perpendicular to the screen). Refer to coordinate definition

Make Sphere object. If you click this button, an object modeler dialog box will be created. Origin X,Y,Z represent a object origin and Orientation X,Y,Z represent initial rotation angle about X,Y,Z axis. Dimension X is X-directional radius of sphere, Dimension Y is Y-directional radius of sphere and Dimension Z is Z-directional redius. Refer to coordinate definition

Make Extrusion object. If you click this button, extrusion modeler dialog box will be created. Origin X,Y,Z represent a object origin and Orientation X,Y,Z represent initial rotation angle about X,Y,Z axis. Click mouse button to build a two dimensional enclosed shape. If you do not enclose the 2D shape, the first and the last points will be connected. Use 'Clear' button to erase all the points. You should specify 'Depth' text field. Modify 'Scale' factor if necessary. The dimension of one grid is equal to 5 unit pixels. Refer to coordinate definition and extrusion example

Make Axis-symmetric object. If you click this button, axis-symmetriy modeler dialog box will be created. Origin X,Y,Z represent a object origin and Orientation X,Y,Z represent initial rotation angle about X,Y,Z axis. Click mouse button to build a two dimensional cross section. Use 'Clear' button to erase all the points. Modify 'Scale' factor if necessary. The dimension of one grid is equal to 5 unit pixels. Refer to coordinate definition and axis-symmetry example

Open a new web browser of this page.

While you are pressing the button, the objects will be moved to the left.

Reset objects to the initial configuration.

While you are pressing the button, the objects will be moved to the right.

While you are pressing the button, the objects will be moved upwards.

While you are pressing the button, the objects will be moved downwards.

While you are pressing the button, the objects will be smaller.

While you are pressing the button, the objects will be larger.

Remove the selected object. Only one object can be selected and removed.

Toggle select mode. If select mode, you can not rotate or move the objects. Click mouse at the nearest point of the object to select. Only one object selection will be allowed. If you select an object, you can delete it by click 'Remove' button. You can modify the object by one more click on the selected object.

CAD object coordinate definition

Extrusion Example

Axis-symmetry Example