Beruflich Dokumente
Kultur Dokumente
Design
Project Report : Applications of
CAD in Computer Science
Submitted By:
Nishchay Sandhu 95/EC/14
Neeraj Kumar 94/EC/14
Lakshay Kumar 78/EC/14
Contents
What is CAD?
Here let's consider what we mean when we say computer aided design itself. We
propose the following definition:
This definition encompasses all of the types of work that is subsumed under the CAD
umbrella, in all the various areas of application.
This definition implies that simulation is a far more important part of CAD than
design description. I believe that this is true. Also, computer graphics has nothing at
all to do with CAD, except as the servant of design, simulation, or presentation.
To best fulfill the definition of CAD given above, a CAD system should be a
computer system that allows modeling of physical systems. To date, modeling has
been done almost entirely with hard-coded dedicated systems usable only for one
form of design: there's not a lot in common between ANSYS and SPICE. But, after
all, the physical universe is a unified place with common rules, and it's not at all clear
that one should have to write tens of thousands of lines of FORTRAN just to get
started on a general-purpose modeler.
CAD systems to date have developed into general-purpose tools that understand
geometry. From MacDraw to Medusa there is a continuum of knowledge about
geometry and operations on either 2D or 3D primitives. What knowledge of reality
exists is usually welded on as an afterthought (the very word attribute indicates how
reality takes a second seat to geometric description).
A typical CAD system offering has a geometry processor with attached database,
providing a common design database. Analysis and simulation sits on top of this
core, embodied in a host of separate programs which intercommunicate, if at all, only
by passing information through the database. If one wants to create a new analysis
program, well, we have a FORTRAN compiler and library that lets you read the
database.
Need it be this way? Can we not imagine a geometry-based CAD system evolving
into a system which describes physical objects, and knows about the various ways in
which they interact (and can be taught about interactions as we define new forms of
geometry today)? Such a system would encompass all of what a CAD system does
today, and would provide a common user interface and model for working with reality
represented in a database.
As computers become more powerful, and tools evolve that allow us to build larger
and more complex software systems on them, the artificial barriers that keep us
from modeling the real world will fall. Finding the ways to do this best, and to build
the systems that will be used for this is what computer science is really about.
Solving real world problems on real world models is what a software like CAD
provides as a solution. The evolution of computers throughout the ages has indeed
opened new doors and possibilities for CAD softwares to model the real world more
accurately and with a lot more precision.
Thus, the growth of applications in CAD owes a whole lot to the development and
growth in the field of computer science
Applications in Computer Science
These softwares make extensive use of programming languages in their API. The
availability of flexible IDEs mean that a wide range of programming languages can be
used to program in these softwares.
AutoDesk Revit
Autodesk Revit provides a rich API that can be used to customize the products
existing features or by adding entirely new ones. You can automate repetitive,
time-consuming tasks and extend core features without leaving the Autodesk Revit
environment. The API can be used to create custom tools and features that plug
directly into Autodesk Revit, extending its functionality.
Autodesk Revit has a .NET API which means you can use any of the .NET
compliant programming languages (C#, VB.NET, F#, etc.) to develop a plug-in.
While each language has its own relative benefits, C# is the natural choice for this
guide: it is easy-to-learn, easy-to-use and leverages the power of the underlying
.NET Framework. As you become comfortable with the content of this guide - and
more proficient with C# - youll be able to move on to solving more complex
problems with the language.
Despite C# being the natural choice, sometimes there are limitations outside your
control of what languages you can work with within your company. The
programming language VB.NET takes a very close second place to C#, so to
accommodate readers looking to work with VB.NET in Autodesk Revit; we have
provided you all the lesson code in VB.NET.
AutoCad