Wednesday, December 29, 2010

3D computer graphics software

Uses

3D modelers are used in a wide variety of industries. The medical industry uses them to create detailed models of organs. The movie industry uses them to create and manipulate characters and objects for animated and real-life motion pictures. The video game industry uses them to create assets for video games. The science sector uses them to create highly detailed models of chemical compounds. The architecture industry uses them to create models of proposed buildings and landscapes. The engineering community uses them to design new devices, vehicles and structures as well as a host of other uses. There are typically many stages in the "pipeline" that studios and manufacturers use to create 3D objects for film, games, and production of hard goods and structures.
[edit]
Features

Many 3D modelers are general-purpose and can be used to produce models of various real-world entities, from plants to automobiles to people. Some are specially designed to model certain objects, such as chemical compounds or internal organs.

3D modelers allow users to create and alter models via their 3D mesh. Users can add, subtract, stretch and otherwise change the mesh to their desire. Models can be viewed from a variety of angles, usually simultaneously. Models can be rotated and the view can be zoomed in and out.

3D modelers can export their models to files, which can then be imported into other applications as long as the metadata is compatible. Many modelers allow importers and exporters to be plugged-in, so they can read and write data in the native formats of other applications.

Most 3D modelers contain a number of related features, such as ray tracers and other rendering alternatives and texture mapping facilities. Some also contain features that support or allow animation of models. Some may be able to generate full-motion video of a series of rendered scenes (i.e. animation).

List of CAx companies

List of CAx companies and their software products. Software using computer-aided technologies (CAx) has been produced since the 1970s through to the present for a variety of computer platforms. This software may include applications for Computer-Aided Design (CAD), Computer-aided engineering (CAE), Computer-aided manufacturing (CAM) and Product Data Management (PDM).

The list is far from complete or representative as the CAD business landscape is very dynamic: almost every month new companies appear, old companies go out of business, companies split and merge. Sometimes some names disappear and reappear again.

This list is sorted by company name. Refer to: Category:Computer-aided design software , Category:Computer-aided manufacturing software and Category:Computer-aided engineering software for lists sorted by software name .


Electronic design automation

Electronic design automation (EDA or ECAD) is a category of software tools for designing electronic systems such as printed circuit boards and integrated circuits. The tools work together in a design flow that chip designers use to design and analyze entire semiconductor chips.

This article describes EDA specifically with respect to integrated circuits.

Before EDA, integrated circuits were designed by hand, and manually laid out. Some advanced shops used geometric software to generate the tapes for the Gerber photoplotter, but even those copied digital recordings of mechanically-drawn components. The process was fundamentally graphic, with the translation from electronics to graphics done manually. The best known company from this era was Calma, whose GDSII format survives.

By the mid-70s, developers started to automate the design, and not just the drafting. The first placement and routing (Place and route) tools were developed. The proceedings of the Design Automation Conference cover much of this era.

The next era began about the time of the publication of "Introduction to VLSI Systems" by Carver Mead and Lynn Conway in 1980. This ground breaking text advocated chip design with programming languages that compiled to silicon. The immediate result was a considerable increase in the complexity of the chips that could be designed, with improved access to design verification tools that used logic simulation. Often the chips were easier to lay out and more likely to function correctly, since their designs could be simulated more thoroughly prior to construction. Although the languages and tools have evolved, this general approach of specifying the desired behavior in a textual programming language and letting the tools derive the detailed physical design remains the basis of digital IC design today.

The earliest EDA tools were produced academically. One of the most famous was the "Berkeley VLSI Tools Tarball", a set of UNIX utilities used to design early VLSI systems. Still widely used is the Espresso heuristic logic minimizer and Magic.

Another crucial development was the formation of MOSIS, a consortium of universities and fabricators that developed an inexpensive way to train student chip designers by producing real integrated circuits. The basic concept was to use reliable, low-cost, relatively low-technology IC processes, and pack a large number of projects per wafer, with just a few copies of each projects' chips. Cooperating fabricators either donated the processed wafers, or sold them at cost, seeing the program as helpful to their own long-term growth.

Hackerspace

A hackerspace or hackspace (also referred to as a hacklab, makerspace or creative space) is a location where people with common interests, usually in computers, technology, or digital or electronic art can meet, socialise and/or collaborate. A hackerspace can be viewed as an open community labs incorporating elements of machine shops, workshops and/or studios where hackers can come together to share resources and knowledge to build and make things.[1]

Many hackerspaces participate in the use and development of free software and alternative media and can be found in infoshops or social centers.

The specific activities that take place at hackerspaces vary from place to place. In general, hackerspaces function as centers for peer learning and knowledge sharing, in the form of workshops, presentations, and lectures. They also offer social activities for their members, including game nights and parties. They also provide space for members to work on their individual projects, or collaborate on group projects with other members. Hackerspaces may also operate computer tool lending libraries.[2]

The building the hackerspace occupies is important, because it provides infrastructure that members need to complete their projects. In addition to space, many hackerspaces provide power, servers and networking with Internet-connectivity, audio equipment, video projectors, game consoles, electronics for hacking, and various tools for electronics fabrication and building things.[3]

Fab lab

A Fab Lab (fabrication laboratory) is a small-scale workshop with an array of computer controlled tools that cover several different length scales and various materials, with the aim to make "almost anything". This includes technology-enabled products generally perceived as limited to mass production.

While Fab Labs have yet to compete with mass production and its associated economies of scale in fabricating widely distributed products, they have already shown the potential to empower individuals to create smart devices for themselves. These devices can be tailored to local or personal needs in ways that are not practical or economical using mass production.


The fab lab program was started in the Media Lab at MIT, a collaboration between the Grassroots Invention Group and the Center for Bits and Atoms (CBA) at the Massachusetts Institute of Technology, broadly exploring how the content of information relates to its physical representation, and how a community can be powered by technology at the grassroots level. While the Grassroots Invention Group is no longer in the Media Lab, The Center for Bits and Atoms consortium is still actively involved in continuing research in areas related to description and fabrication but does not operate or maintain any of the labs worldwide (with the exception of the mobile fab lab).

The fab lab concept also grew out of a popular class at MIT (MAS.863) named "How To Make (Almost) Anything". The class is still offered in the fall semesters.

There are currently (July 2010) 45 labs in 16 countries:[1]


Direct digital manufacturing

Direct digital manufacturing sometimes calls Rapid, Instant, or On-Demand Manufacturing is a manufacturing process which creates physical parts directly from 3D CAD files or data using computer-controlled additive fabrication techniques without human intervention, also called 3D printing or rapid prototyping. When a small low cost device is used it is also called desktop, or personal manufacturing. The primary distinction between the use of other terms to describe 3D printing is that additive freeform fabrication is solely intended to describe a 3D printed part that is to be used as the final product with minimal post-processing. Whereas other terms used to describe rapid prototyping, additive freeform fabrication and the like are simply alternative ways of describing the 3D printing process itself.

Additive manufacturing is also referred to as Additive Freeform Fabrication, Rapid Prototyping, Layered manufacturing or 3D printing. This technique physically constructs or manifests 3D geometries directly from 3D CAD. The history of the process begins in the mid-1980s. It was originally known as Rapid Prototyping because the technology was used to make prototypes of parts without having to invest the time or resources to develop tooling or other traditional methods. As the process and quality controls have evolved, the market for additive manufacturing has grown to include production applications.

Additive Manufacturing or Direct Digital Manufacturing is an extension of Rapid Prototyping to real parts for use as final products (not prototypes). As of 2010, the equipment has become competitive with traditional manufacturing techniques in terms of price, speed, reliability, and cost of use. This has led to the expansion of its use in industry. There has been explosive growth in the sales and distribution of the hardware. A new industry has emerged to create software to enable more effective use of the technology, one use of which is the customization of products for consumers. The number of materials that the industry uses increased greatly in the decade to 2007.[1] Modern machines can utilize a broad array of plastics & metals.

As the speed, reliability, and accuracy of the hardware improves, additive manufacturing may replace or complement traditional manufacturing in creating end-use products. One advantage often cited is that Additive manufacturing eliminates much of the labor associated with traditional manufacturing. Another often cited example is that production can make any number of complex products simultaneously so long as the parts will fit within the build envelope of the machine.

One of the main technologies used for additive manufacturing is Selective laser sintering, a process which uses laser energy to fuse material to create a solid object. Another technology is called Fused Deposition Modeling (FDM), which is commonly used for rapid prototyping but is becoming more and more popular in direct digital manufacturing.[2]

The use of the technology is likely to grow. In 2007 a sub-$4,000 machine was presented. 3D printing bureaus have sprung up around the globe. The RepRap machine is a do-it-yourself rapid prototyping machine with limited use except for demonstration purposes, however, the machine is cheap to build and is constructed of commonly available materials.

Self-replicating machine

A self-replicating machine is an artificial construct that is theoretically capable of autonomously manufacturing a copy of itself using raw materials taken from its environment. The concept of self-replicating machines has been advanced and examined by Homer Jacobsen, Edward F. Moore, Freeman Dyson, John von Neumann and in more recent times by K. Eric Drexler in his book on nanotechnology, Engines of Creation and by Robert Freitas and Ralph Merkle in their review Kinematic Self-Replicating Machines[1] which provided the first comprehensive analysis of the entire replicator design space. The future development of such technology has featured as an integral part of several plans involving the mining of moons and asteroid belts for ore and other materials, the creation of lunar factories and even the construction of solar power satellites in space. The possibly misnamed von Neumann probe[2] is one theoretical example of such a machine. Von Neumann also worked on what he called the universal constructor, a self-replicating machine that would operate in a cellular automata environment.

A self-replicating machine is, as the name suggests, an artificial self-replicating system that relies on conventional large-scale technology and automation. Certain idiosyncratic terms are occasionally found in the literature. For example, the term "clanking replicator" was once used by Drexler[3] to distinguish macroscale replicating systems from the microscopic nanorobots or "assemblers" that nanotechnology may make possible, but the term is informal and is rarely used by others in popular or technical discussions. Replicators have also been called "von Neumann machines" after John von Neumann, who first rigorously studied the idea. But this term ("von Neumann machine") is less specific and also refers to a completely unrelated computer architecture proposed by von Neumann, so its use is discouraged where accuracy is important. Von Neumann himself used the term universal constructor to describe such self-replicating machines.

Historians of machine tools, even before the numerical control era, sometimes spoke figuratively of machine tools as a class of machines that is unique because they have the ability "to reproduce themselves",[4] by which they meant the ability to make copies of all of their parts. However, implicit in such discussions is the fact that a human would be directing the cutting processes (or, later, at least planning and programming them) and then assembling the parts. The same is true of RepRaps, which are another class of machines sometimes mentioned in reference to such non-autonomous "self-replication". In contrast, machines that are truly (autonomously) self-replicating are the main subject discussed here.

3D printing

3D printing is a form of additive manufacturing technology where a three dimensional object is created by laying down successive layers of material.[1] 3D printers are generally faster, more affordable and easier to use than other additive manufacturing technologies. 3D printers offer product developers the ability to print parts and assemblies made of several materials with different mechanical and physical properties in a single build process. Advanced 3D printing technologies yield models that closely emulate the look, feel and functionality of product prototypes.

A 3D printer works by taking a 3D computer file and using and making a series of cross-sectional slices. Each slice is then printed one on top of the other to create the 3D object.

Since 2003 there has been large growth in the sale of 3D printers. Additionally, the cost of 3D printers has declined.[2] The technology also finds use in the jewellery, footwear, industrial design, architecture, engineering and construction (AEC), automotive, aerospace, dental and medical industries.

Digital materialization

Digital and computer based languages and processes, unlike the analogue counterparts, can computationally and spatially describe and control matter in a exact, constructive and accessible manner. However, this requires approaches that can handle the complexity of natural objects and materials.

Digital Materialization (DM) [1], [2] can loosely be defined as two-way direct communication or conversion between matter and information that enable people to exactly describe, monitor, manipulate and create any arbitrary real object. DM is a general paradigm alongside a specified framework that is suitable for computer processing and includes: holistic, coherent, volumetric modeling systems; symbolic languages that are able to handle infinite degrees of freedom and detail in a compact format; and the direct interaction and/or fabrication of any object at any spatial resolution without the need for “lossy” or intermediate formats.

DM systems possess the following attributes:
realistic - correct spatial mapping of matter to information
exact - exact language and/or methods for input from and output to matter
infinite - ability to operate at any scale and define infinite detail
symbolic - accessible to individuals for design, creation and modification

Such an approach can not only be applied to tangible objects but can include the conversion of things such as light and sound to/from information and matter. Systems to digitally materialize light and sound already largely exist now (e.g. photo editing, audio mixing, etc.) and have been quite effective - but the representation, control and creation of tangible matter is poorly support by computational and digital systems.

Common place computer aided design and manufacturing systems currently represent real objects as "2.5 dimensional" shells. In contrast, DM proposes a deeper understanding and sophisticated manipulation of matter by directly using rigorous mathematics as complete volumetric descriptions of real objects. By utilizing technologies such as Function representation (FRep) it becomes possible to compactly describe and understand the surface and internal structures or properties of an object at an infinite resolution. Thus models can accurately represent matter across all scales making it possible to capture the complexity and quality of natural and real objects and ideally suited for digital fabrication and other kinds of real world interactions. DM surpasses the previous limitations of static disassociated languages and simple human-made objects, to propose systems that are heterogeneous, interacting directly and more naturally with the complex world

Isosurface

An isosurface is a three-dimensional analog of an isoline. It is a surface that represents points of a constant value (e.g. pressure, temperature, velocity, density) within a volume of space; in other words, it is a level set of a continuous function whose domain is 3D-space.

Isosurfaces are normally displayed using computer graphics, and are used as data visualization methods in computational fluid dynamics (CFD), allowing engineers to study features of a fluid flow (gas or liquid) around objects, such as aircraft wings. An isosurface may represent an individual shock wave in supersonic flight, or several isosurfaces may be generated showing a sequence of pressure values in the air flowing around a wing. Isosurfaces tend to be a popular form of visualization for volume datasets since they can be rendered by a simple polygonal model, which can be drawn on the screen very quickly.

In medical imaging, isosurfaces may be used to represent regions of a particular density in a three-dimensional CT scan, allowing the visualization of internal organs, bones, or other structures.

Numerous other disciplines that are interested in three-dimensional data often use isosurfaces to obtain information about pharmacology, chemistry, geophysics and meteorology.

A popular method of constructing an isosurface from a data volume is the marching cubes algorithm.

Examples of isosurfaces are 'Metaballs' or 'blobby objects' used in 3D visualisation. A more general way to construct an isosurface is to use the function representation and the HyperFun language.

Function representation

In computer graphics the function representation (FRep[1] or F-Rep) is used in solid modeling and volume modeling. FRep was introduced in "Function representation in geometric modeling: concepts, implementation and applications" [2] as a uniform representation of multidimensional geometric objects (shapes). An object as a point set in multidimensional space is defined by a single continuous real-valued function of point coordinates F(X) which is evaluated at the given point by a procedure traversing a tree structure with primitives in the leaves and operations in the nodes of the tree. The points with F(X) >= 0 belong to the object, and the points with F(X) < 0 are outside of the object. The point set with F=0 is called an isosurface.

Winged edge

The winged edge data structure is a data representation used to describe polygon models in computer graphics. It explicitly describes the geometry and topology of faces, edges, and vertices when three or more surfaces come together and meet at a common edge. The ordering is such that the surfaces are ordered counter-clockwise with respect to the innate orientation of the intersection edge. Moreover the representation allows numerically unstable situations like that depicted below.

The winged edge data structure allows for quick traversal between faces, edges, and vertices due to the explicitly linked structure of the network. This rich form of specifying an unstructured grid is in contrast to simpler specifications of polygon meshes such as a node and element list, or the implied connectivity of a regular grid.


[edit]
Pseudocode

Here is a data structure suitable for representing a winged edge. The abbreviation "WE" stands for "Winged Edge".
class WE_Edge {
WE_Vertex vert1, vert2;
WE_Face aFace, bFace;
WE_Edge aPrev, aNext, bPrev, bNext; // clockwise ordering
WE_EdgeDataObject data;
}
class WE_Vertex {
List edges;
WE_VertexDataObject data;
}
class WE_Face {
List edges;
WE_FaceDataObject data;
}

Solid modeling

Solid modeling (or modelling) is a consistent set of principles for mathematical and computer modeling of three dimensional solids. Solid modeling is distinguished from related areas of Geometric modeling and Computer graphics by its emphasis on physical fidelity [1]. Together, the principles of geometric and solid modeling form the foundation of Computer-aided design and in general support the creation, exchange, visualization, animation, interrogation, and annotation of digital models of physical objects.


Computer-aided design

Computer-aided design (CAD), also known as computer-aided design and drafting (CADD), is the use of computer technology for the process of design and design-documentation. Computer Aided Drafting describes the process of drafting with a computer. CADD software, or environments, provide the user with input-tools for the purpose of streamlining design processes; drafting, documentation, and manufacturing processes. CADD output is often in the form of electronic files for print or machining operations. The development of CADD-based software is in direct correlation with the processes it seeks to economize; industry-based software (construction, manufacturing, etc.) typically uses vector-based (linear) environments whereas graphic-based software utilizes raster-based (pixelated) environments.

CADD environments often involve more than just shapes. As in the manual drafting of technical and engineering drawings, the output of CAD must convey information, such as materials, processes, dimensions, and tolerances, according to application-specific conventions.

CAD may be used to design curves and figures in two-dimensional (2D) space; or curves, surfaces, and solids in three-dimensional (3D) objects.[1]

CAD is an important industrial art extensively used in many applications, including automotive, shipbuilding, and aerospace industries, industrial and architectural design, prosthetics, and many more. CAD is also widely used to produce computer animation for special effects in movies, advertising and technical manuals. The modern ubiquity and power of computers means that even perfume bottles and shampoo dispensers are designed using techniques unheard of by engineers of the 1960s. Because of its enormous economic importance, CAD has been a major driving force for research in computational geometry, computer graphics (both hardware and software), and discrete differential geometry.[2]

The design of geometric models for object shapes, in particular, is often called computer-aided geometric design (CAGD).[3]

Graphics tablet

A graphics tablet (or digitizer, digitizing tablet, graphics pad, drawing tablet) is a computer input device that allows one to hand-draw images and graphics, similar to the way one draws images with a pencil and paper. These tablets may also be used to capture data or handwritten signatures. It can also be used to trace an image from a piece of paper which is taped or otherwise secured to the surface. Capturing data in this way, either by tracing or entering the corners of linear poly-lines or shapes is called digitizing.A graphics tablet (also called pen pad or digitizer) consists of a flat surface upon which the user may "draw" or trace an image using an attached stylus, a pen-like drawing apparatus. The image generally does not appear on the tablet itself but, rather, is displayed on the computer monitor. Some tablets, however, come as a functioning secondary computer screen[1] that you can interact with images[2] directly by using the stylus.Some tablets are intended as a general replacement for a mouse as the primary pointing and navigation device for desktop computers.