|
|
|
Reservation, check-in, or booking display for reserved space |
Event management system5634016
Abstract
A computer integrated event management system is disclosed that coordinates the entire process of event planning and implementation using specialized software combined with a microcomputer network which includes a network file server, CAD/DATA station and DATA stations where facility personnel are able to efficiently plan and implement events. The system includes a fully relational database and a CAD module which are connected together using a third module such that, whenever a piece of information is changed in one place, it is automatically changed everywhere it is stored in the database. The connecting module permits the database and the CAD module to communicate by translating information from a database format into a graphic format readable by CAD software packages as well as translating the graphic information back into the database information stored in the database.
Claims
What is claimed is:
1. A facility and event management system for use by hotels and entertainment producers in hotels and other facilities, comprising:
a first digital data processor for storing text information relating to the facility and the events to be held at that facility for which said facility and event management system is used;
a second digital data processor which is in communication with said first digital data processor for producing and storing computer aided design drawings using the text information stored in said first digital data processor; and wherein
said first and second digital data processors contain connecting means for translating changes to either of said stored text information and said computer aided design drawings whenever said computer aided design drawings or said stored text information are altered.
2. The system of claim 1, wherein said second digital processor produces computer aided design drawings automatically to a predetermined scale using said stored text information.
3. The system of claim 1, further including communication means for at least one of electronically storing and transmitting said computer aided design drawings for viewing at a location remote from said facility and event management system.
4. The system of claim 1, wherein said computer aided design drawings depict said events to be held at a facility from different viewing positions within said facility.
5. The system of claim 1, wherein said first digital data processor includes a relational database for managing said text information relating to said facility and the events to be held at said facility.
6. The system of claim 5, wherein text information relating to said facility and the events to be held at said facility comprises information relating to event facilities, guests, vendors, inventory, food and beverage, decor, entertainment and production schedules.
7. The system of claim 6, wherein said computer aided design drawings comprise drawings of said event facilities as well as inventory required for each event.
8. The system of claim 3, wherein said communication means includes a transportable video signal storage device having an animated display of said event stored thereon.
9. The system of claim 8, wherein said communication means generates a walk-through viewing of at least one event to be held at said facility.
10. An integrated event management system, comprising:
a management device for receiving and automatically storing textual data concerning an event;
a drawing device for automatically producing and storing computer aided design drawings from said stored textual data concerning an event; and
a connecting device connected between said management device and said drawing device for communicating changes to said computer aided design drawings in response to changes to said stored textual data and changes to said stored textual data in response to changes to said stored computer aided design drawings.
11. The system of claim 10, wherein said drawing device produces computer aided design drawings automatically drawn to a predetermined scale using stored textual data from architectural plans.
12. The system of claim 10, wherein said computer aided design drawings include pictorial layout diagrams of an event.
13. The system of claim 12, further including communication means for at least one of electrically storing and transmitting said pictorial layout diagrams for viewing at a location remote from said integrated event management system.
14. The system of claim 13, wherein said communication means includes a transportable video signal storage device having an animated display of said event.
15. The system of claim 12, wherein said pictorial layout diagram computer aided design drawings depict said event from different viewpoints.
16. The system of claim 10, wherein said management device includes a relational database for managing relevant event information.
17. The system of claim 16, wherein said relevant event information comprises information relating to event facilities, guests, vendors, inventory, food and beverage, decor, entertainment and production schedules.
18. The system of claim 15, wherein said computer aided design drawings comprise drawings of event facilities as well as inventory required for each event.
19. A method of operating an integrated event management system, comprising the steps of:
receiving and automatically storing textual data concerning an event;
automatically producing and storing computer aided design drawings using said stored textual data concerning an event; and
communicating changes to said stored textual data in response to changes to said stored computer aided design drawings and changes to said stored drawings in response to changes to said stored textual data.
20. A facility and event management system for use by hotels and entertainment producers in hotel and other facilities, comprising:
at least one digital data processor for storing text information relating to the facility and the events to be held at that facility for which said facility and event management system is used;
said at least one digital data processor including means for producing and storing computer aided design drawings using the text information stored in said at least one digital data processor; and wherein
said at least one digital data processor contains connecting means for communicating changes to both said stored text information and to said computer aided design drawings whenever said computer aided design drawings or said stored text information are altered.
Description
BACKGROUND OF THE INVENTION
The present invention relates to a computer integrated event management system designed for use by hotels and entertainment producers in hotels and other facilities in which banquets, meetings, shows, and other programs are held. Providers of decor can also use the present invention.
In the meeting planning business, events, such as an annual meetings, are usually booked at hotels having conference and other meeting facilities. In addition, rooms for housing meeting attendees are also booked. Due to the many tens of thousands of such meetings which are held worldwide every year, hotels and other facilities having such meeting capabilities are often asked to prepare hundreds, if not thousands, of different proposals and bids every year. The preparation of such proposals and bids, up until now, has been a time-consuming and expensive process in terms of the cost and number of personnel to prepare such bids and proposals. Also, an extended lead time is often required within which to respond to such requests for bids and proposals from potential clients.
In addition, since in many instances the client requesting the bid or proposal is not certain as to the type of room within which to hold the event, nor the manner in which the room is to be laid out, it is also often desirable to provide the client with a number of different scenarios which would accommodate the client's planned meetings. The preparation of drawings depicting the different layouts possible for meeting the client's criteria for the planned meetings likewise requires a tremendous amount of manual work and, therefore, time and expense.
After a client has decided to book an event or meeting at a certain hotel or other facility, the final layout of each of the rooms which will be utilized for the client's event must be finalized. Based upon the layout of each of the rooms, which is, of course, dependent upon, among other things, the number of attendees, the type of meals, if any, to be served, the type and number of speakers or entertainment to be present at various times during each of the meetings, etc., various inventory requirements must be met. Such inventory requirements include, among other items, the number and type of chairs, the number and type of tables, the size of any dance floor, the size of any stage, the number and types of podiums, stage modules, and followspot towers needed, as well as, for example, any special requirements, such as a movie screen or overhead projector. Also, it is necessary to ensure that the facility at which the meetings are to be held will have an adequate number of each of the inventory items required for each of the meetings being held at that facility at that time, as well as an adequate number of waiters and housemen for setting up and resetting the rooms.
As discussed above, it should be apparent that the present process for event planning and the implementation of the event, from the sales proposal to the contract to selecting the appropriate space and allocating the required convention service inventory to generating the event contract (EC) and updating the room layout to finally providing for an efficiently generated and implemented menu together with labor management for food ordering, is primarily performed manually with great inefficiencies. For example, it is difficult to manage and keep track of how much lettuce needs to be ordered for salads which will be served during meals which occur during the planned meetings, as well as to efficiently order and control the costs for both the food to be consumed during such meals and the labor for producing and serving such meals.
The present invention overcomes the foregoing deficiencies and other problems by providing a computerized, fully integrated, networkable and relational database system which allows all members of the facility's team involved in the life cycle of an event to work together from a common system with a minimum amount of training. The present invention provides a complete event management system that encompasses the entire process of event planning and implementation. Beginning from the sales proposal, the present invention allows the easy generation of two-dimensional and three-dimensional layouts and animations, the issuance of the contract, selecting from the appropriate space and allocating the required convention service inventory in order to generate the event contract, as well as updating the room layout. The present invention also provides for the necessary functions for implementing the event, from efficient menu and labor management to improved food ordering and cost management and from the ordering of food to analyzing room usage.
The present invention also allows the user to automatically generate and print room layouts in less time than that required to make a simple hand sketch. Each of the layouts is drawn to an exact scale so that there is no guesswork regarding how much space is left in the room or how many tables can be added. Since every element in the drawings can be controlled by the user, changes can be made to each event drawing, which are instantaneously reflected in the fully relational database. That serves to automatically update the information stored in the system relating to other functions, such as updating ECs, the available inventory and guest seating arrangements.
The present invention also allows for the easy creation of ECs, and, since the data in the ECs is tied to a fully relational database, each EC can be totalled individually, checked for accuracy, totalled as a group, and managed collectively far more efficiently than known in the prior art. Any changes made to the original event proposal are automatically reflected in the ECs which are implemented to effectuate the proposal, thus reducing the possibility of clerical errors. Completely new ECs can be easily generated by the user and can be readily revised as required. Each update of an EC displays a dated notice in order to ensure proper communication and billing.
SUMMARY AND OBJECTS OF THE INVENTION
It is, therefore, an object of the present invention to provide an event management system that coordinates the entire process of event planning and implementation. The system consists of specialized software combined with a microcomputer network which includes a network fileserver, computer-aided-design/DATA (CAD/DATA) station and DATA stations where facility personnel are able to efficiently plan and implement events.
It is another object of the present invention to provide for an event management system which produces fast, cost-effective and accurate room layouts which are automatically drawn to scale using stored data from original architectural plans and actual room detail. Those layouts can be generated from within the database of the present invention or can be created and/or modified from within the CAD environment.
It is a further object of the present invention to provide for an event management system which makes more efficient use of human resources by providing pictorial layout diagrams which prevent communication errors when setting up rooms, thus reducing the frequency of costly resettings of meeting rooms.
It is an additional object of the present invention to provide an event management system which provides for electronic site inspections of the meeting rooms of a facility by means of a modem, diskette, or other transportable data storage device.
It is yet another object of the present invention to provide an event management system which utilizes a relational database in order to enable control of a convention services inventory.
It is a still further object of the present invention to provide for an event management system having an efficient and flexible format such that changes to the event planning or implementation of the planned event can be readily made.
It is a still further object of the present invention to provide an event management system which provides a realistic and compelling demonstration of an event room layout, as well as an animation of that layout.
It is yet an additional object of the present invention to provide for an event management system which allows for the viewing of a meeting room layout from any desired angle within the meeting room.
The hardware system of the present invention consists of a network fileserver through which a combination CAD/DATA workstation and a plurality of DATA workstations are connected via a Novell or other type network. All of the data entered by each of the workstations is stored on a storage device contained within the network fileserver. However, only the combination CAD/DATA workstation has the capabilities of generating and allowing manipulation of drawings of the room layouts. For that purpose, the CAD/DATA workstation is provided with a digitizer or mouse device as an input device, in addition to the standard keyboard.
The room layouts and animated three-dimensional drawings generated by the CAD/DATA workstation may be recorded on a videocassette recorder so that a standard videocassette can be given and/or sent to a client showing the proposed or actual room layouts. The CAD/DATA station may also include a standard modem device for transmitting generated drawings and animation to remote locations. All of the microcomputers utilized in the hardware system may be provided with an uninterruptible power supply, as well as with various monitors and printers.
The software of the event management system is organized into three main programs which are supported by numerous subroutines and functions. The EVENT MANAGEMENT/DATA (EM/DATA) module is designed to provide a complete facility and event management package for the meeting planning and hospitality industries. It manages all relevant event information, including that relating to facilities, guests, vendors, inventory, food and beverage, decor, entertainment, and production schedules. It is constructed as a fully relational database. Thus, whenever a piece of information is changed in one place, it is automatically changed everywhere it is stored in the database. In addition, any conceivable aspect of an event that could be affected by a change is updated to account for the change.
The EM/DATA module, in addition to tracking events that have already been scheduled, can be used to generate and print event proposals. Information such as proposed menus, themes, and entertainment, can be output and is completely editable, as is all other information managed by the EM/DATA module, by the user. In addition, the word processing needs associated with the EM/DATA module have been provided for by incorporating a standard, readily available word processing package into the event management system. Thus, major text editing is exported to a word processing package, then brought back to the EM/DATA module once editing is complete. Such a design allows the user to produce letters, memos, and facsimiles using information already stored in the database, such as addresses and contact names.
The second main program is known as the EVENT/CAD program. It provides two-dimensional and three-dimensional designs of an event layout, multiple perspective views and "walk-through" animation, as well as an efficient mechanism for making changes and adjustments to any drawing. All changes can be automatically exported back to the EM/DATA module.
The EVENT/CAD module uses a CAD-based system to create highly accurate, detailed drawings and complex three-dimensional representations of buildings and layouts. The EVENT/CAD program reduces the task of producing these models to a simple menu-driven process that can be performed by anyone, even those having little or no technical skill. The EVENT/CAD module enables users to produce and modify complex, accurate event simulations quickly and easily.
The third module or program provides the bridge or bond between the EM/DATA and EVENT/CAD environments or programs. It is called the DATABOND program. This bond enables the EM/DATA program to automatically generate three-dimensional models of an event in the EVENT/CAD environment. In addition to generating a graphical model from the EM/DATA program database, the DATABOND module provides the links between the model and data to ensure that changes to either the drawing or the data are reflected in both the EM/DATA and EVENT/CAD programs. Thus, even though the EM/DATA database environment alone can track and compute inventory requirements by itself, and the EVENT/CAD module is fully capable of creating a physical model, the DATABOND module bonds those two modules together such that they completely interact and are no longer isolated from each other. For example, the inventory removed from a drawing in the EVENT/CAD program is also removed from the inventory requirements stored in the database in the EM/DATA program.
The DATABOND module permits the two modules to communicate by translating information from a database format into a graphic format readable by computer-aided-design software packages. The DATABOND module also translates the graphical information back into the database information stored in the EM/DATA program. In that manner, the DATABOND program allows the user to utilize the EM/DATA module to create a drawing of an event from scratch. However, although the DATABOND program completely automates the drawing process, the user still has absolute control of the room layout. The user can change the drawing in the EVENT/CAD program which will also change the information stored in the EM/DATA program.
With these and other objects, advantages and features of the invention that may become hereinafter apparent, the nature of the invention may be more clearly understood by reference to the following detailed description of the invention, the appended claims, and to the several drawings attached herein.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a schematic block diagram of the hardware of the event management system of the present invention;
FIGS. 2A-2B are a chart of the menu description for the EM/DATA and DATABOND program modules;
FIGS. 3A-3HH are drawings of window screens used in connection with the EM/DATA and/or DATABOND program modules of the present invention;
FIGS. 4A-4E are drawings of additional window screens used in connection with the EM/DATA and/or DATABOND program modules of the present invention;
FIGS. 5A-5B are diagrams of the flowchart of the INIT.LAYOUT subroutine;
FIG. 6 is a diagram of the flowchart of the WRITE.DXF subroutine;
FIG. 7 is a diagram of the flowchart of the WRITE.DFX.BODY subroutine;
FIG. 8 is a diagram of the flowchart of the SET.GUEST.BP subroutine;
FIG. 9 is a diagram of the flowchart of the GET.SLD.MOV subroutine;
FIG. 10 is a diagram of the flowchart of the EVENT.EXTRACT subroutine;
FIG. 11 is a diagram of the flowchart of the GET.COORDS subroutine;
FIG. 12 is a diagram of the flowchart of the SET.DIVS subroutine;
FIG. 13 is a diagram of the READ.CDF.LAYOUT subroutine;
FIGS. 14A-14B are diagrams of the flowchart of the INVENTORY.CHECK subroutine;
FIG. 15 is a diagram of the flowchart of the TLAYOUT subroutine;
FIG. 16 is a diagram of the flowchart of the ULAYOUT subroutine;
FIG. 17 is a diagram of the flowchart of the SRLAYOUT subroutine;
FIG. 18 is a diagram of the flowchart of the HSLAYOUT subroutine;
FIGS. 19-53 are diagrams of the flowcharts of subroutines used in connection with EVENT/CAD program module of the present invention;
FIG. 54 is a diagram of the flowchart used in connection with the RS2TARGA software used in connection with the EVENT/CAD program module of the present invention;
FIGS. 55-56, 57A-57B and 58-69 are diagrams of flowcharts of additional subroutines which are used in connection with the EVENT/CAD program module of the present invention;
FIGS. 70A-70B are flowcharts of an additional program which forms a part of the RS2TARGA video software used in connection with the EVENT/CAD program module of the present invention;
FIGS. 71-73 are diagrams of the flowcharts of still further subroutines used in connection with the EVENT/CAD program module of the present invention;
FIG. 74 is a diagram of a drawing template for use in connection with the EVENT/CAD program module of the present invention;
FIGS. 75A-75T are drawings of window screens used in connection with the operation of the EVENT/CAD program module of the present invention;
FIGS. 76-77 and 78A-78D are drawings of event layouts giving examples of drawings which may be produced by the event management system of the present invention; and
FIG. 79 is a diagram of a flowchart of the ROOM.INFO.BP subroutine which is used in connection with the DATABOND program module of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
I. THE HARDWARE
Referring now in detail to the drawings wherein like parts are designated by like reference numerals throughout, there is illustrated in FIG. 1 the hardware system 10 of the present invention. The system uses microcomputer-based devices which are connected together into a network. Each of the computers is fully MS-DOS compatible and utilizes readily available software in addition to that developed as part of the invention herein. Obviously, other software products in the MS-DOS or Windows operating environment can be used. In addition, since the software described herein is written in a fourth generation language, it is portable to other operating systems, such as OS/2 and UNIX. Obviously, the invention disclosed herein can be utilized with other operating systems as well.
As described in this application, the event management system of the present invention is used in connection with the dedicated hardware system 10. However, as will be readily apparent to those of ordinary skill in the art, the hardware system 10 of the present invention may also be utilized to perform other functions at its host facility, in addition to those performed by the instant event management system.
Turning now to FIG. 1, a basic preferred hardware system is shown. More particularly, the hardware system 10 consists of a network fileserver 100 to which is connected, preferably using RG85 coaxial cable, a CAD/DATA station 112 and one or more DATA stations 140a-140n. Obviously, other types of connecting media can be utilized, such as optical fibers, infrared, or RF. At a minimum, the system of the present invention requires a network fileserver 100 and a CAD/DATA station 112 and appropriate peripheral devices in order to perform all of the functions described herein.
A. THE NETWORK FILESERVER
The network fileserver 100 consists of a network fileserver CPU which is supported by an uninterruptible power supply (UPS) 110. The network fileserver CPU 102 may preferably be either an IBM Model 95 PS/2 equipped with an Intel 80486DX 33-MHz processor with one serial and two parallel ports, a single 3.5-inch 1.44 Mb floppy drive, a hard drive having a storage capacity of at least 600 Mb and an access time of 13 ms or less, at least 64K of cache memory, at least 16 Mb RAM and a Novell Certified NE/2 16-bit ethernet card, or an IBM-compatible microcomputer of the 486 class having a 25-MHz-based microprocessor with one serial and two parallel ports, the same floppy drive, hard drive, cache and RAM memory as described above, a monochrome graphics card and a Novell Certified NE2000 16-bit ethernet card. A VGA monitor 104 is connected to the network fileserver, as is a standard keyboard 106 and an MS-DOS-compatible mouse 108.
The uninterruptible power supply 110 is preferably an American Power Corporation Novell Certified 600 watt UPS.
The network fileserver CPU 102 preferably has stored on its hard drive the following software:
Advanced Netware 386, Version 3.11, available from Novell, Inc., or other compatible network operating system;
Advanced Revelation 3.01, available from Revelation Technologies Inc., of Stamford, Conn., which is an advanced relational database used to store the data used by the EM/DATA and DATABOND modules;
R/Laser 3.2, available from Blackhawk Data, Inc., of Chicago, Ill., which is used for publishing information stored in the database set up by the Advanced Revelation 3.01 software; and
WordPerfect 5.1, available from WordPerfect, Inc., of Orem, Utah, which is word processing software used by the EM/DATA module.
B. THE DATA WORKSTATIONS
The DATA workstations 140a-140n each consist of a DATA workstation CPU 142a-142n which in turn is supported by an uninterruptible power supply 150a-150n which may be the same UPS as the UPS 110 used with the network fileserver CPU 102. Each DATA workstation CPU 142a-142n may be an IBM Model 95 PS/2 with an Intel 80486DX 33-MHz-based processor with at least 32K of cache and at least 4 Mb RAM memory, a hard drive of at least 80 Mb storage capacity, a 5.25-inch 1.2 Mb floppy drive and a Novell Certified NE2 16-bit ethernet card.
Alternatively, each data workstation CPU may be an IBM-compatible microcomputer based upon an Intel 80486DX 33-MHZ-based processor having the same cache and RAM memory, hard and floppy drive characteristics described above and which also includes a Novell certified NE2000 16-bit ethernet card and a VGA graphics card.
A VGA color monitor 144a-144n is connected to each of the DATA workstation CPUs 142a-142n and may preferably be an NEC MultiSync Model 3DS VGA color monitor or equivalent. A keyboard 146a-146n is likewise connected to each DATA workstation CPU 142a-142n, as is a mouse 148a-148n. A laser printer 141a-141n is connected to each of the DATA workstation CPUs 142a-142n. Each laser printer 141a-141n may preferably be a Hewlett-Packard LaserJet Series 4 printer.
Each DATA workstation 140a-140n is designed and equipped to facilitate the entry of data into the database operated using the Advanced Revelation software for storage of all data and information used for operating the event management system of the present invention and all reports relating thereto. Only the functions relating to the drawings produced by the event management system of the present invention which utilize computer-aided-design software are not performed using the DATA workstations.
Residing on the hard drive of each of the DATA workstations 140a-140n are the EM/DATA and DATABOND modules, as well as the Autoflix Movie Compiler, available from Autodesk, Inc., of Sausalito, Calif., which is used by the EVENT/CAD module to provide walk-through animation that can operate on a microcomputer which is not running CAD software and Vslide 1.0, available from Mountain Software, of Charleston, W. Va., which is used along side of the AutoCAD software used by the EVENT/CAD module for viewing "slides" or drawings generated using the AutoCAD software used in the EVENT/CAD module.
C. THE CAD/DATA WORKSTATION
The CAD/DATA workstation CPU 114 of the CAD/DATA workstation 112 is connected to the network fileserver CPU 102, as previously described. The function of the CAD/DATA workstation 112 is to generate two-dimensional and three-dimensional designs of an event layout, multiple perspective views of an event layout, and "walk-through" animations of event layouts. It also provides an efficient means for making changes and adjustments to any drawing.
The CAD/DATA workstation 112 consists of a CAD/DATA workstation CPU 114 which is supported by a UPS 136. The CAD/DATA workstation CPU 114 may preferably be an IBM Model 95 PS/2 having an Intel 80486DX 33-MHz processor with two serial and one parallel ports, both 3.5-inch 1.44 Mb and 5.25-inch 1.2 Mb floppy drives, a hard disk drive having an access time of 13 ms or less and a storage capacity of 200 or more Mb, at least 64K cache memory and at least 8 Mb RAM memory and a Novell Certified NE/2 16-bit ethernet card.
Alternatively, the CAD/DATA workstation CPU 114 may consist of an IBM-compatible 486 class microcomputer using an 80486DX 33-MHz processor having the floppy drives, hard drive and memory specifications of the IBM Model 95 PS/2 computer described above, together with a Novell Certified NE2000 16-bit ethernet card and an Orchid Pro-Designer II graphics card with 1 Mb of RAM on the card. Either of foregoing two computers may be used since they are essentially interchangeable with each other and either will perform the necessary functions described herein.
A number of input devices are utilized with the CAD/DATA workstation CPU 114 in order to facilitate its function. They include a keyboard 118, a MicroSoft-compatible mouse 120, or a graphics tablet 122, which may preferably be a Summagraphics Summasketch II professional 12-inch.times.18-inch digitizer with 16-button cursor, available from Summagraphics, of Seymour, Conn. A monitor 116 is also connected to the CAD/DATA workstation CPU 114. The monitor may preferably be an NEC MultiSync 4FG SVGA color monitor.
The CAD/DATA workstation CPU 114 may also be preferably provided with a tape backup 134, such as a Maynard MaynStream 600 tape backup unit, a modem 132, such as a 9600 Baud Hayes-compatible v.42bis modem, a laser printer 130, which may be the same laser printer as described in connection with elements 141a-141n and a video controller 124, together with a videocassette recorder/editor 126, and a television monitor 128. The video elements connected to the CAD/DATA workstation CPU 114 allow the output of the CAD/DATA workstation CPU 114 to be in a video format such that it can be shown on a television monitor, as well as recorded on a standard videocassette recorder/player tape cartridge for remote viewing.
The hardware provided with the CAD/DATA workstation 112 for adding video capability includes a video board 123 which may preferably be a Truevision Targa+/64 video board which is located inside the CPU 114. That video board is available from Truevision of Indianapolis, Ind. The videocontroller 124 may preferably be a BCD-5000 dual machine videocontroller, available from BCD Associates, of Oklahoma City, Okla., while the VCR 126 may preferably be a Panasonic AG-7750 videocassette recorder/editor. In addition, a Panasonic AG-7650 videocassette player (not shown) may also be utilized as part of the video capability of the CAD/DATA workstation 112. One or more televisions 128 may be connected to both the videocontroller 124 and the VCR 126 for displaying the drawings generated by the CAD/DATA workstation 112 in video format. Each of those televisions may be, for example, a Panasonic CT-1382Y color monitor.
The CAD/DATA workstation 114 includes the following software in addition to the EVENT/CAD module of the present invention resident on the hard drive of the CPU 114:
AutoCAD 386, Release 12, from Autodesk, Inc., of Sausalito, Calif.; Autoflix Movie Compiler from Autodesk, Inc.; RenderStar 2, Extension 24, by Modern Medium, Inc., of Portland, Oreg., which is used in connection with the video output capabilities of the CAD/DATA workstation 114; and RS2Targa v1.2 software, which is also used with the video module connected to the CAD/DATA workstation CPU 114 for displaying the output from the CPU 114 in video format. That video display software forms a part of this invention. Flowcharts of that software are shown in FIGS. 54 and 70A-70B, and are described later in this application in connection with those figures.
II. THE DATABASE
Although the database for the EM/DATA program module is not shown in the figures, a description of its composition and organization is important to an understanding of the invention. The database is maintained on the hard drive of the network fileserver CPU 102, using the Advanced Revelation 3.01 software. Reports are printed using the R/Laser 3.2 software. The data and programs used by both the EM/DATA and DATABOND program modules are stored in the network fileserver CPU 102. Thus, the data entered in the EM/DATA module using the DATA workstations is stored in the network fileserver CPU 102. The data accessed by the CAD/DATA workstation 114 for use with the EVENT/CAD program module is also obtained from the data stored in the network fileserver CPU 102. Whenever any change to the stored data is made, either by means of a DATA workstation or the CAD/DATA workstation, any corresponding change that is to be made to any other data consistent with that initial change is also made to the appropriate data stored in the network fileserver CPU 102.
The data is stored in the database in two different applications, the EM/DATA application table and the DATABOND application table.
A. THE EM/DATA PROGRAM TABLE
The EM/DATA application is divided into a number of volumes, each of which includes a number of tables. The first volume is called the EMDATA volume. Each of those tables is described as follows: the EM FACILITY table contains general information concerning all facilities such as the name of the facility, the location, the address, the contact names at the facility, and the telephone numbers of those contact names, as well as the facility. The EVENT table is used to drive the CAD/EM program module. This table combines information from the GUEST, FACILITY, SECTION, and ROOM tables together to make an actual event. That is accomplished by using Symbolics to link data to different files. For example, in the EVENT file, there is a Symbolic for FACILITY.sub.-- NAME that links EVENT to the EM.sub.-- FACILITY table. Based on the event number, the correct name of the facility is returned from the EM.sub.-- FACILITY file.
The GROUP table groups together events that occur during the same convention or meeting functions. There must be at least one group row for each event. There may be, and usually are, many events tied to this single group. The LAYOUTS table contains the room layouts in database form. Each row consists of an entire drawing. The columns in each row are the elements which make up the drawing. The layout rows are created initially by the INIT.LAYOUT subroutine of the DATABOND program. After a drawing is brought back from the EVENT/CAD program module, the row is updated with the READ.CDF.LAYOUT subroutine of the DATABOND program module.
The SECTION table contains information pertaining to the sections of each room of the facility. A section is the smallest portion of the room that can be separately allocated. For each section, the associated room and actual X and Y coordinates from architectural drawings are stored. The INIT.LAYOUT subroutine uses this table to determine where to position the elements to be located within the room, such as the staging, tables, and chairs.
The final table contained within the EMDATA volume is the VENDOR table which stores the names and addresses of support companies such as the sound and lighting providers, who are often used in connection with an event or convention.
The second volume contained within the EM/DATA application is the EMPROG volume. The first table of the EMPROG volume is the EMCAL.sub.-- BP table which contains programs for tracking inventory usage by facility. Programs in this table are generally called to check room availability. The INVENTORY.CHECK subroutine, a diagram of the flowchart of which is shown in FIGS. 14A-14B, is contained in this table.
Another table located within the EMPROG volume is the EM.sub.-- COMMON table. That table contains the global variables and definitions used in all other programs. Examples of global variables are FAC.NO$--the name of the current facility, DATA.DRIVE$--the physical letter of the hard drive that the data is stored on, and EVENT.NO$--the current event number that the user is working on. These are variables that are shared among several programs and windows.
The final table which forms a part of the EMPROG volume is the INV.sub.-- BP table which contains programs for tracking inventory usage by event based upon the room layout. These programs collect data from the <FACILITY NUMBER>.sub.-- EVENT.sub.-- INV table. That table is one of the tables of the DATABOND program module. The programs in INV.sub.-- BP are short routines for assigning inventory to an event for which a drawing has not been created. For example, if a user wants to create a schoolroom layout for 25 people, there is a program in INV-BP that is basically identical to SRLAYOUT, except that it just returns the total number of tables, chairs, etc., that is needed, not their locations.
The third volume of the EM/DATA program tables is the EMREPORT volume. The first table in that volume is the EC table which contains all of the necessary programs to print out an event contract. The second table is the EM.sub.-- REPORTS table, which contains programs for printing out all of the miscellaneous reports, such as the water lists and turn schedules. The third and final table contained in the EMREPORT volume is the PROPOSAL table which contains all of the necessary programs for printing out the event proposal.
The fourth volume is called the EMUTIL volume and contains data and programs relating to various utilities used with the EM/DATA program module. The first table in the EMUTIL volume is the EM.sub.-- MENU table, which contains all the menus for both the EM/DATA and DATABOND program modules. The next table in the EMUTIL volume is the EM.sub.-- POPUPS table, which contains all the popup screen data for the EM/DATA program module. Most of these popups are called as options from windows in the EM/DATA program module.
The next table in the EMUTIL volume is the EM.sub.-- POP.sub.-- BP table, which contains all the support programs for the popups. The EM.sub.-- POP.sub.-- DATA table is where the data for the popups is stored.
The next table in the EMUTIL volume is the EM.sub.-- SCR.sub.-- BP table, which stores programs which support the windows. These programs include the default answers, input validation, output conversion, and other routines which are necessary to support the windows used in the EM/DATA program module.
Another table contained in the EMUTIL volume is the EM.sub.-- UTIL table, which contains general utility programs for use with the EM/DATA program module, such as capitalization, printing, and file-opening routines. These routines are used throughout the EM/DATA program. The final table in the EMUTIL volume is the EM.sub.-- WINDOW table. That table is where all of the windows for the EM/DATA and DATABOND programs are stored.
The fifth volume of tables used with the EM/DATA program module is the FOODDATA volume. That volume contains four tables, each of which stores information relating to the food used in connection with an event. The first table is called the <FACILITY NUMBER>.sub.-- FOOD table. This table stores all the food and beverage selections which are available to the user of the EM/DATA program. The name, description, category, and price charged for such items are also stored in this table. The FOODDATA volume also contains a table entitled <FACILITY NUMBER>.sub.-- THEME. A theme is a grouping of food items that constitute anything from a snack break to a six-course meal. This table stores those food items which are grouped together to constitute a theme.
The next table in the FOODDATA volume is called the FOOD.sub.-- BEV table. That table stores information concerning the food requirements for each event. The final table in the FOODDATA volume is entitled MENU.sub.-- BP. That table stores programs used to format and print out food and beverage menus.
The next volume of tables for the EM/DATA program is the MISCDATA volume. The first table of the MISCDATA volume is called <FACILITY NUMBER>.sub.-- COMMENTS. That table stores comments and clauses which are to be used in reports. For example, a facility may have a standard footer concerning sales tax that the facility wishes to include on their reports. Such language would be entered into this table and would be referenced by the report programs. The next table of the MISCDATA volume is called the <FACILITY NUMBER>.sub.-- EMPLOYEE table. This table stores information about the facility's employees. This table is referenced by messaging programs, letter-writing programs, and window programs.
The third table contained within the MISCDATA volume is called the PROD.sub.-- DATA table. That table stores production scheduling information for each event. The next table is called the GUEST table. That table stores guest information such as the names, addresses, contacts, and phone numbers of the guests. The final two tables contained within the MISCDATA volume are the EMAIL and EMAIL.sub.-- DATA tables. The EMAIL table contains electronic mail programs, while the EMAIL.sub.-- DATA table is used for storing messages used by the programs stored in the EMAIL table.
The last volume of tables of the EM/DATA program is called the SHOWDATA volume. This volume contains three tables. The first table is called the ACCOUNTING table. That table contains the billing and accounting instructions for each event. The next table is called the DECOR table. That table stores information concerning the decor and lighting to be used for each event. The final table is termed the ENTERTAINMENT table, which is used to store entertainment selections for the events.
B. DATABOND PROGRAM TABLE DESCRIPTION
Like the EM/DATA program, the DATABOND program also utilizes a number of tables in order to facilitate the efficient operation of the event management system of the present invention. Each of those tables is described below.
The first table utilized by the DATABOND program is the DBOND table. That table contains all of the programs or subroutines that make up the DATABOND program module, such as INIT.LAYOUT, WRITE.DXF AND READ.CDF.LAYOUT. The next table is called the DIVIDERS table and contains the coordinates and descriptions of the airwalls for each room. The third table is called the DRAWING.sub.-- INFO table. It contains information concerning the physical drawing of the event, such as the last update, the creator's name, the file size, file data, etc. The next table is called the ERROR.sub.-- CHECK.sub.-- BP table. It contains programs that validate a user's input. For example, the ERROR.sub.-- CHECK.sub.-- BP table contains a program that makes sure that the dance floor size was specified as a multiple of 3 ft. because the dance floor pieces are each 3 ft..times.3 ft. in size.
The next table contained within the DATABOND program is called the <FACILITY NUMBER>.sub.-- EVENT.sub.-- INV. That table contains the amounts of inventory allocated to a specific event and is usually collected from the drawing of the event. However, a user may assign inventory to a drawing without having created a drawing. The next table is the <FACILITY NUMBER>.sub.-- FAC.sub.-- INV table, which contains the physical inventory for the facility specified by <FACILITY NUMBER>. This table has a row for each inventory item that specifies the description and number on hand. For example, the row labelled "CHAIRS" might have a description of "standard mauve banquet chairs" and a total on-hand inventory of 3,500.
The next table is called the <FACILITY NUMBER>.sub.-- ROOM table. It contains a row for each room in the facility that indicates if a drawing is on-line for that room. If the drawing is available, it will indicate the file name of the drawing. The next table is the <FACILITY NUMBER>.sub.-- TOLERANCE table. That table contains the default parameters to be used for constructing a room. For each room in the facility, there is a row that contains parameters such as the wall-to-stage distance and the stage-to-dance-floor distance. That is used by programs in the DBOND table that layout the room.
The next table which forms a part of the DATABOND program is the LAYOUT.sub.-- PROGS table. That table contains programs used by the INIT.LAYOUT subroutine to create special case room layouts that are not staggered or aligned. There is a separate program for each room layout specification or algorithm, such as for schoolroom layouts, U-shaped layouts, conference table layouts, etc. These programs are fed the coordinates of the room and the number of seats desired and use that information to generate the location and types of tables and chair needed to create the room.
The next table is the TEMPLATES.sub.-- DXF table. That table contains the DXF representation of every graphic item needed to create a complete drawing. It contains templates which are read by the WRITE.DXF subroutine and combined with coordinates and data from the LAYOUTS table to create an actual DXF file to be brought into the EVENT/CAD program module. The next table is the TEMPLATES.sub.-- STAGING table. It contains previously staged layouts that a user can "cut and paste" into their layout. It also contains information on the staging required and its relative placement.
The final table in the DATABOND program module is called TEMPLATES.sub.-- TABLE. That table contains previously staged layouts that a user can "cut and paste" into their layout. It contains placement information and relative positions. The templates are divided into two files: TEMPLATES.sub.-- STAGING and TEMPLATES.sub.-- TABLE for two reasons. The first is manageability. When a user wants a list of staging templates, it is a lot easier to display all the rows in the TEMPLATES.sub.-- STAGING table than to pick out which ones are stages, and which ones are chairs. The other reason is that scaling is different for tables and stages. When a user scales a table layout, he can "tighten up" or "space out" the layout. Staging is fixed and cannot be "spaced out" or gaps will be created between the stage modules.
III. THE SOFTWARE
A. THE EM/DATA PROGRAM
The EM/DATA program module is a complete facility and event management package for the meeting planning, hospitality and entertainment industries. It manages all relevant event information, including information about facilities, guests, vendors, inventory, food and beverage service, room decor, event entertainment, and production schedules. The EM/DATA program is a fully relational database based upon the Advanced Revelation 3.01 software. Therefore, whenever a piece of information is changed in one place, it is automatically changed everywhere it is stored in the database. In addition, any conceivable aspect of an event that could be affected by a change is updated to account for the change. The structure of the EM/DATA program module also makes it efficient in terms of data storage. Since it calculates information on-the-fly based on event parameters, the need for the entry of redundant data is eliminated. By eliminating the duplication of data, the design of the EM/DATA module reduces the possibility of errors made during data entry.
In addition to efficiently managing the data used with the instant event management system, the EM/DATA program module presents the data in a clear and usable fashion. The information screens in the EM/DATA module are logically organized in order to make the data easily available. Information is cross-referenced so that it can be accessed from throughout the event management system. For example, in order to locate information on a banquet, the user could reference the event by the name of the band, the room in which it was held, a guest's name, etc.
The EM/DATA program module also presents the data in the form of printed reports. In that manner, information from many different areas, such as inventory control, food services, and guest tables, can be brought together in an easy-to-read, standardized format. All standard reports used in the hotel industry are automatically printed by the EM/DATA program module, including event contracts, room turn schedules, event "water lists" and cart schedules, room seating assignments, inventory usage reports, facility utilization reports, and convention resumes. The EM/DATA program module automatically gathers and correlates this information and performs all of the calculations necessary for these reports.
In addition to its ability to track events that have already been scheduled, the EM/DATA program module can be used to generate and print event proposals. It can output such information as proposed menus, themes, decor, and entertainment. As with all information managed by the EM/DATA program module, the menus, themes, decor, and entertainment information is completely editable by the user.
In addition, word processing software has been incorporated into the event management system of the present invention. Major text editing is exported to word processing software, such as WordPerfect 5.1, and then brought back to the EM/DATA program module once the user has completed the editing. That structure also makes it possible for letters, memos and FAXes to be produced using information already stored in the EM/DATA program module database, such as addresses and contact names.
The EM/DATA and DATABOND program modules utilize the same set of menu functions and descriptions. Those menu descriptions are shown in FIGS. 2A and 2B. As shown in those figures, there are seven main menu items from which the user can select, namely, Event, Drawing, Reports, Utilities, Maintenance, Applications, and Exit. Within each main menu selection, there are various selections which enable the user to operate the event management system of the present invention. For example, in order to reach the EVENT/CAD program module of the present invention, the Drawing menu is selected. The user may then select either the Create or View/Edit submenu item, depending upon whether a new event drawing is to be made or an existing event drawing is to be edited. The EVENT/CAD program module is started upon selecting a View/Edit submenu item.
It is believed that one of ordinary skill in the art will readily understand the organization of both the EM/DATA and DATABOND program module descriptions by reference to FIGS. 2A and 2B.
The following is a description of the menu functions which are shared by both the EM/DATA and DATA BOND program modules. Appropriate references to diagrams of windows which are displayed for the user are made, as well as references to subroutines which form part of the EM/DATA and DATABOND program modules.
Referring both to FIGS. 2A and 2B and to FIGS. 3A-HH, when the user selects the Event menu item, several submenu items, all of which serve to gather information from the user, can be accessed. The first submenu item to be selected is a Group item which displays the group entry window shown in FIG. 3A. That screen is used to enter information regarding the group which is booking the event with which the user will be working as far as preparing a proposal and for ultimately implementing the event.
After the data requested in the group entry screen or window is entered, the user closes that window and then may open the event entry window. As can be seen in FIGS. 3B1-3B3, the data already inputted in the group entry screen is carried forward in each succeeding screen so that there is no need to enter that data again. That is the case throughout the entire event management system software (which is termed CAD/EM in the drawings).
After the various event entry items are completed by the user, the event entry windows are closed and then the Food/Beverage submenu item is selected, which opens the Food/Beverage entry windows shown in FIGS. 3C1 and 3C2. Using those windows, the user may enter information regarding the food and beverages to be provided in connection with the banquet event order indicated. In the event that a menu theme is selected, the food item already stored in the EM/DATA program database would appear in the food information window of FIG. 3C2. The remaining information is entered in the remaining food/beverage entry screens shown in FIGS. 3C3-3C5.
After the food/beverage entry windows are closed, the user may select the Decor submenu item which opens the decor entry window shown in FIG. 3D, which is used to enter the description of the decor for the indicated EC. After completing the necessary information, the user closes the decor entry screen and then may select the Entertainment submenu item. The selection of the Entertainment submenu item opens the entertainment entry window shown in FIG. 3E.
Once the entertainment entry window data has been completed by the user, that window is closed and the user may select the Accounting submenu item, which opens the accounting entry window shown in FIG. 3F. The user completes the accounting information requested by the accounting entry window for the indicated EC, and then closes that window.
The user may then select the last submenu item under the Event menu, the Production item. That opens the production entry window shown in FIG. 3G, which allows the user to store various information regarding the production schedule for the EC being scheduled. When the user is finished entering production schedule information, the production entry window of FIG. 3G is closed.
It should be understood that, while the user can select any of the submenu items at will under any of the menu items provided for use with the EM/DATA and DATABOND program modules, such submenu items have been laid out in a logical order in order to provide the user with an efficient means for performing the facility and event management functions of the event management system of the present invention. In addition, the menu items themselves have been set up such that the user logically progresses from one menu item to the next in the course of efficiently using the event management system of the present invention to both plan and manage meetings and other hospitality events.
The second menu item is the Drawing entry, which allows the user to create and/or modify an event drawing. Once the Drawing selection has been made, the user would then normally select the create submenu item if a new event drawing is to be created or the View/Edit submenu item if an existing drawing is to be viewed or edited. Selecting the Create submenu item calls the ROOM.INFO.BP subroutine of the DATABOND program module, a diagram of the flowchart of which is shown in FIG. 13 and described in connection therewith. Selecting the View/Edit submenu item calls the WRITE.DXF subroutine of the DATABOND program module, a flowchart of which is shown and described in connection with FIG. 6.
Selecting the Inventory submenu item results in the opening of the drawing information screen of FIG. 3H, which allows the user to view or allocate inventory to the event. That item can be selected before Create and inventory can be assigned to the room, using the programs in INV-BP, but no drawing is created. If it is selected after a drawing is created, drawing statistics and information on the inventory requirements of the drawing are created. After the user has closed the drawing information window of FIG. 3H, the user may then select the Seating submenu item, which calls the SET.GUEST.BP subroutine of the DATABOND program module, a diagram of the flowchart of which is shown and described in connection with FIG. 8.
The user may also select the Slide/Animation submenu which provides three items, namely, for the viewing of slides or animations of the drawings already created, or for assigning the slides or animations to an event. If the user selects the Slides or Animations items, then the GET.SLD.MOV subroutine of the DATABOND program is called. The GET.SLD.MOV subroutine displays associated slides or animations of an event from within the EM/DATA program module. A diagram of the flowchart of that subroutine is shown and described in connection with FIG. 9. If the user selects the Catalog item, then the catalog window shown in FIG. 3I is displayed for the user so that event animation and slide management functions can be performed as shown in FIG. 3I. A walk-through animation of the room in connection with the indicated EC, which has already been created, can be accessed from the catalog window of FIG. 3I, as well as stored slides, in both two-dimensional and three-dimensional configurations. When the user is finished with the catalog window, it is closed.
The next main menu item which can be selected is the Reports menu which allows the user to print out a variety of reports. The EC submenu item prints a event contract order. The Group EC selection prints selected ECs for a specific booking number. The Proposal submenu item displays a Proposal menu which allows the user to select the Promo entry to print a theme and facility cover pages or the Proposal entry to print a proposal. FIGS. 3J-3M show respectively the windows which are displayed in connection with printing the group EC, EC, promo, and proposal reports. As will be obvious to those of ordinary skill in the art familiar with database development environments, the printing of specific reports within the Report entry of the main menu will be obvious.
Other items which can be printed under the Reports menu item include the printing of a production schedule (FIG. 3N), the printing of a resume for a booking number, various facility reports such as room by guest and room by section, which shows room section usage by guest and by section, inventory reports, seating assignments and, under food and beverage reports, a daily water list and a food cart schedule.
The fourth main menu selection, Utilities, displays a menu of several items which facilitate the operation of the EM/DATA and DATABOND program modules. The first subitem under the Utilities menu is the Set Facility item which updates the settings of the event management software of the present invention (FIG. 30). The next item is that of Daily Events which allows the user to view and/or edit a day's events. An example of a window associated with that item is shown in FIGS. 3B1-3B3.
A submenu within the Utilities item is the Event Copy menu which allows the user to copy an event. The text, drawing, and all entries under the Event Copy menu allow the user to copy the text portion of an event, copy the drawing portion of an event, or copy all event information, respectively, from one file to another. That function is performed by a database copy routine for copying records of one file to another, and is believed to be within the ordinary skill of a programmer familiar with a database development environment.
The next submenu item under the Utilities menu selection is the Event Delete item, which deletes an event. The two items under that menu are the Drawing item, which erases an event's drawing or the Entire item, which completely erases an event. The selection of either of those two items under the Event Delete submenu item calls a database delete program which deletes records from a file, the creation of which is believed to be well within the skill of a programmer familiar with a database development environment.
The next submenu item under the Utilities main menu selection is the Group Delete function which deletes a group and associated events. The program for performing that function is, again, believed to be well within the ordinary skill of a programmer familiar with a database development environment.
The next item under the Utilities menu selection is the Drawing Defaults menu which allows the creation and/or editing of the default staging or layout information. When the Extract Template item is selected, a window, as shown in FIG. 3Q, is displayed through which a layout or staging template may be created. FIGS. 3R and 3S show the windows which are displayed when the Edit Staging and Edit Layout items are selected. Those items show the editing respectively of the staging template description and layout template description created using the Extract Template item.
The final item that can be selected under the Utilities main menu selection is the Extract Theme item which creates a theme from a menu event. FIG. 3T shows a window which facilitates the creation of a theme from an event menu. A program which collects the menu from a previous event into a template file that can be used to create future menus is called in conjunction with the Extract Theme item for creating themes using the window of FIG. 3T.
The next main menu selection is the Maintenance menu. Once the Maintenance menu has been selected, the first submenu item that can be selected is the Guest item which allows the user to enter and/or edit guest information. The windows which allow the user to accomplish the task of entering and/or editing guest information are shown in FIGS. 3U1-3U4.
The second item which can be selected under the Maintenance menu is the Facility menu, which allows the input of various types of information regarding the facility using the event management system of the present invention. The first item under the Facility menu for data entry is the Facility item which allows the entry of facility information such as the name, address, telephone number, contacts, guest room information, and facility rooms information of the facility. Such information is entered using the windows shown in FIGS. 3V1-3V3.
The next item available under the Facility menu is the Section item which allows the user to enter information regarding each section of each facility room into the database. The window for entering such information is shown in FIG. 3W.
The Tolerance item under the Facility menu allows the user to enter the room tolerance information for each of the facility rooms, such as the distance from the wall to the center of a table, from the wall to the edge of the stage, etc. That information is used in preparing the various drawings in connection with the CAD/EVENT program module. The window for inputting the room layout settings is shown in FIG. 3X.
The last item under the Facility menu is the Employee item which allows the entry of employee information into the database. The window used for entering employee information is shown in FIG. 3Y.
The next item available under the Maintenance menu is the Vendor selection which allows the user to enter and/or edit vendor information. The drawing of a window for accomplishing that task is shown in FIG. 3Z.
Under the Maintenance menu selection of the main menu, the user can also enter Food and Beverage item information. That information can be used for the purpose of calculating order quantities and costing food allocation. Such food and beverage information can be entered using the window shown in FIG. 3AA. The user can also enter theme food information using the Theme submenu item, a depiction of which is shown in FIG. 3BB. In a similar manner, the language for a theme or facility cover page can be entered using the Promo submenu item of the Maintenance menu (shown in FIG. 3CC) and the inventory of tables, chairs, stage, and dance floor pieces, etc., can be entered using the Inventory submenu item, a depiction of the window of which is shown in FIG. 3DD. Default comments for reports can also be entered into the event management system database using the Comments submenu item. FIG. 3EE depicts a window which is suitable for the entry of such comments.
The next main menu selection item is Applications, which displays an applications menu. The first selection under the applications menu is Enter Email Message. FIG. 3FF is a depiction of a suitable window for entering and/or editing Email messages. The user can also check and/or read Email messages using the Check Messages selection under the Applications menu. In addition, the user can run a word processing software, such as WordPerfect 5.1, by selecting the WordPerfect submenu item under the Applications menu and can access print queue control function of the event management system of the present invention by selecting the Print Console submenu item.
When the user desires to exit from the event management system program of the present invention, the user selects the Exit main menu item.
When the user desires to check Email messages, an EMAIL.CHECK subroutine is called which checks to see if there are any messages waiting in the Email data file.
In order to facilitate an efficient operation of the EM/DATA program module, various function keys have been assigned to immediately initiate certain action. Table 1 shows the keystroke and resulting action of such function key assignments within the EM/DATA program module.
TABLE 1
______________________________________
EM/DATA FUNCTION KEY ASSIGNMENTS
Keystroke Action
______________________________________
F1 Help
F2 Popup default choices or
allow cross reference search
F6 List Soft Keys
ALT-F1 Switch to related Event entry window
ALT-F2 Switch to related Group entry window
ALT-F3 Switch to related Facility entry
window
ALT-F4 Switch to related Guest entry window
ALT-F5 Switch to related Food item entry
window
ALT-F6 Switch to related Beverage item entry
window
ALT-F7 Switch to related Theme window
ALT-F8 Switch to related Comment entry
ALT-F10 View stored slides/animations
SHIFT-F3 Check room availability
SHIFT-F4 Start WordPerfect Letter formatted
with guest name and address
SHIFT-F10 Add/Subtract items from event
inventory
______________________________________
B. THE DATABOND PROGRAM MODULE
The EM/DATA program module is a database environment which can track and compute inventory requirements by itself. The EVENT/CAD program module, which is described hereinafter, is capable of creating a physical model or representation of the event. However, the EM/DATA program module and the EVENT/CAD program module representations of an event are totally isolated from each other.
The function of the DATABOND program module of the event management system of the present invention is to provide for the connection of the EM/DATA database environment with the EVENT/CAD drawing environment. The DATABOND program module links the EM/DATA and EVENT/CAD program modules so that they completely interact. For example, any inventory removed from a drawing generated by the EVENT/CAD program module is also removed from the inventory requirements stored in the database maintained by the EM/DATA program module. The DATABOND program module permits the other two modules to communicate with each other. It translates information from a database format into a graphic format which is readable by computer-aided-design (CAD) packages, such as AutoCAD. The DATABOND program module can also translate the graphical information back into the database format of the EM/DATA program module.
In addition to enabling the EM/DATA program module to read drawing information, the DATABOND program module allows the EM/DATA program module to control the drawing. Everything that can be created in the drawing can be completely generated by the database of the EM/DATA program module, including the physical positioning of the inventory shown in the drawing. In that way, the DATABOND program module lets the EM/DATA program module create a drawing of an event from scratch. The user can enter the EVENT/CAD program module and obtain a plot of the event layout without adding a single table. Although the DATABOND program module completely automates the drawing process, the user still has absolute control of the room layout. The user can change the drawing in the EVENT/CAD program module, which will result in changing the information stored in the EM/DATA program module database.
Inasmuch as the DATABOND program module utilizes the same menu functions as the EM/DATA program module, which functions have already been described in connection with FIGS. 2A-2B and 3A-3HH, those functions will not be described again. Further, the descriptions of the tables used in connection with the DATABOND program module have also been previously described and therefore will not be described again.
In the course of describing the menu functions available for both the EM/DATA and DATABOND program modules, reference was made to various subroutines utilized in connection with the DATABOND program module. A description of those subroutines will now appropriately be made.
Flowcharts of the subroutines which form the DATABOND program module are shown in diagram form in FIGS. 5-18 and 79. The first subroutine called from the main menu, under the Drawing menu selection, is the ROOM.INFO.BP subroutine, a diagram of the flow chart of which is shown in FIG. 79. When the ROOM.INFO.BP subroutine is called it starts at step 7900 and then presents the user with the create drawing window screen shown in FIG. 4E, from which it obtains the event number from the user at step 7902. At step 7904, the ROOM.INFO.BP subroutine gets the drawing parameters from the user using the room information screen shown in FIG. 4A in order to collect information on how many people to set tables for, the stage size, and the dance floor size.
Once that information is collected, the ROOM.INFO.BP subroutine calls the INIT.LAYOUT subroutine, a diagram of the flow chart of which is shown in FIGS. 5A-5B. As will be described shortly hereafter, the INIT.LAYOUT subroutine determines the coordinates of tables to be placed in a room by determining the correct room and sections within the room from the EVENT file, by determining coordinates from the SECTION file, by determining tolerances from the <FACILITY NUMBER>.sub.-- TOLERANCE file. The INIT.LAYOUT subroutine then allocates space for the stage based on the coordinates, tolerance, and the user's input from the ROOM.INFO.BP subroutine. Space for the dance floor is allocated in the same manner.
The INIT.LAYOUT subroutine then creates a layout record with the coordinates for each stage module and dance floor tile evenly spaced within their allocated areas. In the event that a staggered or aligned room layout is requested, a similar record is then generated for the tables. If not, a separate subroutine is called from the LAYOUT.sub.-- PROGS table, which contains specialized programs that returns the coordinates for different layout types such as schoolroom, conference, etc. The completed layout record is then written to the LAYOUTS file.
If the user specified that a previous staging or room layout is to be used in the ROOM.INFO.BP subroutine, then the allocation of the space for the dance floor and the last step described above, that of generating a staggered or aligned room layout or the calling of the LAYOUT.sub.-- PROGS table is performed differently. First, the layout will be retrieved from the TEMPLATES.sub.-- STAGING file or the TEMPLATES.sub.-- TABLE file and then scaled to fit within the allocated areas. Otherwise, the tables and/or staging will be evenly spaced in the available area.
The INIT.LAYOUT subroutine is started at step 500 with the user entered parameters from the ROOM.INFO.BP subroutine. Corresponding EVENT and GROUP files for the information obtained from the collector window are then opened at step 504, and the room tolerance variables are read at step 506. A determination is then made at step 508 of whether the stage is to be imported from another drawing or newly generated.
If the stage is to be generated by the INIT.LAYOUT subroutine, then the stage location and size are calculated from the collector window information at step 510, and then the dance floor location and size are calculated from the collector window information at step 512. In the event that it is determined at step 508 that the stage is to be imported from another file, then the staging size and location are imported from the appropriate template at step 514.
After steps 512 and 514, a determination is made at step 516 of whether the requested layout is rectangular or staggered. If an affirmative determination is made at step 516, then the INIT.LAYOUT subroutine calculates the space available for tables based on the stage parameters and room dimensions at step 518, calculates the minimum number of tables required from the attendance data at step 520, divides the number of tables between the rows and columns of such tables to be used in the room at step 522, and then creates another option by varying the column and row count at step 524. The user is then asked to choose which layout is preferred at step 526. After receiving a response from the user, the INIT.LAYOUT subroutine calculates the final row and column spacing at step 528, uses that spacing to calculate table positions at step 530, and then creates a LAYOUT record with table and position number information at step 532.
Next, the INIT.LAYOUT subroutine calculates the ratio of people to room size at step 534 and then compares the calculated room ratio to that of the Meeting Planners International minimum standards at step 536.
After step 536 or if a negative determination is made at step 516, the INIT.LAYOUT subroutine then determines whether the layout is to be imported or generated at step 538. If the layout is determined to be imported at step 538, then the INIT.LAYOUT subroutine gets the layout information from the TEMPLATE.sub.-- TABLES file at step 540 and then scales the imported layout information to fit the room at step 542. If it is determined at step 538 that the layout is to be generated, then the INIT.LAYOUT subroutine calls the correct subroutine of the LAYOUT.sub.-- PROGS table at step 544. After steps 542 and 544, a determination is then made at step 546 of whether the stage is imported. If an affirmative determination is made at step 546, then the stage layouts are imported from the TEMPLATES.sub.-- STAGING file at step 548, and then the imported stage layout information is scaled to fit the stage location at step 550.
If a negative determination is made at step 546, then the rows and columns are calculated for the staging at step 552, and the staging information is then used to calculate the position of each of the stage modules at step 554.
After steps 550 and 554, the stage module positions and numbers are appended to the existing LAYOUT record at step 556 and then the SET.DIVS subroutine is called at step 558. At step 560, a determination is made of whether the user wants to view the layout. If an affirmative determination is made at step 560, then the WRITE.DXF.BODY subroutine is called at step 562.
In the event that a negative determination is made at step 560 or after the WRITE.DXF.BODY subroutine returns at step 562, the INIT.LAYOUT subroutine ends at step 564 and returns to the calling program.
If the user elects to view and/or edit an existing drawing from the Drawing selection of the main menu, the WRITE.DXF subroutine, a diagram of the flow chart of which is shown in FIG. 6, is called. When called, the WRITE.DXF subroutine starts at step 600 and then initiates a collector window for viewing the drawing, such as the window shown in FIG. 4B, at step 602. The data entered in the view drawing window of FIG. 4B is obtained at step 604, and then the WRITE.DXF.BODY subroutine is called at step 606. The WRITE.DXF subroutine then ends at step 564 and returns to the calling program.
The WRITE.DXF.BODY subroutine is shown in flowchart form in FIG. 7. The function of the WRITE.DXF.BODY subroutine is twofold. First, if the user has not created a drawing, the EVENT/CAD program module is started with a blank drawing. Second, if a drawing has been created, the LAYOUT record is read from the LAYOUTS file. Then, an array is created which maps the locations within each field in the LAYOUTS file to the correct DXF code. Then, the WRITE.DXF.BODY subroutine goes through the layout, field by field. For each field, the subroutine determines the correct DXF template and then reads it from the TEMPLATES.sub.-- DXF file. The read TEMPLATE record is then modified by mapping the field to the TEMPLATE record by using the array as a translation table. The modified TEMPLATE record is then written to a DXF file and, after all the modified records are written, the EVENT/CAD program module is started.
Once the WRITE.DXF.BODY subroutine is called, it starts at step 700, opens the appropriate files at step 702, and then creates an array mapping each field in the LAYOUTS file to a DXF code at step 704. A determination of the correct room is then made from the EVENT file at step 706, and then the SET.DIVS subroutine is called at step 708. The diagram of the flow chart at the SET.DIVS subroutine is shown and described in connection with FIG. 12.
At step 710, a determination is made of whether a drawing has already been created. If an affirmative determination is made at step 710, then the subroutine finds out whether the drawing is FastAccess from the DRAWING.sub.-- INFO file at step 712. Normally, the drawing file is created every time the user enters the EVENT/CAD module. However, to speed things up, two copies of the drawing can be kept; one in the database format, and the other in an Auto/CAD format. The disadvantage of a `FastAccess` drawing is it takes almost 10 times as much room to store. That is why there are utilities for switching drawings back to normal access and archiving them after the event has passed.
A determination is then made at step 714 of whether there is a FastAccess drawing. If a negative determination is made at step 714, then a DXF file is opened and a header written at step 722, and then the next field from the LAYOUT record is read at step 724.
The WRITE.DXF.BODY subroutine then reads the corresponding record from the TEMPLATE.sub.-- DXF file at step 726, and then modifies that TEMPLATE record by assigning a field to the DXF positions to find in the translation array at step 728. The modified TEMPLATE record is then written to the DXF file at step 730, and a determination is then made at step 732 of whether the end of the record has been reached. If a negative determination is made at step 732, then the subroutine returns to begin executing steps 724-732 again.
If an affirmative determination is made at steps 732 or 714 or if a negative determination is made at step 710, then the EVENT/CAD program module is started at step 716, and the READ.CDF LAYOUT subroutine is called at step 718. The WRITE.DXF.BODY subroutine then ends at step 564, and returns to the calling program.
A DXF file is an ASCII DOS file that is a graphical description of a drawing. This file is created by the DATABOND program module and enables the event management system software of the present invention to create a drawing from the EM/DATA program module database. An example of part of a DXF file is shown in Table 2.
TABLE 2
______________________________________
SAMPLE DXF FILE
______________________________________
SECTION
ENTITIES
INSERT
2
TILE
8
STAGING-DANCEFLOOR
10
1746
20
2136
30
50
70
15
71
5
44
36
45
36
INSERT
2
10TOP72
8
TABLES
10
1014
20
2006
30
50
This file has been truncated for purposes of this
example.
______________________________________
If the user selects the Seating item under the Drawing main menu selection, then the SET.GUEST.BP subroutine, a diagram of the flowchart of which is shown in FIG. 8, is called. The SET.GUEST.BP subroutine is a program that displays the guest seating assignment information in a window for the user to enter and/or edit which individuals are assigned to what tables. Once the SET.GUEST.BP subroutine is called, it starts at step 800 and then gets an event from the user at step 802 by using the assign seating assignment window shown in FIG. 3GG. The SET.GUEST.BP subroutine then gets the appropriate event layout from the LAYOUTS file at step 804. A determination is then made at step 808 of whether the information entered in the window of FIG. 4C is a table. If an affirmative determination is made at step 808, then the item is appended to the table list at step 810, and then the number of chairs needed around the table is gotten at step 812.
A determination is made of whether there is a seating assignment for each chair. If an affirmative determination is made at step 816, then the name of the person assigned to the seat is displayed at step 818.
If a negative determination is made at step 816, then one is added to the table empty seat count, and that chair is marked to be displayed as "NOT ASSIGNED" on the drawing at step 820.
After steps 818 and 820, a determination is made at step 822 of whether there are more chairs for which seating information is needed for this particular table. If an affirmative determination is made, then the subroutine returns to step 814 and processes the information for each chair around the table. If a negative determination is made at step 822, then a determination is made at step 824 of whether there are more tables for which information needs to be processed. If an affirmative determination is made at step 824, then the subroutine returns to step 806 and begins to process the next table.
If a negative determination is made at step 824, then the subroutine sorts the list of tables by table type and number at step 826 and then lets the user select the tables to assign seating at step 828. The subroutine then processes through the selected list of tables at step 830 and then displays the seating at each table and allows the user to assign the seating at step 832 using the guest seating assignment window shown in FIG. 4C.
At step 834, a determination is made of whether there are any more tables selected. If an affirmative determination is made at step 834, then the subroutine returns to step 830 and again processes through the selected list of tables.
If a negative determination is made at step 834, then the LAYOUT record is written back to the LAYOUT file at step 836 and then the subroutine ends at step 564.
If the user selects the Slides/Animation submenu item of the Drawing menu selection and then selects the Slide or Animations submenu item of the Alides/Animation item, then the GET.SLD.MOV subroutine of the DATABOND program module is called. A diagram of the flowchart of that subroutine is shown in FIG. 9. Once the GET.SLD.MOV subroutine is called, it begins at step 900, and then a determination is made at step 902 of whether the selected mode is slides. If a negative determination is made at step 902, then the path of the subroutine is set to animation directory at step 904. If an affirmative determination is made at step 902, then the path of the subroutine is set to slide directory at step 906.
After steps 904 and 906, the subroutine gets a listing of the selected directory at step 908 and displays the slides or animations at step 910 and lets the user select one to view. At step 912, a determination is made of whether the mode selected by the user at step 910 is the slides mode. If a negative determination is made at step 912, then the AFEGA program is called at step 914. That program is the AutoFlix Movie Compiler software, which can also be used as a player to replay saved animations. After step 914 or if an affirmative determination is made at step 912, the view slide program Vslide 1.0 is called at step 916, and then the GET.SLD.MOV subroutine ends at step 564.
If the user has selected the Utilities function under the main menu and has selected the Drawing Defaults submenu item menu thereunder, and then the Extracting Templates function, the EVENT.EXTRACT subroutine, a diagram of the flowchart of which is shown in FIG. 10, is called. That subroutine grabs all the tables and/or stage modules from a previous drawing and saves them as a template that can be used to layout future drawings.
Once the EVENT.EXTRACT subroutine is called, it begins at step 1000 and initializes the TEMPLATE record and maximum and minimum variables at step 1002. It then displays an extract template window for the user, as shown in FIG. 4D, at step 1004 and then requests the event number and type of template from the user. After receiving the input from the user, the EVENT.EXTRACT subroutine opens a TEMPLATE file of a type specified by the user for output at step 1006. A determination is then made of whether the object, such as staging or tables, specified by the user is of the correct type at step 1010. The subroutine loops through each object in the drawings and extracts the one indicated by the user. If an affirmative determination is made at step 1010, then that object is added to the TEMPLATE record at step 1012, and a determination is then made of whether the current coordinate is greater than the current maximum or less than the current minimum coordinates at step 1014. If an affirmative determination is made at step 1014, then the maximum and minimum coordinates are adjusted at step 1016.
After step 1016 and if a negative determination is made at step 1014, then a determination is made at step 1018 of whether the last object is being processed. If a negative determination is made at step 1018, then the EVENT.EXTRACT subroutine returns to step 1008 and repeats the above-described steps for each object in the layout.
If an affirmative determination is made at step 1018, then the current length and width of the template is added to the TEMPLATE record using the maximum and minimum variables at step 1020, and then the TEMPLATE record is written to the TEMPLATE file at step 1022. The EVENT.EXTRACT subroutine then ends at step 564.
A diagram of the flow chart of the GET.COORDS subroutine called from the INIT.LAYOUT and WRITE.DXF.BODY subroutines is shown in FIG. 11. The function of the GET.COORDS subroutine is to determine the sections of the room in which the event is to be held. From the range of sections, the GET.COORDS returns the upper right and lower left coordinates of the range of sections. When the GET.COORDS subroutine is called, it starts at step 1100 and then gets the section coordinates at step 1102. The subroutine then determines the lowest X coordinate at step 1104 and the lowest Y coordinate at step 1106. The highest X coordinate is then determined at step 1108, and the highest Y coordinate is then determined at step 1110. The GET.COORDS subroutine then ends at step 564.
A diagram of the flowchart of the SET.DIVS subroutine, which is called by the INIT.LAYOUT and WRITE.DXF.BODY subroutines is shown in FIG. 12. The function of the SET.DIVS subroutine is to determine the section range in which the event is being held from the EVENT file. The SET.DIVS subroutine reads the divider records from the DIVIDERS file. If the room divider is within the correct range, then a DIVIDER-RETRACT-xx record is written to the LAYOUT record in the LAYOUTS file. If the room divider is outside the selected range, then a DIVIDER-EXTEND-xx message is written to the LAYOUT record in the LAYOUTS file.
Once called, the SET.DIVS subroutine starts at step 1200 and then gets the room sections in use at step 1202. A determination is then made of whether a section is in use at step 1204. If an affirmative determination is made at step 1204, then the divider status is set to "retract" at step 1206. If a negative determination is made at step 1204, then the divider status is set to "extend" at step 1208. After steps 1206 and 1208, a determination is then made at step 1210 of whether there are more sections to be considered. If it is determined that there are more sections, then the next section is obtained at step 1214, and step 1204 is again executed.
If a negative determination is made at step 1210, then the LAYOUT record is assembled at step 1212, and it is written to the LAYOUTS file at step 1216. The SET.DIVS subroutine then ends at step 564.
A diagram of the flowchart of the READ.CDF.LAYOUT subroutine, which is called by the WRITE.DXF.BODY subroutine is shown in FIG. 13. The purpose of that subroutine is to read a .CDF layout from the EVENT/CAD module into the EM/DATA module. It converts the .CDF format file into one which is in the standard database format. The record in the LAYOUTS file is also updated.
Once the READ.CDF.LAYOUT subroutine is called, it begins at step 1300 and initializes the LAYOUT and INVENTORY records at step 1302. It then opens the appropriate files at step 1304 and then reads in a line from the CDF file at step 1306. A CDF file is an ASCII DOS file that corresponds to a database description of the drawing. That file is read by the DATABOND program module to update the EM/DATA program module database with drawing changes. An example of a CDF file is shown in Table 3.
TABLE 3
__________________________________________________________________________
APPENDIX N - SAMPLE CDF FILE
__________________________________________________________________________
`TILE `, `3' SQUARE DANCE FLOOR TILES `, 1746, 2136, 0,
0,",",",",",",",",",",",","
`TILE`, `3' SQUARE DANCE FLOOR TILES `, 1782, 2136, 0,
0,",",",",",",",",",",",","
`10TOP72`, `72" ROUND TABLE(S WITH 12 CHARS`, 1104, 2016, 0, 0,'1,`Not
Assigned`,`Not Assigned`,`Not Assigned`,`Not Assigned`,`Not
Assigned`,`Not
Assigned`,`Not Assigned`,`Not Assigned`,`Not Assigned`,`Not
Assigned`,","
`10TOP72`,`72" ROUND TABLE(S) WITH 12 CHAIRS`, 1317, 2016, 0, 0,`2`,`Not
Assigned`,`Not Assigned`,`Not Assigned`,`Not Assigned`,`Not
Assigned`,`Not
Assigned`,`Not Assigned`,`Not Assigned`,`Not Assigned`,","
`10TOP72`,`72" ROUND TABLE(S) WITH 12 CHAIRS`, 1531, 2016, 0,0,`3`,`Not
Assigned`,`Not Assigned`,`Not Assigned`,`Not Assigned`, ","
`10TOP72`,`72" ROUND TABLE(S) WITH 12 CHAIRS`, 1531, 2016, 0, 0,`3`,`Not
Assigned`,`Not Assigned`,`Not Assigned`,`Not Assigned`,`Not
Assigned`,`Not
Assigned`,`Not Assigned`,`Not Assigned`,`Not Assigned`,`Not
Assigned`,","
`HMOD32`,`6' .times. 8' .times. 32" STAGE MODULES `, 1968, 2472,
0,0,`10`,",",",",",",",",",",","
`HMOD32`,`6' .times. 8' .times. 32" STAGE MODULES `, 2064, 2472, 0,
0,`11`,",",",",",",",",",",","
`HMOD32`,`6' .times. 8' .times. 32" STAGE MODULES `, 2160, 2472, 0,
0,`12`,",",",",",",",",",",","
`DIVIDER-RETRACT-1`,`AIR WALL`, 317, 1375, 0,0,",",",",",",",",",",",","
`DIVIDER-RETRACT-1`,`AIR WALL`, 317, 1655, 0,0,",",",",",",",",",",",","
`DIVIDER-RETRACT-1`,`AIR WALL`, 317, 1935, 0,0,",",",",",",",",",",",","
`08T6X30`,`6' .times. 30" TABLE(S) WITH 8 CHAIRS `, 1302, 2452, 0, 90,
`#`, "Not
Assigned`,`Not Assigned`,`Not Assigned`,`Not Assigned`,`Not
Assigned`,`Not
Assigned`,`Not Assigned`,`Not Assigned`,",",","
`TILE`, `3' SQUARE DANCE FLOOR TILES`, 2502, 2358, 0, 0,",",",",",",",",",
",",","
`TILE`, `3' SQUARE DANCE FLOOR TILES`, 2538, 2358, 0, 0,",",",",",",",",",
",",","
`TILE`, `3' SQUARE DANCE FLOOR TILES`, 2574, 2358, 0, 0,",",",",",",",",",
",",","
`ST.sub.-- 3RL`,`3 STEP 24" STAIR WITH RAILING`, 1824, 2436,
0,",",",",",",",",",",",","
CHAIR`,`CHAIR(S)`, 2953, 1218, 0, 280,",",",",",",",",",",",","
CHAIR`,`CHAIR(S)`, 2940, 1240, 0, 320,",",",",",",",",",",",","
This file has been truncated for purposes of this example.
8458C
__________________________________________________________________________
After a line is read from the CDF file, the READ.CDF.LAYOUT subroutine then strips the quotes from the block name at step 1308 and converts the commas to value marks at step 1310. The subroutine then writes the line to the field in the LAYOUT record at step 1312 and increments the INVENTORY record field responding to the current line at step 1314. The subroutine then repeats steps 1306-1314 for each line of the CDF file. After each line of the CDF file has been read and processed as described above in accordance with steps 1306-1314, an INVENTORY record is written to the <FACILITY NUMBER>.sub.-- EVENT.sub.-- INV file at step 1318, and a LAYOUT record is then written to the LAYOUT file at step 1320. The date, time, etc., of the drawing is then written to the DRAWING.sub.-- INFO file at step 1322, and then the READ.CDF.LAYOUT subroutine ends at step 564.
The INVENTORY.CHECK subroutine which is used by the DATABOND program module to report the status of inventory at a specific point in time. A diagram of the flow chart of that subroutine is shown in FIGS. 14A and 14B. It can be called from the program which prints out reports. Once the INVENTORY.CHECK subroutine is called, it starts at step 1400 and gets the date, time range, sort option, and event type data from the user using the window screen at FIG. 3P at step 1402. At step 1404, all the events within the selected date and time range are selected and matched together. Then, for each event within the range assembled at step 1406, an inventory usage table is updated at step 1408, and a determination is made at step 1410 of whether there are any more events in the list to be processed. If an affirmative determination is made at step 1410, then the subroutine returns to step 1407 and processes each event within the list.
If a negative determination is made at step 1410, then the facility inventory is loaded at step 1412, each item in the usage table is processed at step 1404, and then a determination is made at step 1414 of whether the facility inventory is greater than the inventory that is required. If an affirmative determination is made at step 1414, then the INVENTORY.CHECK subroutine outputs the required number of items and the surplus inventory at step 1416. If a negative determination is made at step 1414, then the INVENTORY.CHECK subroutine outputs the required number of items and the shortage of such items at step 1418.
After steps 1416 and 1418, a determination is made of whether there are any more items in the usage table to be processed at step 1420. If an affirmative determination is made at step 1420, then the subroutine jumps to step 1404 and processes each item in the usage table, using steps 1414-1416. If a negative determination is made at step 1420, then the INVENTORY.CHECK subroutine ends at step 564.
The update of the inventory usage table requested at step 1408 requires the starting of the updated inventory usage table at step 1409 which results in the location of the appropriate time slot in the usage table at step 1422. A determination is then made at step 1424 if the item to be used is included in the usage table. If a negative determination is made at step 1424, the inventory item is added to the usage table at step 1426. After step 1426 or if an affirmative determination is made at step 1424, then the event inventory used is added to the inventory in the usage table at step 1428, and then a determination is made at step 1430 of whether there is another inventory record to be examined. If an affirmative determination is made at step 1430, then the subroutine Jumps to step 1432 and processes each additional item in the event inventory record using steps 1422-1428. If a negative determination is made at step 1430, then the start update inventory usage table portion of the INVENTORY.CHECK subroutine returns at step 1434 to step 1408.
The INVENTORY.CHECK subroutine is called when the user goes into the inventory checking window of FIG. 3H to check if the inventory is overbooked.
The DATABOND program module also utilizes four subroutines: TLAYOUT, ULAYOUT, SRLAYOUT, and HSLAYOUT, which are specialized room layout subroutines. Diagrams of flowcharts for each of those subroutines are shown in FIGS. 15-18.
The TLAYOUT subroutine takes the room coordinates in which the event is to take place and lays out tables in a theater-style layout. A stage is included in this layout. The entire setup can be centered along the left, right, top, or bottom of the room. Once the TLAYOUT subroutine is called, it starts at step 1500 and determines at step 1502 whether there are enough people to utilize this layout. If a negative determination is made in step 1502, the TLAYOUT subroutine ends at step 564.
If an affirmative determination is made at step 1502, then a determination is made at step 1504 of which side the guests will sit on, either one side or both. A determination is then made at step 1506 of whether the stage is to be positioned at the left center or right center of the room. If a negative determination is made at step 1506, then the direction vectors for the bottom center or top center are set at step 1510. If an affirmative determination is made at step 1506, then the direction vectors are set for the left center or right center at step 1508.
After steps 1508 and 1510, the table and chair rows for the top of the theater are set at step 1512, and then the table and chair rows for the left side of the theater are added at step 1514. At steps 1516 and 1518, the table and chair rows are added to the bottom of the theater layout and to the right of the theater layout, respectively. At step 1520, the staging rows are added to the staging layout. The layout is then written to the appropriate file at step 1522, and the TLAYOUT subroutine then ends at step 564.
The ULAYOUT subroutine takes the room coordinates in which the event is to be held and lays out the tables in a U-style layout. A stage is not included in this layout. This layout is scaled automatically to the number of people and amount of space allowed. A diagram of the flowchart of the ULAYOUT subroutine is shown in FIG. 16. Once called, the ULAYOUT subroutine starts at step 1600, and then a determination is made at step 1602 of whether there are enough people for the layout. If there are not enough people for the layout, then the ULAYOUT subroutine ends at step 564.
If an affirmative determination is made at step 1602, then a determination is made at step 1604 of whether people will sit on one side or both. Table and chair rows are then added for the bottom of the U at step 1606 and for the right and left sides of the U at step 1608. The layout is written to the appropriate file at step 1610, and the ULAYOUT subroutine then ends at step 564.
The SRLAYOUT subroutine takes the room coordinates in which the event is to be held and lays out the tables in a schoolroom layout style. A stage is not included in this layout. The layout is automatically scaled to the number of people and amount of space allowed.
Once called, the SRLAYOUT subroutine starts at step 1700 and a determination is then made at step 1702 of whether there are enough people for the layout. If a negative determination is made at step 1702, then the subroutine ends at step 564.
If an affirmative determination is made at step 1702, then a determination of whether 8, 16 or 24 row columns should be used is made based upon the number of people at step 1704. If it is determined that 8 columns should be used, then table and chair rows are added in an 8-column manner at step 1706. If it is determined that 16 columns should be used, then table and chair rows are added in a 16-column manner at step 1708. If it is determined that 24 columns should be used, then table and chair rows are added in a 24-column manner at step 1710.
After steps 1706-1710, the layout is written to the appropriate file at step 1712, and the SRLAYOUT subroutine then ends at step 564.
FIG. 18 is a diagram of the flowchart of the HSLAYOUT subroutine which takes the room coordinates in which the event is to be held and lays out the tables in a square layout style. A stage is not included in this layout. The layout is automatically scaled to the number of people and space allowed.
Once the HSLAYOUT subroutine is called at step 1800, a determination is made at step 1802 of whether there are enough people for the layout. If a negative determination is made at step 1802, then the HSLAYOUT subroutine ends at step 564.
After an affirmative determination is made at step 1802, then a determination of the quantity of 6TOP, 8TOP, 3TOP and 4TOP tables required for the number of persons attending is made at step 1804. A 6TOP table is a table with 6 chairs.
A determination is then made at step 1806 of the center of the room, and then tables and chairs for the top of the layout are added at step 1808. At step 1810, table and chair rows are created for the left side of the layout. At steps 1812 and 1814, table and chair rows for the bottom of the layout and for the right side of the layout are added. The layout is then written to the appropriate file at step 1816, and the HSLAYOUT subroutine then ends at step 564.
As will be obvious to those of ordinary skill in the art, flow charts of various printing routines which obtain user input and then print certain reports have not been provided since they are believed to be well within the general skill of programmers familiar with development on data base programming. Such printing routine called certain window which are displayed for the user to obtain instructions. One such subroutine is called PRINT.INV, which displays the window shown in FIG. 3P in order to print an inventory report. Another printing subroutine, called PRINT.GUEST.BP, calls the screen shown in FIG. 3GG which is used to assign seating. The remainder of the printing program, which are referenced from the EM/data Reports main menu selection display a generic window shown in FIG. 3HH to the user.
C. THE EVENT/CAD PROGRAM MODULE
The EVENT/CAD program module is a computer-aided-design-based system which is used to create highly accurate, detailed drawings. It can also be used to create complex 3-dimensional representations of buildings and room layouts. However, producing such models from scratch requires a great deal of specialized knowledge and familiarity with the CAD system and is at best an arduous task. The benefits gained by using a computer to set up and model events are many and obvious; however, this usually necessitates having a separate technical staff who are trained to operate the computer system. The EVENT/CAD program module, however, is designed to reduce the task of producing such drawings to an uncomplicated, menu-driven process that can be performed by users having little or no technical skill. It enables them to produce and modify complex, accurate event simulations quickly and easily.
The EVENT/CAD program module works with a set of standardized templates of a hotel's event facilities and inventory items (i.e., tables, staging, etc.). In addition to that, the EVENT/CAD program module facilitates the complex process of placing, scaling and manipulating those items, as well as editing room layouts once created, and producing hardcopy representations of the drawings for proposals, presentations and event production staff.
The EVENT/CAD program module works with three different command structures. Through the use of a digitizer tablet shown in FIG. 74, issuing commands and directing the computer are reduced to a systematic method of visually choosing and picking. An operator can perform operations by picking objects and commands on a custom digitizer template, without ever using the keyboard. In addition to the template command structure, operations can be selected from a clear, walk-through framework of screen messages or a comprehensive pull-down menu structure, complete with visual icons of inventory items. This control method eliminates the need for memorizing the thousands of command sequences, individual inventory items, and options available in the EVENT/CAD program module.
The EVENT/CAD program module accomplishes this command structure by implementing many different programs written in the Autolisp (Lisp) programming language and attaching them to the standard AutoCAD structure. Those programs eliminate the need for the operator to memorize hundreds of commands and their format, as well as the necessity of having to do lengthy calculations, by performing them all internally. Many of those programs make use of on-screen dialog boxes to allow interactive functions, so that, even though many processes are simplified, the program places complete control in the hands of the user. The EVENT/CAD program module, by providing unambiguous, menu-driven processing and a number of subroutines whose operation is transparent to the user, is very user-friendly while both avoiding trivialization and retaining the immense power of a CAD-based design system.
The menu structure of the EVENT/CAD program module is set forth in Table 4. In that table, [] denotes subroutines to be called which are described hereafter and () describes simple AutoCAD command sequences.
TABLE 4
__________________________________________________________________________
EVENT/CAD MENU STRUCTURE
[] Denotes program in [] to be called
() Description of simple AutoCAD command sequence
FILES
.smallcircle. PLOT [emplot.lsp]
.smallcircle. Make FastAccess
[fast access]
.smallcircle. Make Normal Access
[normal.sub.-- access]
.smallcircle. Animation file
[delete.sub.-- file "anim"]
.smallcircle. FastAccess file
[delete.sub.-- file "dwg"]
.smallcircle. Animation Settings file
[delete.sub.-- file "set"]
.smallcircle. SAVE [cadsave.lsp]
.smallcircle. EXIT [cadout.lsp]
.smallcircle. QUIT [cadquit.lsp]
.smallcircle. ABOUT [about.lsp]
ADD
.smallcircle. TABLES [pldia.lsp "ctbl"]
.smallcircle. Round Tables
[pldia.lsp "ctbl"]
.smallcircle. Rectangular Tables
[pldia.lsp "rtbl"]
.smallcircle. STAGING [pldia.lsp "mods"]
.smallcircle. Construct Stages
[Icon Menu--stgcon]
.smallcircle. Construct Dancefloor
[dfloor.lsp]
.smallcircle. Staging Equipment
[pldia.lsp "misc"]
.smallcircle. CATERING [pldia.lsp "catr"]
.smallcircle. PROPS [pldia.lsp "misc"]
.smallcircle. TEXT [text.lsp]
.smallcircle. Create Path
(add a path on layer PATH)
.smallcircle. Curve Path
(spline-fit selected path)
DISPLAY
.smallcircle. Zoom Window
(zoom "w")
.smallcircle. Zoom Dynamic
(zoom "d")
.smallcircle. Zoom Previous
(zoom "p")
.smallcircle. Zoom Extents
(zoom "e")
.smallcircle. Zoom Out Fast
(zoom "vmax")
.smallcircle. View Control Panel
[emview.lsp]
.smallcircle. All (restore view "cadem.sub.-- all")
.smallcircle. Room (zoom "w" ll ur)
.smallcircle. Legend (resotre view "legend")
.smallcircle. REDRAW (redraw)
.smallcircle. REGEN (regen)
3D/ANIMATION
.smallcircle. 3DVIEW (Icon Menu--3dview)
.smallcircle. CAMVIEW [camview 65 65]
.smallcircle. SHADE (shade view)
.smallcircle. HIDE (hide view)
.smallcircle. Save Slide
[makesld]
.smallcircle. View Slide
[playsld]
.smallcircle. ANIMATION
[emanim.lps]
.smallcircle. Animate [emanim.lsp]
.smallcircle. Playback [playmov]
EDIT
.smallcircle. ERASE [single,group,many]
(erase)
.smallcircle. MOVE [single,group,many]
(move)
.smallcircle. Re-Move Previous Objects
(move "p")
.smallcircle. COPY [single,group,many]
(copy)
.smallcircle. Copy Multiple Times
(copy "m")
.smallcircle. CHANGE ELEVATION
[elev.lsp]
.smallcircle. ARRAY [array.lsp]
.smallcircle. Space--Staggered
[space.lsp "s"]
.smallcircle. Space--Aligned
[space.lsp "a"]
.smallcircle. UNDO (undo)
.smallcircle. REDO (redo)
CLEAN UP
.smallcircle. Straighten Rows
[align.lsp "y"]
.smallcircle. Straighten Columns
[align.lsp "x"]
.smallcircle. Add an AISLE
[aisle.lsp]
.smallcircle. SCALE [scale.lsp]
.smallcircle. CENTER [cntrdia.lsp]
.smallcircle. CHANGE [change.lsp]
OPTIONS
.smallcircle. LAYERS [colors.lsp]
.smallcircle. LAYOUT [layout.lsp]
.smallcircle. AIRWALLS [airwalls.lsp]
.smallcircle. DISPLAY OPTIONS
[display.lsp]
.smallcircle. 3D Chair Representation
[iblock3d.lsp]
.smallcircle. Complex Chairs
[iblock2d.lsp]
.smallcircle. Simple Chairs
[iblock1d.lsp]
.smallcircle. TOLERANCES
[tol.lsp]
UTILITIES
.smallcircle. NUMBERING CONTROL PANEL
[sort.lsp]
.smallcircle. Renumber Everything
[dosort.lsp "b" 1 1 1 l ur 1]
.smallcircle. Renumber Tables
[dosort.lsp "b" 1 1 nil ll ur
1]
.smallcircle. Renumber Circular Tables
[dosort.lsp "b" 1 nil nil ll
ur 1].
.smallcircle. Renumber Rectangular Tables
[dosort.lsp "b" nil 1 nil ll
ur 1]
.smallcircle. Renumber Stage Modules
[dosort.lsp "b" nil nil 1 ll
ur 1]
.smallcircle. UPDATE LEGEND
[legend.lsp]
.smallcircle. ASSIGN NAMES
(ddatte)
.smallcircle. MEASURE DISTANCE
[dist.lsp]
.smallcircle. CHAIR MAINTENANCE
[chairs.lsp]
__________________________________________________________________________
When the Create or View/Exit options of the Drawing main menu selection are changed, the AutoCAD Portion of the EVENT/CAD Program module is called. That automatically executes the ACAD.LSP subroutine, the diagram of the flow chart which is shown in FIG. 19. That subroutine sets the global variables in the EVENT/CAD module to their default values. It also sets the initial snaps and grid spacing. The subroutine then displays the main screen menu, creates a legend, and updates the status line area. The ACAD.LSP subroutine also defines several Lisp functions as well as determining whether or not the drawing is a FastAccess drawing.
When called, the ACAD.LSP subroutine starts at step 1900 and then defines a function called SSUNION for creating the union of selection sets by using the select command at step 1902. It then defines a function called SSDIF at step 1904 for creating the union of selection sets by using the select command with the R option. The ACAD.LSP subroutine then defines a function called SSINTER at step 1906 for creating a set of the intersection of selection sets by looping through members of both sets. At step 1908, the CADEM.LSP subroutine is loaded. The ACAD.LSP then ends at step 564.
The CADEM.LSP subroutine is the second auto-executing AutoCAD function involved when the AutoCAD program is started. It defines Lisp functions to set global variables which store the plot-layout size (GETSIZE) and which reset the plot and title block size (SETSIZE). The CADEM.LSP subroutine also sets the global variables which are shown in Table 5.
TABLE 5
______________________________________
Global Variables set by CADEM.LSP Subroutine
______________________________________
ROT - default rotation angle
MSNAP - minimum snap distance
SNAP - current snap distance
GRID - current grid spacing
MODE - default insertion mode (single, group, path)
ATOL - alignment tolerance for ALIGN.LSP
STOL - sorting DOSORT.LSP
SFACTOR - drawing scale factor
ACAD.sub.-- DRIVE - drive that AutoCAD is located on
DATA.sub.-- DRIVE - current event data drive
EVENT.sub.-- NO - current event number
FAC.sub.-- NO - facility number that event is in
LCENTER - legend centering point
LL - lower-left corner of drawing
UR - upper-right corner of drawing
______________________________________
The CADEM.LSP subroutine also loads frequently used Lisp subroutines, such as CADEM.INIT, UPDATE.LSP and LEGEND.LSP. Once loaded, the CADEM.LSP subroutine starts at step 2000, defines the GETSIZE subroutine at step 2004, the SETSIZE subroutine at 2006 and the STARTUP subroutine at step 2008. The CADEM.LSP subroutine then ends at step 564.
The third auto-executing AutoCAD function invoked when the AutoCAD program is started is the STARTUP() subroutine, a diagram of the flow chart of which is shown in FIG. 58. When called, the STARTUP.LSP subroutine starts at step 5800 and then registers the application into AutoCAD memory as "CADEM v1-0 at step 5802. At step 5804, the rotation, help, MSKPAP, snap, grid, mode and tolerance global variable are initialized.
The subroutine then reads the acad.sub.-- drive and data.sub.-- drive global variables from the CADEM.INI file at step 5806 and then loads several common Lisp functions at step 5808. Such common functions include PMSG.LSP, PLACE.LSP, PLDIA.LSP, ARRAY.LSP, STAGE.LSP, EMERROR.LSP, and READBLCK.LSP. The AutoCAD error function is then replaced with the EMERROR value at step 5810 and then the GETSIZE() subroutine, a diagram of the flow chart which is shown in FIG. 59, is run.
The STARTUP.LSP subroutine then reads the facility, drawing scale and legend center coordinates from the $IDATA$ block at step 5814 and then determines whether the current drawing name is equal to "CADEM" at step 5816. If a negative determination is made at step 5816, then the event number and centering coordinates are obtained from the $EDATA$ file at step 5818 and the STARTUP.LSP subroutine ends at step 564.
If an affirmative determination is made in step 5816, then the CADEM.DXF file with DXFIN command is loaded at step 5820 and then the UPDATE.LSP subroutine is loaded and run at step 5822. A diagram of the flow chart of the UPDATE.LSP subroutine is shown in FIG. 60.
The STARTUP.LSP subroutine then loads the LEGEND.LSP subroutine at step 5824 and determines whether the lmode is equal to Y at step 5826. If an affirmative determination is made at step 5826, then the LEGEND.LSP subroutine, a diagram of the flowchart of which is shown and described in connection with FIG. 61, is run at step 5828. After step 5828 or if a negative determination is made at step 5826, the STARTUP.LSP subroutine ends at step 564.
A diagram of the flow chart of the GETSIZE() function is shown in FIG. 59. This function returns the size currently selected for the title block and plots to the calling program. The title block size may be set to "NONE." The GETSIZE() function is defined in the CADEM.LSP subroutine, a diagram of the flowchart of which is shown in FIG. 20.
When called, the GETSIZE() subroutine starts at step 5900 and then sets flags indicating whether the legal-size viewports or title blocks are turned on at step 5902. A query is then made in step 5904 of whether the legal viewport is turned on. If it is determined that the legal viewport is turned on then the value of USERS1 is set to "LEGAL" at step 5908. If a negative determination is made at step 5904 then the value of USERS1 is set to "LETTER" at step 5906.
After steps 5906 and 5908, a determination is made at step 5910 of whether the letter title block is turned on. If a negative determination is made at step 5910 then a determination is made at step 5912 of whether the letter title block is off. If a negative determination is made in step 5912 then the value of USERS2 is set equal to "NONE" at step 5914.
If it is determined at step 5910 that the letter title block is on then the value of USERS2 is set to "LEGAL." If it is determined at step 5912 that the letter title block is set to off then the value of USERS2 is set equal to "LETTER" at step 5918. After steps 5914-5918, the GETSIZE() subroutine ends at step 564.
A diagram of the flowchart of the UPDATE.LSP subroutine called by the STARTUP.LSP is shown in FIG. 60. The update program is implemented when entering the EVENT/CAD environment and checks the $EDATA$ block in the legend block to determine if changes need to be made to the title block or legend before entering the drawing. If changes are necessary, they are made and the drawing is entered.
When called, the UPDATE.LSP subroutine starts at step 6000 and then gets the nth attribute from the $EDATA$ block at step 6002.
The title block entry is then changed to correspond to the attribute name to the data stored in the nth value of $EDATA$ using the ATTEDIT command at step 6004.
A determination is then made at step 6006 of whether the nth item is the seventh item. If a negative determination is made at step 6006, then the subroutine goes to step 6008 and repeats steps 6002-6006.
If an affirmative determination is made at step 6006 then the LMODE value is set to equal the next attribute value at step 6010 and the LL and UR values are set to the values of the next two attributes at step 6102. The UPDATE.LSP subroutine then ends at step 564.
Once the EVENT/CAD program module has been started up, a main menu is displayed for the user which has the following categories, as shown in Table 4: Files, Add, Display, 3D/Animation, Edit, Clean Up, Options, and Utilities. The display choices are used to navigate through the EVENT/CAD program module. When the EVENT/CAD menu is displayed, the CADEM.MNL subroutine, a diagram of the flowchart of which is shown in FIG. 61, is automatically called.
The CADEM.MNL subroutine provides support for the CADEM.MNU file that is automatically loaded when the EVENT/CAD menu is shown to the user. That file includes short routines that are referenced by the main EVENT/CAD menu. MNL files are searched for and loaded by AutoCAD whenever an associated .MNU file is accessed.
When called, the CADEM.MNL subroutine starts at step 6100, defines the FAST.sub.-- ACCESS() subroutine at step 6102, the NORMAL.sub.-- ACCESS() subroutine at step 6104 and the CAMVIEW() subroutine at step 6106. The CADEM.MNL subroutine then ends at step 564.
The first item under the Files menu choice is Plot. This item allows the user to produce plots in the EVENT/CAD environment. Using a dialog box, the user can specify the plot setting (show title block, plot with hidden lines, and plot size). The dialog box defaults are taken from the global variables USERS1 and USERS2. When this item is selected, the EMPLOT.LSP subroutine, a diagram of the flowchart of which is shown in FIG. 21. When the EMPLOT.LSP subroutine is called, it first starts at step 2100 and then calls the LAYOUT.LSP subroutine at step 2104, which lets the user select layout parameters. A diagram of the flowchart of the LAYOUT.LSP subroutine is shown in FIG. 42.
The EMPLOT.LSP subroutine then displays the CAD/EM Plot Control Panel shown in FIG. 75A which gets from the user certain plotting parameters, such as the size of the paper, whether hidden lines are to be removed, and other items shown in FIG. 1000A. The EMPLOT.LSP subroutine then turns off the vport layers at step 2108, executes a script file to generate the plot file to the network drive at step 2110, and then sends the PLOT file to the appropriate printer at step 2112.
If the user selects the Make Fast Access item under the Files main menu selection, then the FAST.sub.-- ACCESS() subroutine is called. A diagram of the flowchart of that subroutine is shown in FIG. 22. Once that subroutine is called, it starts at step 2200, sets the path at step 2202, and then determines at step 2204 whether the current drawing name is a Fast Access drawing. If an affirmative determination is made at step 2204, then a determination is made at step 2206 of whether a drawing file exists. If an affirmative determination is made at step 2206, then the current drawing is closed and saved. If a negative determination is made at step 2206, then the drawing is saved at step 2210. If a negative determination is made at step 2204 and after steps 2208 and 2210, the FAST.sub.-- ACCESS() subroutine ends at step 564.
If the user desires to access a file in a normal manner, then the Make Normal Access item is selected, which calls the NORMAL.sub.-- ACCESS() subroutine, a diagram of the flowchart of which is shown in FIG. 23. Once that subroutine is called, it starts at step 2300 and determines at step 2302 whether the drawing selected is equal to CADEM. If an affirmative determination is made at step 2302, the program ends at step 564. If a egative determination is made at step 2302, then a determination is made at step 2304 of whether the requested drawing file exists. If an affirmative determination is made at step 2304, then the file is closed, and the CADEM file is saved in the ACAD subdirectory, all at step 2308. If a negative determination is made at step 2304, then the CADEM file is saved in the ACAD subdirectory at step 2306.
After steps 2306 and 2308, the drawing file is deleted if it exists at step 2310, and the subroutine then ends at step 564.
The next option available under the Files menu selection item is the Delete option. Three types of files can be deleted using this option, either an animation file, a fast access file can be selected, or an animation settings file can be selected.
The next item which can be selected under the Files main menu selection is the Save option. This option saves any changes made to the current drawing. If the drawing is a fast access drawing, it saves the drawing as a fast access drawing. All information on the legend layer is erased before exiting. The selection of the Save option calls the CADSAVE.LSP program which, in addition to performing the foregoing functions, also creates a CADEM.TXT CDF file which stores all of the block information to be imported into the EM/DATA program module. A diagram of the flowchart of the CADSAVE.LSP subroutine is shown in FIG. 24.
Once called, the CADSAVE.LSP subroutine is started at step 2400 and then determines whether the current file name is equal to CADEM. If a negative determination is made, a determination is then made of whether an event file for the current drawing exists at step 2404. If a negative determination is made at step 2404, then the current drawing is saved at step 2406.
If an affirmative determination is made at step 2404, then the current event file is closed and the drawing is saved at step 2408. If an affirmative determination is made at step 2402 and after steps 2406 and 2408, the legend information is erased at step 2410. The CADSAVE.LSP subroutine then writes out a standard CDF file with AutoCAD ATTEXT command at step 2412, and then ends at step 564.
If the Exit option is selected under the File main menu selection, then the CADOUT.LSP subroutine is called. The CADOUT.LSP function is used when the user is finished designing the room and wants to return to the EM/DATA database. It saves the drawing changes and executes an exit script to return the user to the EM/DATA environment.
A diagram of the flowchart of the CADOUT.LSP subroutine is shown in FIG. 25. Once that subroutine is called, it starts at step 2500 and then loads the CADSAVE.LSP subroutin |