Cad Guidebook: A Basic Manual for Understanding and Improving Computer-Aided Design (18 page)

Read Cad Guidebook: A Basic Manual for Understanding and Improving Computer-Aided Design Online

Authors: Stephen J. Schoonmaker

Tags: #Science & Math, #Biological Sciences, #Biotechnology, #Professional & Technical, #Medical eBooks, #Special Topics, #Professional Science

64 Chapter 3

gram. On unix-based systems it is a separate program, but not necessarily on
Windows (although it can still resort to the DOS prompt running either in a win-
dow or in full screen).

The GUI is somewhat taken for granted, but many computers can still inter-
act with a user without graphics. This mode can be called the DOS mode or the
terminal mode or the command line mode. In this situation, the user simply types
in character-based commands (instead of using the mouse to point and/or click)
and the computer responds directly to the commands. It is a very simple and gen-
erally more powerful means of controlling the computer, but it is not necessarily
easy for users to handle. Therefore, generally only administrators resort to the
command line mode. For most users, the operating system will be inseparable
from the GUI.

For most unix-based systems, the GUI is called Xwindows. This program
was created as part of a Department of Defense–sponsored project which not
only provided a GUI, but was also closely tied to the use of a network. This al-
lows some rather interesting possibilities. For instance, Xwindows permits opera-
tions such as “exporting displays” where one computer provides the
computational power, but another computer actually shows the graphical results.
It is possible, therefore, to remotely login to a computer in a different country,
and make the GUI operate in that location, or back in the original location. Also,
since Xwindows is running on top of the operating system, it can be managed as
a program without affecting the operating system itself. This means that it can be
highly and easily customized for users without affecting the basic operation of
the computer system.

No doubt because Xwindows was government sponsored, it is a rather open
program. An important version of Xwindows was 11. So Xwindows is often re-
ferred to as just X11. The source code for X11 is generally available to anyone.
This means that someone could create their own version of Xwindows. Indeed,
some computer manufacturers created their own versions of Xwindows that are
proprietary or only available from them running on their own systems. However,
anyone that has used Xwindows on a system should be able to understand any of
the other versions.

In addition to the prevalence of Xwindows on unix-based systems, many of
the unix computer manufacturers have standardized the Xwindows interface even
more closely. This system is called the Common Desktop Environment (CDE).
The CDE-standard systems all have the same icons and customizations so there is
very little difference between the different manufacturer’s systems.

For PCs (at least any system running the Microsoft Windows operating sys-
tems), the GUI is Microsoft Windows itself. Thus, the operating system itself is
providing the GUI. This has the advantage of very clear standardization. All PCs
are going to look basically the same to users. However, this has the disadvantage
of problems with the GUI being able to affect the computer as a whole. As long

Computer Software Basics 65

as the operating system is stable, this is no problem. But if a program running on
the desktop starts producing errors and uses devices or memory it is not supposed
to (due to failures or poor programming techniques), then it will not be possible
to stop just the offending program by just entering commands under the GUI
program.

For CAD users, the GUI is an essential component of managing data and
programs so that drawings, models, etc. can be created efficiently. Usually, the
CAD program is running in a window of the GUI program. This means that the
CAD program can be manipulated on the computer desktop easily. It can be
started, stopped, minimized, maximized, etc. Understanding that the CAD pro-
gram is running as a part of the GUI allows CAD users to be more productive.
For instance, the CAD program can be run side-by-side with other programs im-
portant to design, analysis, and design management (such as office productivity
software or Bill of Material programs).

3.4 THE APPLICATION PROGRAM

Again referring to Figure 3.1, the top layer of software is now reached. This is the
real program that users are generally interested in using (such as the CAD
program). This type of program is often called an application or an application
program.

Note that standard operating systems allow multitasking to the degree that
more than one instance or copy of the application program can be running at the
same time (within the limitation of the CAD system’s licensing). For CAD users,
this means that different windows could be working on or viewing different
drawings or models. This is a significant advantage; it is the instancing that per-
mits this sort of operation. However, it is important to keep track of exactly what
each window is doing with the CAD data. Problems can arise if more than one
CAD session is trying to work on the same drawing or model at the same time.

Application programs, in particular, are programs that are written in high
level languages. Indeed, if a user is going to write their own programs, they will
likely use these same sorts of languages. For many years, the most important high
level language for programs such as CAD was FORTRAN. FORTRAN stands for
Formula Translation, and it was designed to solve scientific and/or engineering
problems. Obviously, CAD programs are closely related to these activities. How-
ever, as programs became more interactive, and the graphical interface became
more and more powerful, other languages became popular (since the user inter-
face is not really an application of engineering formulae). Probably the most im-
portant language in this highly interactive stage is C and its descendant, C++
(called “C plus plus”). C++ is generally the preferred language for GUI based
programming. Of course, some parts of CAD programs may still use FORTRAN
or C for highly computational activities (such as doing analytical calculations)

66 Chapter 3

and leaving the C++ for the interface activities. Some other popular languages
that have probably been used for CAD programs are Pascal and ADA. Also, the
rise of platform-independence via Web browsers have been instrumental in the
rise of another language called Java.

These high level languages can be a significant issue for CAD users. In
many cases, users or their companies are interested in customizing or expanding
the capabilities of the CAD application. This process of adding new operations or
customizations is often performed by something called an API (Application Pro-
gramming Interface). This is a common feature of CAD software. Examples
would be creating a command for the CAD system that would create a company
standard drawing format or note that shows the name of the company, the person
that created the drawing, the part number, etc.

To perform this customization, one refers to the documentation that is pro-
vided by the CAD software vendor. This will indicate how source code files are
generated or edited. These files will have commands that follow a standard lan-
guage and technique created by the CAD software vendor. These commands are
standardized for all companies that buy the software, but each company can cre-
ate applications that suit their own special needs. These programs can be pretty
simple, or they can be quite complex. The simplest case is usually the macro. A
macro is usually created by having the user click or type a command to record
keystrokes or a sequence of commands. When the user is finished recording, the
macro can be played back. This playback can be used over and over again, and
thus the functionality of the CAD software can be expanded. And, the macro files
can often be edited to further expand the functionality of the macro. The form and
syntax of the macro file often follows the patterns of high level languages. The
macro files may have elements of FORTRAN, C, Lisp, or BASIC programming.

Some CAD programs also provide access to the same routines and proce-
dures that the CAD program itself uses. This means that the user would use a
high level language (such as C++) to create their own source code, and this is
then “linked” into the CAD software routines. In some cases, the API for a CAD
program would consist of the standard procedures that can be accessed in the
CAD software itself. These type of sophisticated programs would often also be
“linked” into the GUI software since these programs are likely to provide their
own interactive graphics as well. Creating these kinds of applications linked to the
CAD software routines are most likely not going to be created by “normal” users.
A fair amount of computer programming experience is assumed with the API.

The final topic to present with respect to the application program layer is
licensing. Licensing refers to the way that copies are restricted by the software
vendor. As mentioned earlier, users can often create multiple copies or sessions
of the CAD program on the GUI. However, most software vendors restrict how
many copies can be started by all users at a company. The programming that
keeps track of how many copies are being used at any one time is generally re-

Computer Software Basics 67

ferred to as a license manager. This is another application running on the operat-
ing system that is watching all the computers on the network to see if the
application is being used and how much.

Some CAD software contains many modules or pieces. Sometimes these
pieces are licensed or bought separately. The license manager will track each of
these pieces independently. Some license managers are very sophisticated appli-
cations in themselves. Since they run “detached” from a single computer they are
referred to as “daemons” (of course, they are also referred to as “demons”).
Sometimes the license manager is referred to
as the “license daemon.” Normally,
users have no interactions with the license manager. The password or config file
that has encrypted information on the number and type of modules that can be
run by users is usually taken care of by system administrators.

The chapters on 2-D and 3-D CAD management have more information on
the overall administration issues related to the CAD application.

3.5 THE WEB

Although it is not shown in Figure 3.1, the World Wide Web, the program written
by Tim Berners-Lee in 1989, offers another sort of layer of computer software.
The Web connects a global network of computers that use Internet protocols.
With the addition of a “browser” program the user “sees” the data on the various
computers in the network. The user can also “move” between these computers by
selecting “hyperlinks.” These are tags or mark ups that have a visible graphic for
the user to click on, and then the tag indicates what address (server, directory, file
name, etc.) that the user will be redirected to.

One could consider the browser program to take the place of the “applica-
tion” layer, and then the global network providing yet another possible layer.
When users access the Web via network connections, they are often going
through a gateway provided by an independent firm called an ISP (Internet Ser-
vice Provider).

Although CAD systems frequently use the Web browser and the data on the
Web for transferring information between companies and CAD systems, it is pos-
sible to put the CAD software itself onto the computer on the network. In this
case, the CAD software is not really loaded on the local user’s system. Instead,
the user sees the CAD software via the Web browser, and the network downloads
the pieces of the CAD software on a demand basis. When software is “served” to
a user in this fashion, it is generally referred to as an ASP (Application Service
Provider).

The ASP approach is problematic for CAD software, however. One diffi-
culty is the size and scope of the software. CAD programs tend to be very large
and complex. They have a great deal of functionality and capability that is ex-
pected to be useful for a broad range of users. This sophistication tends to guar-

Other books

Criminal Pleasures by Darien Cox
Destiny Doll by Clifford D. Simak
Summer Kisses by Theresa Ragan, Katie Graykowski, Laurie Kellogg, Bev Pettersen, Lindsey Brookes, Diana Layne, Autumn Jordon, Jacie Floyd, Elizabeth Bemis, Lizzie Shane
Tangled Web by Jade C. Jamison
Falling by Design by Lind, Valia
The Truth About My Bat Mitzvah by Nora Raleigh Baskin
Leonard by William Shatner
Pure & Sinful (Pure Souls) by McRae, Killian