|
Note:
At the end of the chapter there is a list of software resources and
exercises. Three dimensional visual spatial navigation and modeling
is understood through experience and reflection on that experience.
It is recommended that you use the HTML version on the CD with animated
GIFs and the free programs provided.
Computer Aided Design (CADesign) did not evolve from drafting even if both serve as design tools and the processes are confused by most. Designing with a computer by creating models in multidimensional space requires very different procedures, processes and rules than traditional drafting. The CADesign processes are as different from the drafting processes as a pencil is from a computer. The CADesign system uses digital media to create a precise mathematical model in multidimensional space and then create a flat projection from that model in order to produce an accurate set of paper drawings with a plotter. Yet many people continue to use CADrafting which is only a substitute for paper and pencil and nothing more and reject the computer's capabilities, dismissing the advantages of multidimensional space as too complicated. However, as the power of the PC is increasing, CADesign technology is prevailing, particularly with a new generation of computer users, pointing to the eventual extinction of CADrafting.
Most of the training given in CADesign is almost always based on learning the user interface. In reviewing thirty five CAD textbooks on Autodesk's AutoCAD software application, each text book began by stating that the user should consider the computer screen to be a piece of paper. None of the textbooks gave anymore than a history of the development of AutoCAD commands. None of the textbooks demonstrated how to solve necessary engineering calculations by doing geometrical constructions. Most of the textbooks consisted of exercises for each command, but they only dealt with two dimensional applications. Yet none of the exercises took into account the rules of drafting and the drafting specifications for the creation of paper drawings. None of the textbooks offered a systematic approach to creating models in Cartesian space and then being able to use the models to create paper drawings.
In the digital world no one has ownership and the idea of product is being replaced with the idea of service. This is really not much different than the actuality of business today. Most people who conduct business do not own patent rights or copyrights but are simply providing a service. The overwhelming efficiency and convenience of CADesign will promote the development of direct manufacturing. Consider the following future scenario. Choose an object that you want from swarms of cyberbody information. The object will modify itself to suit your needs and directly manufacture itself. Materials will be recycled. This will be a reproduction service having little or nothing to do with ownership of the original design, tooling and or production facilities. The design and production processes will become self modifying. How then can one judge who owns a patent or copyright to a design created by automated processes. Businesses of the future will be digital structures called Virtual Networked Organisations (VNOs), organic growth models featuring no central control or job descriptions. [ For further study on the subject of VNOs, please refer to the paper: "Management and Virtual Decentralised Networks: The Linux Project" by George N. Dafermos, First Monday, volume 6, number 11 (November 2001), URL: http://firstmonday.org/issues/issue6_11/dafermos/index.html ]
Because of its application value to design and drafting, CADesign software applications continue to be some of the most expensive and profitable personal computer software in the world. The profit in CADesign software is second only to operating system software. At the start of the PC revolution in the United States, AutoCAD software by Autodesk became the de facto standard for many years in personal computer computer aided design software and was second to Microsoft in profit measured in billions of dollars. Profit however is not the reason to study CADesign. Multidimensional modeling and synthetic simulation are some of the most challenging and important technologies in the field of computer software.
The importance of computer modeling / CADesign is only understood by a few people who have been in the field of manufacturing and production involving the application of numerical control (NC) machines or other digitally controlled processes. Studies made about the development of flexible automation show that multidimensional and accurate digital data and speed of processing is the limiting factor in the design, development, manufacturing and implementation of a cycle of new devices. The length of this cycle was critical to the US Air Force who needed a new fighter plane to fight a jungle war in Vietnam. The lead time was 5 to 7 years for the development of a fighter. Acquiring the data needed for the NC equipment and the associated tooling to assemble the fighter were the bottleneck in development. It is this author's opinion and experience that the big four companies of the US military industrial complex have blocked the development of small, just in time manufacturing units and flexible manufacturing, because this type of development threatens their combined monopoly on the manufacturing of military equipment. As the power of personal computers continues to increase, so does the value of virtual models. Virtual models will quickly be pushed to the higher level of synthetic models. Automatic digital design agents capable of design verification and design modification for conservation of materials will become available. Three dimensional sub micro printing will create nano machines and thin film flexible digital devices.
Modeling
systems of the future will not be used to create paper drawings but
the actual objects of design. The modeling systems will need to be
much more accurate than current systems and to be free for peer review
and modification.
Theoretical orientation includes the history of the Cartesian coordinate system, the basic theoretical concepts behind the Cartesian modeling system, and definitions of the Cartesian coordinate system. Also covered in this section are a digital learning approach, para-solids modeling kernels, Constructive Solid Geometry (CSG), and Function Representation (F-rep).
The Cartesian coordinate system is procedural method used to describe the dimensions of a synthetic space. The Cartesian coordinate system is attributed to/documented by Rene Descartes (1596-1650).
The natural process of learning involves associating new things to something that is familiar or looks similar. Visually a line looks the same on a piece of paper as it does on a computer screen. The comparison of a line on a piece of paper and on a computer screen is the same as the comparison of a person who is dead and a person who is alive. Please do not think that you will save time by scanning the dead lines from paper drawings into digital alive lines on a computer screen. This is much like trying to raise the dead. Yes, all of the paper drawings you have are a thing of the past and need to be made into models. The results of scanner / raising the dead will be nightmarish zombies creating manufacturing horror stories equal to the B grade movie "Night of the Living Dead". Remember the letter D in the acronym CAD is for Design, not drafting. Thinking about using the computer screen as a piece of paper is approaching the computer from a 2D drafting paradigm instead of 3D modeling, design and simulation paradigm. So please resist the natural tendency to think of the the computer screen as a piece of paper. Please think of the computer aided design system as a cybership named CADesign and the screen, as a windscreen, the face shield of CADesign through which you can travel the vast reaches of multidimensional space. Refer to the CADesign's process as modeling and the results as a model. A drawing is limited 2D lines and paper attempting to fake 3D. If you are drawing with a computer then you are using a paper design process that does not offer the advantages of the digital design processes. A person, who is using a calculator instead of CADesign's systems, drawing fake dimensions on a paper screen, is not clear on the basic concepts of using digital technology and therefore cannot see nor use the incredible mathematical intelligence of CADesign's systems that awaits their fingertips. Design calculations can be done easily by using constructive modeling (the intelligence of CADesign's systems) in multidimensional space. By watching the calculations unfold before your eyes, there it is on CADesign's windscreen if you dare to explore constructive modeling solutions for a needed design calculation. The use of constructive modeling on CADesign's windscreen is a system of using math visually. The proper use of CADesign's systems allows you to access CADesign's mathematical intelligence which mentors you in proper design replacing years of tedious mathematical training. CADesign's command and control systems has in line mathematical functions for all other calculations that can not be solved constructively. CADesign's sixteen place internal results does not need to be rounded off for the human operator. The hand typed input from the eight place display of a hand held calculator is some kind of a cruel joke. A designer/engineer at a CADrafting workstation (a CPU with multiple parallel processing floating point math units) using a pencil, pad of paper and a hand held calculator for their design calculations is sadly unaware of the joke.
An open procedural history or list of commands to create an entity is usually much more compact than the completed model and is extremely important to the migration of digital data to other systems. Furthermore, if constructed properly, it contains all the information that is needed for the final geometry, including the representations of solidity and volumetrics. It has long been known that such a historical list (actually a tree) of commands is a valid model in its own right. The highly accurate input that forms an entity's history that can be used to adjust the level of detail, and answer the same sort of questions as the final model provides (e.g., is this point inside or outside the solid?) without actually constructing a boundary model for visual representation at all. The substantially significant advantages in the use of procedural history include providing a robust data structure providing stability and verifiable process procedure and accuracy. Making a boundary based representation model is complicated, and inevitably inaccuracies creep in; in particular, the edges of a boundary model often deviate slightly from the surfaces that they are bounding. It is extremely difficult to stop these errors from affecting subsequent calculations. On the other hand, working directly from the history with what we will refer to as a Constructive Solid Geometry (CSG) model, we are using the 'raw ' input and geometry. The ACIS and Parasolid modeling kernels of course use mathematical functions; however it is anyone's guess what functions are used because the source code is not open for peer review. Furthermore the vendors implement the kernels differently. Most do not retain any history at all, but fool their clients into thinking they are using "solids" and CSG when they are not. Therefore without a history or a CGS procedural tree, most of the models being created on most current modeling systems are dependent on the system that created them and are subject to being lost when any of the complex parts of the original system change. It is a sad fact that most all of the 3D models without a history of procedures or originating input could be useless within as little as one to five years and, without a doubt, will not have any value in fifty. A procedural history of the construction of 3D models is of key importance to verify your 3D models, share your models between systems and be able to migrate the 3D models to future systems, thus protecting your investment of time and labor in creating the models. In the diagram
below, we can see the six CSG primitives, upon which Boolean operations
can be performed in CADesign.
Solid modeling programs that have a proven set of mathematical operations and retain a history of the mathematical operations and other procedures stored in a CSG tree (that can be traversed and modified by the users to verify the results) are recommended for many reasons. The following is an example of the need to verify data using a CSG tree. The three-quarter view and plan view diagrams below of a CSG tree of a solid model show the model's primitives on a round pad, and the Boolean operations performed on the primitives are shown on a binary fork in the branches of the CSG tree. There are a total of nine primitives and eight Boolean operations. The
model's primitives are made of eight cylinders and one cube. Starting
from the top left moving to the right and down in the bottom left
diagram, the following describes the union and subtraction of
the first four primitives. In the first two sets of cylinders
with one horizontal and one vertical cylinder in each set, the
horizontal and vertical cylinders in each set are joined together
with a union operation to form two solid cylindrical plus symbols.
The small diameter shape is subtracted from the larger diameter
shape to form a hollow shape that resembles two sections of pipe
cut and welded together to form a plus symbol.
Theoretically
with a proven set of given mathematical operations, changing the
order of operations will always give the same mathematical results.
However if you look closely at the hidden view diagrams above
of just the top part of the CSG tree that has five primitives
and four Boolean operations, you will notice that the one on the
left has different operations from the one on the right. The one
on the left has two Unions (U) and a Subtraction (S), whereas
the one on the right has two subtractions and one union, in the
first three operations. You will also notice the last/fourth operation
(at the bottom of the tree), a subtraction of a cylinder, leaves
an opening allowing you to see inside both of them. You will see
the hidden view of the one on the right confirms that the model
is not correct. Using the wire frame views of the models, you
will be able to see in the diagram below that the error actually
starts with the union operation previous to this one, but you
cannot see the error in the hidden view above. The modeling operations
of the one on the right is a more natural order of operations,
using the subtraction operations first to create horizontal and
vertical sections of pipe and then a union to join them together.
However, this order of operations creates an error as seen above.
Four
wire frame visualizations of solid models are shown above. The
first wire frame visualization of two tubes welded together starting
at the top left of the diagram is the result of subtraction of
a two small cylinders from two large cylinders creating two tubes
followed by the union of the two tubes into the geometric shape
of a plus, and the wire frame visualization clearly shows an error.
The second wire frame at the top right shows the subtraction of
a fifth large cylinder through the center of the plus shape and
clearly shows that subsequent operations carry the error forward,
and the error grows. The third wire frame visualization at the
bottom left is the result of the union operation of two large
cylinders and two small cylinders into a large and small plus
shape followed by the subtraction of the small plus shape from
the large shape, and it is clear there is no error. The fourth
wire frame view, bottom right, is the result of the subtraction
through the center of the plus shape by a large cylinder and clearly
shows that there is no error. Again this type of error due to
change in order of procedures is clearly very wrong. The software
is quite flawed. In the future world of direct manufacturing,
this type of error will be unacceptable and must be discovered
by design checking agents.
Note: Do not assume your modeling to be accurate. The example above shows that without understanding complex mathematics, you can visually see the error in the model. The power to visually check complex mathematical models is one of the greatest benefits of using CADesign. The solid models in the examples above were created using AutoCAD Rel. 12 software by AutoDesk with Advance Modeling Extensions (AME). AME is the solid modeling extension of AutoCAD Rel. 12 and was one of the very few commercially available solid modeling programs. AME and the CSG tree were dropped by AutoDesk in Rel. 13. However, AutoDesk still claims that AutoCAD Rel. 13 and beyond are "Solid Modelers" and that simply is not true in this author's opinion.
HyperFun Project (http://www.hyperfun.org) is a free software development project for functionally based shape modeling, visualization and animation. The project is based on a so-called function representation (F-rep) (http://wwwcis.k.hosei.ac.jp/~F-rep/ )of geometric objects and supporting software tools built around the HyperFun language. In F-rep, complex geometric objects are constructed using simple ones (primitives) and operations on them. Any object in three-dimensional space is defined by a function of point coordinates F(x,y,z). This continuous real-valued function is positive inside the object, negative outside, and takes zero value on its surface. Similarly, a multidimensional object is defined by a function of several variables F(x1, x2, x3, ..., xn). For example, an object changing in time can be defined by F(x,y,z,t) with t representing time. In HyperFun, the functional expressions are built with using conventional arithmetic and relational operators, standard functions, built-in special geometric transformations and F-rep library functions. HyperFun
is the next step in CADesign development, as it also allows the
mathematical definition of any number of attributes of an object
such as materials, color, texture, hardness, softness and so on.
In creation of a CAD system with HyperFun, the mathematical modeling
will be retained apart from the visual representation.
Mathematical representation being separated from visual representation
and the processes open allow the mathematical representation to
be done on any platform now or in the future. HyperFun has been
in academic research and development for many years, but the application
side of development has just started. At present, HyperFun modeling
tools are still limited. There is not at this time a robust user
interface available. However development plans to create synthetic
CAD are underway and actual development should start soon.
In this section, we will discuss technical issues such as the definition of the basic elements of a CADesign system, CAD models, normal / natural orientation, mirror writing, CADesign conventions in Cartesian space, wire model viewing, User Coordinate System (UCS) icon.
A robust computer based modeling system creates a mathematical model not a drawing. Therefore, you need the latest and greatest computer you can lay your hands on. A plotter is necessary to output paper drawings. You should always have a small printer for data dumps to check files and operations. Do not purchase a tablet. You only need a keyboard and a mouse. High resolution screens are not recommended, because the lines on the hi-res screen become very thin and cause eye strain. I recommend the Linux operating system and Varkon CAD software (http://www.microform.se) as your best purchase. For rendering software, POV-Ray (http://www.povray.org) is great. However it uses the left hand rule Y up, but uses the right hand rule for rotation. You need to set up a transformation of the data to use POV-Ray with your CADesign models which will be right hand rule Z up. A review of Linux CAD showed it to be extremely poor. Also, get a really good chair and make sure you have good support for your arms.
IGES (Initial Graphics Exchange Standard) and STEP (International
Standard for the Exchange of Product Model Data) are standards
for the sharing of modeling data. However they are closed standards
and, in the IGES case, limited and, in the STEP case, not implemented.
So there is no standard data file format used in the CAD industry
for accurate three dimensional mathematical (CSG) models which
can be used to transmit the logical structure of the model,
but only disconnected surface data. The Sazaedo model is
a historical digital preservation work. Therefore, mathematical
definitions, accuracy of the model and a history of the logical
structure of the building are important information from the historical
preservation viewpoint. Only the CSG based entities will
be able to survive over time in the current CADesign environment.
The AutoCAD DXF, a DIF type file format, that has become a de
facto standard for the export and import of three dimensional
polygon surfaces. The DIF file format is type of binary file format.
It is binary in that it has two lines of text for each data record.
The first line of text is a code that tells what type of data
is in the second line of text. Examples: Code 0 is the
start of a new entity. Code 10 is the start point of a line. Code
11 is the end point of a line. Most CAD files have data tables
of various settings for the operation of the system. The settings
necessary to setup AutoCAD for various applications can be extensive.
AutoCAD takes 250 keystrokes for the average setup of a given
application.
In
theory we can define and use any orientation for modeling because
mathematical transformations are so simple and easy to do. Mathematical
theorists and some computer scientists insist orientation makes
no difference if the orientation is first defined. This is true
in theory but not in practice. Usage reveals that humans naturally
establish one normal orientation and can not think and work in
different orientations without experiencing confusion and making
mistakes. The use of orientations other than the normal orientation
in theoretical work obscures understanding and has even been used
as a form of encryption.
Our
hands are mirrored structures of each other, and yet there are
only a few exceptional people who can easily handle or adjust
to a stated orientation were the input or output of a system is
mirrored and rotated without making mistakes. It is interesting
to note that at an early age some children are naturally ambidextrous
and will easily handle writing with both hands and can mirror
write with either hand. To read what they have written, one must
hold the writing up to a mirror. However the children see no difference
at all, until it is pointed out to them and they are taught the
difference. Leonardo Da Vinci, an Italian Renaissance artist persecuted
for his knowledge and creative ideas, protected himself by keeping
his notes and journals from being easily read by mirror reading
and writing.
To understand how important the use of proper natural / normal orientation is please take out a piece of paper and pencil try doing the following tasks. First, try writing with your left hand if your a right handed person. If you are left handed person, you do not need to do this because you live in a world of devices created for only right handed people. Now please try some mirror writing with both the left hand and right hand for a few minutes. Once you have tried the ambidextrous exercises, you will understand how easy it is to get confused and how hard it is to work in a different orientation. When possible, it would be better if we all work with an established and agreed upon orientation, because the confusion in trying to use different orientations is very great.
The orientation in this chapter on modeling systems uses the Cartesian Coordinate System having X, Y and Z axis with normal / natural orientation. Normal / natural orientation is right handed where: the X axis is positive movement to your right, the Y axis is positive movement to the left , XY axis create a plane referred to as "the plane" or "the ground plane" that is normal to the pull of gravity, and the Z axes is positive movement in the upward direction, having vertical orientation to the pull of the gravity of the earth and where the positive Z direction is against gravity. This is the normal and natural orientation used in drafting, and CADesign, because it is the orientation used in the fields of aviation, engineering, architecture and manufacturing for the last four centuries.
Unfortunately
some people do not have the ability to visualize wire frames images
in 3D at all. Working on wire frame images from the bottom view
is not recommended, because it causes visual confusion as we shall
see below. In working with wire frame, one should use 3/4
views, which are 3D views, for designing and editing. Those who
attempt to design in "plan views" (views from the top) or
"elevation views" (views from the side) are not working in 3D,
but rather in 2D. They will have difficulty selecting a
vertex, because they will not be able to tell if the vertex is
the one near to them or far from them. However, plan and elevation
views are useful for checking the model. The following example
shows the visual problems associated with viewing a 3/4 view wire
frame.
Proper normal orientation is both the visual and theoretical frame work on which you create a model. Modeling with wire frame visualizations of complex mathematical models is confusing at best and not even possible, if a standard normal orientation and some type of visual cue for orientation is not used. The "User Icon" is a dynamic symbol that is a visual cue for the user as to the orientation of the User Coordinate System relative to the World Coordinate System, the model and the user's view. The User Icon indicates the location of 0,0,0 or the point of origin for the User Coordinate System, the general orientation of the User Coordinate System and the positive and negative orientation of the Z axis in relation to the screen as shown below. Typically the User Icon is not used in computer drafting which is 2D . This is unfortunate because the ability to have access to a temporary point of origin / a user origin point is extremely useful in designing in 2D. The default state for the User Icon in AutoCAD is "on". It has been by the author's experience that 95% of CAD installations do not use the User Icon; it is turned off, as the users do not understand its function.
Has the
visual cues of the User Icon helped you to tell which wire frame
you are viewing from the bottom? Working on wire frame
images from the bottom view is not recommended, because it impairs
the user's ability to visualize the 3D wire frame model without
confusion.
Below are images that show only six of the possible eight states of the User Icon's visual cues. Two images are missing. Which ones are missing? Can you list all eight states of the UCS icon? Read the three numbered statements above again very carefully and you should be able to figure it out.
Three points define a plane, a point and a line define a plane, and two lines define a plane - are basic Euclidean axioms used in plane geometry. Using the axiom two lines define a plane, we will create two 3D models of the X, Y and Z axis of the Cartesian system - one with a sheet of paper and the second with our right hand.
The above 3D models, one with paper and pencil and the other with the right hand, are anthropomorphic based orientation for 3D modeling and viewing - that is most efficient for humans. In fact, if you do not use this view, you probably will not be able to model in 3D. This orientation is called "the right hand rule" with the normal natural orientation of Z up (Zup). However Zup is the not the natural orientation for some people like programmers. They work visually in a virtual world of a computer screen where the forward movement of the mouse in the real world is transferred to an upward movement of the mouse cursor. So the natural orientation for them is Y up (Yup). The difference in orientation between the Yup people and the Zup people causes conflict. Orientation confusion in the real world where gravity is a serious matter can lead to serious mistakes.
Virtual world orientations are in conflict with the real world.
Unfortunately the orientations used in virtual worlds are not
just the relatively simple Zup Yup conflict of a 90 degree rotation,
but the virtual orientation is often mirrored from right to left
as well. Programmers who spend most of their time viewing and
navigating the abstract virtual world of cyberspace and very little
time building physical things in the real world of gravity are
not aware of right handed orientation or the need for a person
modeling to read wire frame models with normal views that match
aviation and engineering standards. Such programmers have written
all of the basic Open GL libraries (http://www.opengl.org) with the virtual world
orientation of left hand rule and Y up. Novice programmers who
are not aware of the problem will of course write simple programs
using the the left hand rule Y up orientation of the Open GL libraries.
A very famous program, POV-Ray, uses the left hand rule Y up orientation
and the right hand rule for vector rotation. VRML (Virtual Reality
Modeling Langauage) uses the orientation of right hand rule and
Y up, and the HyperFun program began life with the left hand rule
Y up orientation. HyperFun, looking toward synthetic simulation,
did not want to be in conflict with the real world and modified
their orientation. The Y up (Yup) or Z up (Zup) problem is the
most difficult to change in computer science because all the books
about Open GL talk about the Z buffer as a depth buffer, which
has become standard nomenclature for the virtual world. Open GL
libraries were given the orientation left hand rule with X as
width, Z as depth and Y as vertical height. These alternate views
are placing serious barriers to the visual bridge between the
real and virtual worlds and causing a great deal of disorientation
and confusion. Mirrored and rotated systems, including VRML standard
language and POV-Ray, come from not trying to find a first principle
with regard to normal orientation in the real world. People creating
such systems usually start out by not being aware that their virtual
world orientation is in conflict with real world orientation conventions
of the last 400 years in engineering, manufacturing, and aviation.
Programmers continue to use the left hand rule which is a mirror
of the right hand rule and/or a Yup orientation which is a 90
degree around the X axis from the real world normal orientation
of Zup.
The following is a quote from the POV-Ray web site:
The X, Y axis divides a given space into four sections, called quadrants. The addition of the Z axis divides the quadrants to create octants.
In this section we discuss the subject of Cartesian navigation or viewing in-depth. Examples below will show you how to view and change views of multidimensional models in the virtual space created by the Cartesian coordinate space system on the windscreen of your computer modeling system. ("Cartesian's windscreen" where Cartesian is the name of a new imaginary multidimensional spacecraft to be constructed.) We also present an imaginary user interface to describe the subject of viewing in-depth in the text below, as if it were an existing command where the use of two letter acronyms is the keyboard entry which brings on screen "Cartesian's" visual interactive interface for the command mode. The ease and skill with which one can view the development of a 3D model is an essential part of being able to model in Cartesian space. A person's modeling ability is only limited by their ability to navigate Cartesian space. Exploration and development of effective navigational systems for Cartesian space has just begun. The complete user control and ease of navigation in Cartesian space is the most important aspect of multidimensional modeling.
We will begin with an outline of all of the parts necessary for a robust Cartesian based navigation system and then discuss the addition of a multidimensional interface to navigation systems. Modeling systems must define and keep track of at least two Cartesian coordinate systems, the world and a user view. Most robust systems track and use at least four to five different types of coordinate systems:
The World Coordinate System is a single point of origin / base / handle / for the entire model and for the other coordinate systems. However it is possible to create a simple system using only World and User View Coordinate System(s). An example of this type of system is the HyperFun polygonizer; such systems most usually depend on mathematical definitions and are important teaching tools that provide an intuitive feel for the relationship between math, geometry, programming and computer visualizations. These types of systems are not useful for modeling large complex objects or designs, because they are text editor based. Viewing from only one View Point (VP) and the point of focus or the View Target (VT) will allow us to easily see and verify the results editing a single simple object using a text editor, as shown in the HyperFun example below. To do visual based editing rather than text based editing, one needs the other coordinate systems as well.
HyperFun (http://www.hyperfun.org) is a simple system
of navigation for simple constructions. However, in concept, the system
can mathematically model any level of detail.
|