6 factors to consider while selecting any Algorithm Library

Processing geometric inputs play a crucial role in the product development cycle. Ever since the introduction of complex algorithm libraries, the NPD landscape has changed drastically, and for good. Typically, a well suitable library streamlines the work process by executing complicated tasks using a wide array of functions.

An algorithm library basically works on the principle where it is fed with specific instructions to execute in a way with functionalities customised with it. For example, in manufacturing industry; there is a term known as point cloud library and it holds its expertise in converting millions of point cloud data into mesh models.

There are particular algorithms to perform numerous perplexing tasks. There are platforms that use specific and unique functionalities and programming to get the job done. Manufacturing requirements, end product objectives lay down the necessities for choosing a particular algorithm library. This article sheds a light on 6 key factors to consider while selecting any algorithm library.

Required functionality

Once data has been fed and stored, methods for compressing this kind of data become highly interesting. The different algorithm libraries come up with their own set of functionalities. Ideally, functionalities are best when developed by in-house development team, to suit up in accordance with design objectives. It is a good practice to develop functionalities to address complex operations as well as simple tasks. It is also essential to develop functions which might be of need down the line. In the end, one’s objective defines what functionality laced algorithm library will be in use.  

Data Size and Performance

A huge data can be challenging to handle and share between project partners. A large data is directly proportional to a large processing time. All the investments in hardware and quality connections will be of little use if one is using poor performing library. An algorithm library that allows for the process of multiple scans simultaneously has to be the primary preference. One should also have a good definition of the performance expectations from the library, depending on your application whether real time or batch mode.

Processing speed

Libraries that automate manual processes often emphasize on processing speed, delivering improvements to either the processing or modeling. This allows for faster innovation and often better, yet singular, products. As witnessed in the case of point cloud, the ability to generate scan trees after a dataset has been processed greatly improves efficiency. A system will smooth interface that permits fast execution, greatly reduces the effort and time taken to handle large datasets.

Make versus Buy

This situation drops in at the starting phases of processing. Let us take an example of point cloud libraries. Some of the big brands producing point cloud processing libraries are Autodesk, Bentley, Trimble, and Faro. However, most of these systems arrive as packages with 3D modelling, thereby driving up costs. If such is the case, it is advisable to form an in-house point cloud library that suits the necessities. Nowadays, many open source platforms give out PCL to get the job done which has proven to be quite beneficial.

Commercial Terms

The commercial aspect also plays a vital role in while choosing an algorithmic library. Whether to opt for single or recurring payment depends upon the volume and nature of the project.  

There are different models to choose from, if one decides to go with licensing a commercial library:

A: Single payment: no per license fees, and an optional AMC

B: Subscription Based: Annual subscription, without per license fees

C: Hybrid: A certain down payment and per license revenue sharing

Whatever option you select, make sure there is a clause in the legal agreement that caps the increase in the charges to a reasonable limit.

Storage, Platforms and Support

Storage has become less of an issue than what it was even a decade ago. Desktops and laptops with more than a terabyte of capacity are all over the market. Not every algorithm library requires heavy graphics. Investing in a quality graphics card is only important if your preferred library demands heavy graphic usage. That doesn’t mean investing in cheap hardware and storage systems available. A quality processor with lot of RAM is decent if the processing task is CPU and memory intensive. Another point to look into, is the type of platform or interface to be exact, the algorithm library supports. Varied requirements call for varied platforms such as Microsoft, Mac, and Linux. The usage, and licensing should be taken into account before selecting an interface.

Last but not the least, it is to mention that the inputs from customers are highly significant and there has to be a robust support system to address any grievance from the customer side. Having a trained support staff or a customised automated support system must be given high priority.

Read More

Faceted Modeling and NURBS

Modern CAD systems and CAD packages enable designers to model objects and retrieve them in their formats. Some formats are interchangeable while some enforce restrictions, upon which, it becomes difficult to transfer an object model from one form to another.

This article describes some of the most used CAD formats in the industry. But before we look into various CAD formats, it is essential to understand the concept of Faceted geometry and Analytic geometry (NURBS).

FACETED GEOMETRY

Faceted geometry, also known as discrete geometry, are models which consist of groups of polygons which is often triangles.

Most Computer-Aided Design (CAD) systems typically use continuous surface and edge definitions based on NURBS. CAE simulations break down this NURBS representation into facets by a process known as meshing. The faceted models are quite appealing to engineering marketing, as such simulations are less bothered with exact physical reality and tend to emphasize on creating eye-catching visuals, such as airflow over a car, which can be incorporated into a marketing brochure. File formats typically used for faceted models are: .3ds, .dxf, .obj, .stl (Stereolithography).

Almost all the faceted formats, except for STL, reflect material properties such as glass and metal by providing groupings of facets. However, such groupings are inadequate for a CAE simulation.

ANALYTIC GEOMETRY (NURBS)

NURBS or Non-uniform rational basis spline describes curves and surfaces with mathematical functions, and form the most common analytic geometry representations. The NURBS geometry has unlimited resolution. The NURBS definition defines the location of the boundary points and uses control points with slope definition to determine the internal shape of curves and surfaces, thereby enabling a great deal of flexibility. NURBS geometry is typically produced in CAD systems such as CATIA, Pro/Engineer, Solidworks, NX, etc. A significant drawback of NURBS geometry is that they are generally specific to the CAD packages that created them, and interchanging formats can be error-prone and inaccurate.

DIFFERENCE BETWEEN FACETED GEOMETRY AND ANALYTIC GEOMETRY (NURBS)

 

Faceted geometry

NURBS geometry

Facets are always guaranteed to comply with the original definition

In NURBS geometry, different levels of model detail are created without losing fidelity

Faceted geometry describes a shape as a mesh, points usually connected by triangles

Analytic geometry defines curves and surfaces with mathematical functions

Faceted geometry has limited resolution

NURBS geometry has unlimited resolution

Evaluating  a faceted surface, one can get a shape defined by linear interpolation between known discrete points

One can assess a NURBS surface anywhere and get coordinates lying on the surface

Simple definition

Includes topology

 

Cons of Faceted geometry

Cons of NURBS geometry

Fixed resolution

More computing intense

No topology

High data exchange

 

Although faceted geometry has its use, NURBS geometry is superior for design and manufacturing processes. Due to the high demands on geometric precision, NURBS geometry finds its place in CAE applications. But if the modeling requirements ask for stunning visuals, faceted models are worth giving a try.

 

 

Read More

Five points to consider for a CAD Software Development Process

In any software development process, the methodology involved is more or less the same. The most generic requirements are developers, preferred programming language, testers and carefully planned set of actions to perform. The same can be applied to development of CAD software as well.

Having CAD software that can actually meet product development needs is an obvious necessity. Although, there is a lot of common ground between a CAD software development project and a regular software development project, there are criteria very specific to CAD software development projects which needs to be addressed.

Let us take a walkthrough:

  • Acceptance Criteria
    Acceptance criteria are a list that mentions user requirements and product scenarios, one by one. Acceptance criteria explain conditions under which the user requirements are desired, thus getting rid of any uncertainty of the client’s expectations and misunderstandings. However, defining acceptance criteria is not simple, but has its complications. Also, it is not convenient to expect a 100% pass rate. In such case, an ideal way is to have a set of test cases with defined input and output data.
  • Algorithmic Complexities
    To successfully develop a complex product, two critical questions must be answered, how to develop the right product and how to develop the product right.Unlike some of the other problems like interest rate calculations or workflow management system, there is not a defined set of steps that results in the final answer. There are often multiple algorithms for a single issue and the situation becomes more complicated when a particular algorithm, deemed to be perfect for a given situation, may not perform that well in a different scenario, which often leads to trade offs.
  • Tolerances
    Tolerance is one of the factors to evaluate product quality and cost. It has a significant role. As tight tolerance assignment ensures design requirements in terms of function and quality, it also induces more requirements in manufacturing, inspection and service that results in higher production cost. Most of CAD data works on variables that are doubles and floats and Floating point precision, Tolerance plays a very important role in the algorithms. When using data from other systems say STEP file from other source, if there is a mismatch in the tolerance, the destination system can cause lot of issues.
  • Risk of Regression
    Adding a new functionality or improving an algorithm always has a risk of impacting the test cases that were working before the fixes. One should always develop a robust test suite for catching regressions while carrying out testing. To create a regression test case suite one must have thorough application knowledge or complete understanding of the product flow.
  • Interoperability
    The quick emergence of varied CAD software has led designers to democratize, leading to the usage of multiple CAD systems in the design process, thus challenging the CAD interoperability aggressively. Different suppliers require different CAD platforms. It depends on many factors, primarily the nature of the task and product upon which it has to work. Merging different CAD data together without affecting the design intent is quite the hassle. Although, a lot of software these days support different CAD files, there are instances, where the particulars of a project has made the product confined to that one CAD software. Interoperability eases up extra work and whether to make your own software compatible with other, is a decision that should be seriously taken into account.
Read More

Mesh - List of operations

Good cell quality of meshes translate into accurate results within optimum time after computation. But more often than not, we get a mesh output, which is far from accuracy. There are number of factors affecting a mesh, that might compromise with the final result. This chapter focuses on the various shortcomings of a mesh and their repair algorithms.

Mesh Decimation/Simplification

Mesh decimation/simplification is the method of reducing the number of elements used in a mesh while maintaining the overall shape, volume and boundaries preserved as much as possible. It is a type of algorithm that aims to transform a given mesh into another with fewer elements (faces, edges and vertices). The decimation process usually involves a set of user-defined quality criteria, that maintains specific properties of the original mesh as much as possible. This process reduces the complexity of a mesh.

Before Mesh Decimation

 

After Mesh Decimation

 

Mesh Hole-Filling

To analyze a mesh model, it must be complete. Often, some mesh models carry holes in them, which must be filled. The unseen areas of the model appear as holes, which are aesthetically unsatisfying and can be a hindrance to algorithms that expect a continuos mesh. The Fill Hole command fills the holes and gaps in the mesh.

Note – The Fill Hole command only works on triangulated mesh and not tetrahedral mesh

Mesh Before Hole Filling

 

Mesh After Hole Filling

 

Mesh Refinement

Certain situations arise which makes us concerned about the accuracy a model in certain areas. Such scenarios prompt us to have fine mesh in those areas to ensure accurate results. However, creating a surface mesh of the entire model with a fine mesh size may ask for unnecessary hours to analyze the fine mesh in those regions where the results are not as important to you. The answer to this issue is the usage of refinement points.

A refinement point identifies a region or volume of space in which a finer mesh has to be generated. Mesh refinement can be defined by identifying an absolute size for the local mesh. Mesh refinement ends up in creating more number of elements in the specified region of the model.

Before Mesh Refinement

 

After Mesh Refinement

 

Mesh Smoothing

Mesh smoothing is also known as mesh relaxation. Sometimes it is necessary to modify that mesh after a mesh generation. It is achieved either by changing the positions of the nodes or by removing the mesh altogether. Mesh smoothing results in the modification of mesh point positions, while the topology remains as it is.

Before Mesh Smoothing

 

After Mesh Smoothing

Read More

Neutral 3D CAD File Formats

Every CAD design/model, upon completion, is stored in a respective file format. A 3D file format stores information about 3D models in plain text or binary data. The 3D formats encode a model’s

geometry, which describes its shape,

scene, which includes position of light and peripheral objects;

appearance, which means colors and textures;

and animations, which defines how a 3D model moves.

Not every 3D format stores all such data. Each software comes with its 3D file formats. However, every software has a different file format due to many reasons such as cost, feature, etc. It is necessary for any two software to enable interchangeability/interoperability to make things work. Some of the popular 3D file formats are STL, OBJ, FBX, COLLADA, etc. Each industry comes with its version of 3D file formats. This article gives a brief description of 3D file formats.

 

A 3D CAD model

 

SALIENT FEATURES OF 3D FILE FORMATS

Considering there are different file types, it is essential to understand the various properties. Different file types allow CAD model viewing in different ways. Some CAD files are limited to only 2D viewing to show the end customer. Following are the main features of 3D file formats:

Proprietary or neutral

The two main types of file format are – proprietary and neutral. All CAD design software uses a proprietary file type. This file type is specific to that particular software. Generally, such file types can only be viewed using the same software it was created with. However, it won’t open in a completely different design program. Proprietary files could be used in intercompany tasks.

Neutral files, on the other hand, are designed to be interoperable. Hence they can be viewed on a multitude of programs. Neutral data come in handy if the document is being distributed to end-users who don’t use CAD software.

Precise or tessellated

CAD designs are displayed in two different ways, namely, precise or tessellated. The difference lies in the fact that the product that is viewed while designing looks quite different from the actual product in real life. It is particularly noticeable in the case of lines and edges that form the product shape. This differentiates between precise drawings versus tessellated drawings.

To create a product, CAD software uses precise lines and angles to complete complex manufacturing processes. Such specific instructions have to be included in a file format to edit the actual drawing or change its design. While displaying a CAD drawing for visual purposes, the lines and edges are tessellated.

Type of assembly

Multi-part designs present a complicated situation while choosing a file format. Depending on the type of file format, multi-part product design may be limited to one single file for the whole assembly. Alternatively, designers also opt for separate files for each component. Awareness of how a particular software will display a multi-part product or if it will display a multi-part product is essential.

Parts Listings

CAD designs accompany models with a list of parts. Different 3D file formats come up with different ways of showing parts list. Two main types of parts list displays are Bill of Material (BOM) and flat list. A bill of material showcases a single part and all its positions in a drawing. A flat list shows all parts individually.

Now that the different features of 3D CAD file formats have been explained, let us walk through some of the popular and most used file formats out there.

NEUTRAL FILE FORMATS

To counter interoperability, neutral file formats, also called open source formats, are used as intermediate formats for converting between two proprietary formats. Naturally, these formats are widely used nowadays. Two known examples of neutral formats are STL (with a .STL extension) and COLLADA (with a .DAE extension).  They are used to share models across CAD software.

3D CAD file formats generally fall into two categories: Native or Neutral file formats.

  • Native file formats are exclusive to particular CAD software, which can be used with the respective software only.
  • Neutral or Standards were explicitly created to enable interoperability, which helps the exchange of files between different CAD software. Neutral file formats allow easier transfer of files with someone who uses different CAD software.
DIFFERENT 3D FILE FORMATS
  • STEP: STEP is the most recommended and widely used of 3D file Formats. It is an ISO 10303-21 certified standard. Most of the software support STEP importing and exporting.
  • IGES: IGES is the abbreviation for Initial Graphics Exchange Specification. It is a vendor-neutral file format. Using IGES, a CAD user can exchange 3D models in the form of circuit diagrams, wireframe, or solid models. Applications backed by IGES include traditional engineering drawings, analysis models, and other manufacturing functions
  • Parasolid: Parasolid, initially developed by ShapeData, is now owned by Siemens PLM Software. It is licensed to other companies for use in their 3D computer graphics software products.
  • STL: STL, which stands for stereolithography, is the universal format for pure 3D information. It is used in 3D printers and somewhat loved by CAM. STL denotes only the surface geometry of a 3D object without any representation of color, texture, or other common CAD model attributes.
  • VRML: VRML stands for Virtual Reality Modeling Language. It is a standard file format for representing 3D interactive vector graphics.
  • X3D: X3D is an ISO standard XML-based file format for representing 3D computer graphics. X3D features extensions to VRML (e.g., CAD, Geospatial, NURBS, etc.).
  • DXF: DXF stands for Drawing Interchange Format, or Drawing Exchange Format. It is a simple 2D format and technically should be viewed as a Native format. It is Autocad’s native 2D format.
Read More

New Application Development - Addon vs Standalone

At the starting phase of developing an application, the primary question usually comes like this—whether to make it an add-on application or a standalone application?

Before we get into the details, we need to understand what exactly these two terms mean in the computing world.

An add-on (also known as addon or plug-in) is a software application, which is added to an existing computer program to introduce specific features.

As per Microsoft’s style guide, the term add-on is supposed to represent the hardware features while add-ins should be used only for software utilities, although these guidelines are not really followed as terms are mixed up quite often. When a program supports add-ons, it usually means it supports customization. Web browsers have always supported the installation of different add-ons to suit the tastes and topics of different users by customizing the look and feel of that particular browser.

There are many reasons for introducing add-ons in computer applications. The primary reasons are:

  • To introduce abilities to extend an application by enabling third-party developers to create variety of add-ons
  • To support new features
  • To reduce the size of an application
  • To separate source code from an application because of incompatible software licenses

Usually, the host applications operate independently, which makes it possible for developers to add and update add-on features without impacting the host application itself. A host application doesn’t depend on add-ons but on the contrary, an add-on depends on the host application. Add-ons usually depend on the services provided by the host application and cannot operate by themselves.

A Standalone application is the type software that doesn’t comes bundled with other independent software features. In simple words, a standalone application does not require any separate software to operate.

A stand-alone application deploys services locally, uses the services, and terminates the services when they are no longer needed. If an application does not need to interact with any other applications, then it can be a stand-alone application with its own exclusive local service deployment. Services locally deployed by this application are not available to any other application.

A standalone application needs to be installed on every system which makes it hard to maintain. In the event of a system crash or a virus attack, when a system needs to be replaced or reinstalled, the application also needs to be reinstalled. The access to the application is limited only to the systems that have the application installed.

Standalone applications can never be kept online, and remote availability of data is practically impossible. However, there are situations where standalone application is the best choice. Here are a few:

  • Text mode printing on pre-printed stationary, which browsers fail to do
  • Where data security is very high and you don’t want the data to travel on the wire at all
  • Design applications which need very high responsiveness and at the same time work on big data structures
  • Printing on legacy continuous stationery
  • No need of networking, application is needed only on a single system
  • More hardware support like barcode printers, webcam, biometric devices, LED Panels, etc.
  • More Operating System level operations like direct backup to external devices, mouse control, etc.
  • Creation and manipulation of local files
Read More

Path to Product Development

If you are an engineering professional, most likely you are aware of how a physical product comes to life. From the early days of sketching and blueprints, manufacturing of a commodity has come a long way. The modern methodology of creating a product has not only changed drastically, but it has become way more efficient and precise in its approach. Today’s engineer lives and thrives in the world of 3-dimensional models. Whatever masterpiece a designer has in his mind, he has the tools and system to give it life. And it is not just limited to inception of a new idea being turned to a product; it has made the art of reverse engineering being implemented more than ever.

So what are the factors that have revolutionized this craft?

It is the safe to say that with the invention of new tools, techniques and computer, the road to new product development has become more smooth, accurate and flexible. Although a professional can get deep into the subject matter, this article gives a brief overview of the product development from technical perspective.

The footsteps to a new product can be summarized in the following sequence.

 

path to product developmentTo put it in words, here is how the entire sequence goes:

  • Scanning: Whether you have an entirely new idea on your mind, or you want to base your idea on an already existing product; you need a reference. Your reference can be either technical manuals from the manufacturer or the physical product itself. The first step is to scan the product using 3D scanners. 3D scanning technology comes in many shapes and forms. Scanners capture and store the 3D information of the product. The scanned information gets stored in the form of closely spaced data points known as Point Cloud.
  • Point Cloud: A point cloud is a collection of data points defined by a given coordinates system. In a 3D coordinates system, for example, a point cloud may define the shape of some real or created physical system.
  • Mesh: Point clouds are used to create 3D meshes. A mesh is a network that constitutes of cells and points. Mesh generation involves point clouds to be connected to each other by the virtue of vertices, edges and faces that meet at shared edges. There are specific softwares for carrying of meshing function.
  • 3D Model: Once the meshed part is generated, it goes through required software applications to be transferred to Computer Aided Design (CAD) tools to get transformed into a proper 3D CAD model. 3D model is the stage where whole sorts of applications such as sewing, stitching, etc, are implemented to create a prototype.
  • Testing: A prototype goes through numerous tests in this phase, to check for limitations and possible calibrations if necessary. This is done to determine the optimum stage where the prototype can be turned to a product.
  • Product: This is where the entire process comes to an end. Once a prototype is evaluated and finalized, it is sent for production in order to introduce it to the market.

 This introductory part gives you a summary of product development and the related technical terms. In the next chapters, we will dive deep and go through all the mentioned stages, one by one.

Read More

Points to consider while developing regression suite for CAD Projects

As the development of software makes its progress, there comes a stage where it needs to be evaluated before concluding it as the final output. This phase is usually known as testing. Testing detects and pinpoints the bugs and errors in the software, which eventually leads to rectification measures. There are instances where the rectifications bring in new errors, thus sending it back to another round of testing, hence creating a repeating loop. This repeated testing of an already tested application to detect errors resulting from changes has a term — Regression Testing.

Regression testing is the selective retesting of an application to ensure that modifications carried out has not caused unintended effects in the previously working application.

In simple words, to ensure all the old functionalities are still running correctly with new changes.

This is a very common step in any software development process by testers. Regression testing is required in the following scenarios:

  • If the code is modified owing to changes in requirements
  • If a new functionality is added
  • While rectifying errors
  • While fixing performance related issues

Although, every software application requires regression testing, there are specific points that apply to different applications, based on their functioning and utility. Computer-Aided design or CAD software applications require specific points to keep in mind before undergoing regression testing.

Regression testing can be broadly classified into two categories, UI Testing and Functionality Testing. UI testing stands for User Interface which is basically testing an applications graphical interface. Numerous testing tools are available for carrying out UI testing. However, functional testing presents situation for us. This content focuses on the points to take care while carrying out functional regression testing.

Here are most effective points to consider for functional regression testing:

  • It is important to know what exactly needs to be tested and the plans or procedures for the testing. Collect the information and test the critical things first.
  • It is important to be aware of market demands for product development. Document or matrix should be prepared to link the product to the requirement and to the test cases. Matrices should be modified as per the changes in requirement.
  • Include the test cases for functionalities which have undergone more and recent changes.
    It’s difficult to keep writing (modifying) test cases, as the application keeps on getting updated often, which leads to some internal defects and changes into the code which in turn might break some already existing functionalities.
  • It is preferred to run the functionality testing in the background mode (non-UI mode) because often it is faster and eliminates problems associated with display settings on different machines.
  • One needs to lay down precise definitions of the output parameters that are of interest. Anything from the number of faces, surface area, volume, weight, centre of gravity, surface normal, curvature at a particular point etc. It is always a good idea to have a quantifiable output parameter that can be compared.
  • It is often advisable to develop a utility to write the parameters that are of interest in an output file it could be text, CSV or xml file.
  • Creating baseline versions of output data files is a good idea to visually see every part for which the baseline data is created.
  • Developing automation script enables the entire test suite to run without any manual intervention and the results can be compared.
  • Compare the output data generated with the baseline version, for every run of test case, for it is very important to keep in mind that if there are doubles or floats in the output data, tolerance plays a very important role.
  • Some areas in the application are highly prone to errors; so much that they usually fail with even a minute change in code. It is advisable to keep a track of failing test cases and cover them in regression test suite.

Failure to address performance issues can hamper the functionality and success of your application, with unwelcome consequences for end users if your application doesn’t perform to expectations.

Read More

The Reverse Engineering process

Sometimes, situations arise where you don’t have access to a part’s original design documentation from its original production. This might be due to the absence of the original manufacturer altogether or stoppage on the production itself.

Reverse engineering empowers us to analyze a physical part and explore how it was originally built to replicate, create variations, or improve on the design. The goal is to ultimately create a new CAD model for use in manufacturing.

Let us take a look at the steps involved in reverse engineering. Commonly, it involves careful executions of the following steps:

  • Scanning

The first step involves using a 3D scanner for collecting the geometric measurements and dimensions of the existing part quickly and accurately using projected light patterns and camera system. Generally, the types of scanners used for such execution are blue light scanner, white light scanner, CT scanner and /or laser scanner. The former two captures the outward dimension and measurements while the latter two is capable of scanning the entire inside out.

  • Point Cloud

Once a certain part is scanned, the data gets transformed in the form of point clouds. Point cloud is a 3D visualization consisting of thousands or even millions of points. Point clouds define the shape of a physical system.

  • Meshing/Triangulation

This stage serves involves conversion of point clouds to mesh (STL or Stereolithographic format). Mesh generation is the practice of converting the given set of points into a consistent polygonal model that generates vertices, edges and faces that only meet at shared edges. Common software tools used to merge point clouds are Polyworks, Geomagic, ImageWare, MeshLab. The meshed part is then run for alignment in the mentioned software tools.

  • Parametric/Non-parametric Modeling

After the meshed part is aligned, it goes through either of two stages. The first option involves applying surface modeling on meshed part in tools such as Polyworks. It results in the generation of non-parametric model (IGES or STEP format). An alternate option is creating a sketch of the meshed part instead of putting it through surfacing. This work-process is known as parametric modeling (.PRT format). For a non parametric model, predicting future data is based on not just the parameters but also in the current state of data that has been observed. For a parametric model to predict new data, knowing just the parameters is enough.

  • CAD Modeling

The next stage consists of transferring the data through CAD software tools such as NX, Catia, Solidworks, Creo etc, for applying functions such as ‘stitch’, ‘sew’, ‘knit’, ‘trim’, ‘extrude’, ‘revolve’ etc for creation of 3D CAD model.

  • Inspection

This stage includes visual computer model inspections and alignment of the merged models against actual scanned parts (STL) for any discrepancies in the geometry as well as dimensions. Generally, inspection is carried out by using tools such as Polyworks or Geomagic. Reverse engineering inspection provides sufficient information to check tolerances, dimensions and other information relevant to the project.

  • Documentation

Documentation of 3D stage model depends solely on one’s technical/business requirements. This step is about converting 3D model to 2D sketch, usually with the help of tools such as inventor or Isodraw/Coraldraw, citing measurements which can be used for reference in the future.

 

Read More

Types of Geometric Modeling

The previous edition gave a brief introduction of Geometric Modeling and its features. Geometric modeling is the mathematical representation of an object’s geometry. It incorporates the use of curves to create models. It can be viewed either in 2D or 3D perspective.

This edition details the primary types of geometric modeling. Geometric modeling can be classified into the following:

SOLID MODELING

Also known as volume modeling, this is the most widely used method as it provides a complete description of solid modeling. Solid modeling defines an object by its nodes, edges, and surfaces;  therefore, it gives a perfect and explicit mathematical representation of a precisely enclosed and filled volume. Solid modeling requires the use of topology rules to guarantee that all surfaces are stitched together correctly. This geometry modeling procedure is based upon the “Half-Space” concept.

 

Solid Modeling

 

There are two prevalent ways for representing solid models –

Constructive solid geometry: Constructive solid geometry is a combination of primary solid objects (prism, cylinder, cone, sphere, etc.). These shapes are either added or deleted to form the final solid shape.

Boundary representation: In boundary representation, an object’s definition is determined by their spatial boundaries. It describes the points, edges, surfaces of a volume, and issues command to rotate, sweep a binds facets into a third dimensional solid. The union of these surfaces enables the formation of a surface that explicitly encloses a volume.

Solid Modeling is the most widely used geometric modeling in three dimensions, and it serves the following purpose:

  • Solid modeling supports weight or volume calculation, centroids, moments of inertia calculation, stress analysis, heat conduction calculations, dynamic analysis, system dynamics analysis.
  • Solid modeling supports the generation of codes, robotic and assembly simulation
  • Solid modeling stores both geometric and topological information; can verify if the two objects occupy same space
  • Solid modeling improves the quality of design, enhances visualization, and has the potential for functional automation and integration.

 Different solid modeling techniques are as follows:

  • Constructive Solid Geometry
  • Boundary Representation
  • Feature-based modeling
  • Primitive Instancing
  • Cell decomposition, spatial enumeration, octree
SURFACE MODELING

Surface modeling represents the solid appearing object. Although it is a complicated method of representation than wireframe modeling, it is not as refined as solid modeling. Although surface models and solid models look identical, the former cannot be sliced open the way solid models can be. This model makes use of B-splines and Bezier for controlling curves.

 

 

Surface Modeling

 

 

A typical surface modeling process involves the following steps:

  •  Generation of a model combining the three-dimensional surfaces and solids
  • Conversion of the model to surfaces, taking advantage of associative modeling
  • Validation of imperfections with surface analysis tools
  • Reconstructing surfaces of objects to apply smoothness to the object

Surface modeling is used to:

  • To shape design and representation of complicated objects such as a car, ship, and airplane bodies as well as castings
  • There are situations where models imported from another CAD system usually lack details of the features it is comprised of. If the surfaces are complex, applying changes to this type of geometry can be quite the task. In such cases, surface modeling techniques can be used to one or more faces of the model to make the desired changes.
  • Surface modeling enables building one face at a time so that one can control the exact contour and direction of any face. This feature comes in handy at a time when solid modeling technique fails to create the complex shape of a feature as it builds up several sides of shape at once.
  • As it is not limited to the direct construction of a model face, surfaces can also be used as a reference geometry in a transitional step towards the creation of the required model face.
  • Now, there is another modeling technique which requires a combination of solid and surface modeling techniques to create a solid model. This technique generally involves starting the model as a solid and using surfaces to modify it. Or, changing the solid to surfaces to shape and contour it, then turning it back to a solid when done.
WIREFRAME MODELING

The wireframe model is perhaps one of the earliest ways of representing a solid model. It consists of vertices and lines and is a skeletal representation of a real-world 3D object. It was developed back in the 1960s; it is also referred to as “Stick figure” or “edge representation.”

 

Wireframe Modeling

 

The lines within a wireframe connect to create polygons, such as triangles and rectangles, that represent three-dimensional shapes when bound together. The outcome may range from a cube to a complex three-dimensional scene with people and objects. The number of polygons within a model is a good indicator of how detailed the wireframe 3D model is.

Wireframe modeling helps in matching a 3D drawing model to its reference. It allows the creator to match the vertex points, so they are in alignment with the desired reference and see the reference through the model as well. Although Wireframe modeling is a quick and easy way to demonstrate concepts, creating a fully detailed, precisely constructed model for an idea can be extremely time-consuming, and if it does not match what was visualized for the project, all that time and effort was wasted. In wireframe modeling, one can skip the detailed work and present a very skeletal framework that is simple to create and is apprehensible to others.

Read More

Page 1 of 2