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

BREP & CSG

The geometric modelling technique has revolutionised design and manufacture of products to a great extent. Although there have been various ways of representing an object, the most commonly used modelling technique is Solid Modelling. The two prominent ways to express solid models are Boundary Representation modelling and Constructive Solid Geometry modelling.

BOUNDARY REPRESENTATION

In solid modelling and computer-aided design, boundary representation or B-rep / BREP—is the process of representing shapes using the limits. Here a solid is described as a collection of connected surface elements. BREP was one of the first computer-generated representations to represent three-dimensional objects.

BREP defines an object by their spatial boundaries. It details the points, edges, surfaces of a volume, and sends commands to rotate, sweep a binds facets into a three dimensional solid. The union, thus, enables the formation of a surface that notably encloses a volume

Boundary representation of models consists of two kinds of information:

Topology: The main topological entities are: faces, edges, and vertices.

Geometry: The main geometrical entities are: surfaces,  curves, and points.

The topological and geometrical entities are intertwined in a way where:

the face is a bounded portion of a surface;

an edge is an enclosed piece of a curve and;

A vertex lies at a point. Topological items allow making links between geometrical entities.

BREP comes with its share of advantages and disadvantages, which are:

  • It is appropriate for constructing solid models of unusual shapes.
  • A BREP model is relatively simple to convert to the wireframe model.
  • BREP uses only primitive objects and Boolean operations to combine them, unlike CSG (Constructive Solid Geometry).
  • BREP is more flexible with a more rich operation set.
  • In addition to the Boolean operations, B-rep has extrusion (or sweeping), chamfer, blending, drafting, shelling, tweaking and other actions which make use of these.
  • The BREP library does not store geometric or other information associated with topological entities.
  • BREP is not suitable for applications like tool path generation.
CONSTRUCTIVE SOLID GEOMETRY

Constructive solid geometry or C-REP/CREP, previously known as computational binary solid geometry, is a solid modelling technique that allows creating a complex object from simple primitives using Boolean operations. It is based on the fundamental that a physical object can be divided into a set of primitives or basic elements that can be combined in a particular order by following a set of rules (Boolean operations), to create an object. Typically, they are objects of simple shapes such as cuboids, cylinders, prisms, pyramids, spheres, and cones.

The primitives themselves are regarded as valid CSG models, where each primitive is bounded by orientable surfaces (Half-spaces).

These simple primitives are in some generic form and must be confirmed by the user to be used in the design. The primitive may require transformations like scaling, translation, and rotation to be assigned a coveted position.

There are two kinds of CSG schemes:

Primitive based CSG: It is a popular CSG scheme which is based on bounded solid primitives, R-sets.

Half-space based CSG: This CSG scheme uses unbounded Half-spaces. Bounded solid primitives and its boundaries are considered composite half-spaces and the surfaces of the component half-spaces, respectively.

Some attributes of CSG are as follows:

  • CSG is fundamentally different from the BREP model, where it does not store faces, edges and vertices. Instead, it evaluates them as needed by algorithms.
  • CSG database stores topology and geometry.
  • The validity checking in CSG scheme occurs indirectly. Each primitive that is combined using a Boolean operation (r-sets) to build the CSG model is checked for its validity.
  • The standard data structures used in CSG are graphs and trees.
  • CSG representation is of considerable importance to manufacturing.
DIFFERENCE BETWEEN BREP AND CSG

 

Boundary Representation (BREP) Constructive Solid Geometry (CSG)
BREP describes only the oriented surface of a solid as a data structure composed of vertices, edges, and faces. A solid is represented as a set of Boolean expression of primitive solid objects, of a simpler structure.
A BREP object is easily rendered on a graphic display system. A CSG object is always valid in the sense that its surface is closed and orientable and encloses a volume, provided the primitives are authentic in this sense.
For B-rep, we review the possible surface types, the winged-edge representation schema, and the Euler operators. For CSG, The basic operations include classifying points, curves, and surfaces concerning a solid; detecting redundancies in the representation; and approximating CSG objects systematically.

 

Read More

Computer Aided Design (CAD)

The previous sections dealt with the initial and middle stages of reverse engineering. This section highlights a stage which is undoubtedly crucial for product development. After a meshed part is aligned, it goes through either—surface modeling in tools such as Polyworks, which generates a non-parametric model (IGES or STEP format) or parametric modeling where a sketch of the meshed part is created instead of putting it through surfacing (.PRT format). The resultant is generally called, 3D computer aided model or CAD model.

But, what is CAD?  

CAD is the acronym for Computer Aided Design. It covers different variety of design tools used by various professionals like artists, game designers, manufacturers and design engineers.

The technology of CAD systems has tremendously helped users by performing thousands of complex geometrical calculations in the background without anyone having to drop a sweat for it. CAD has its origin in early 2D drawings where one could draw objects using basic views: top, bottom, left, right, front, back, and the angled isometric view.  3D CAD programs allow users to take 2D views and convert them into a 3D object on the screen.  In simple definition, CAD design is converting basic design data into a more perceptible and more understandable design.

Each CAD system has its own algorithm for describing geometry, both mathematically and structurally.  

Different CAD models

Everything comes with its own varieties and CAD modeling is no stranger to it. As the technology evolved, CAD modeling came up in different styles. There are many methods of classifying them, but a broad general classification can be as follows:

  • 2 dimensional or 2D CAD: The early version of CAD that most of us are aware of. These are 2-dimensional drawings on flat sheet with dimensions, layouts and other information needed to manufacture the object.
  • 3 dimensional or 3D CAD: The purpose of both 2D and 3D models is the same. But what sets 3D models apart is its ability to present greater details about the individual component and/or assembly by projecting it as a full-scale 3-dimensional object. 3D models can be viewed and rotated in X, Y, or Z axes. It also shows how two objects can fit and operate which is not possible with 2D CAD.

3D models can be further classified into three categories:

  • 3D Wire-frame Models: These models resemble an entire object made of just wires, with the background visible through the skeletal structure.
  • Surface Models: Surface models are created by joining the 3D surfaces together and look like real-life objects.
  • Solid Models: They are the best representation of real physical objects in a virtual environment. Unlike other models, solid models have properties like weight, volume and density. They are the most commonly used models and serve as prototypes for engineering projects.

CAD model

Types of CAD formats

Different professionals use different software, owing to different reasons like cost, project requirements, features etc. Although, software comes with their own file formats, there are instances where one needs to share their project with someone else, either partners or clients, who are using different software. In such cases, it is necessary that both party software understand each other’s file formats. As a result of this situation, it is necessary to have file formats which can be accommodated in variety of software.

 CAD file formats can be broadly classified into two types:

  • Native File Formats: Such CAD file formats are intended to be used only with the software it comes with. They cannot be shared with any other software which comes with their own CAD formats.
  • Neutral File Formats: These file formats are created to be shared among different software. Thereby it increases interoperability, which is necessary.

 Although there are almost hundreds of file formats out there, the more popular CAD formats are as follows:

STEP: This is the most popular CAD file format of all. It is widely used and highly recommended as most software support STEP files. STEP is the acronym for Standard for the Exchange of Product Data.

IGES: IGES is the acronym for Initial Graphics Exchange Specification. It is an old CAD file format which is vendor-neutral. IGES has fallen out lately since it lacks many features which newer file formats have.

Parasolid: Parasolid was originally developed by ShapeData and is currently owned by Siemens PLM Software.

STL: STL stands for Stereolithography which is the format for 3D information created by 3D systems. STL finds its usage mostly in 3D printers. STL describes only the outer structure or surface geometry of a physical object but doesn’t give out color, texture and other attributes of an object.

VRML: VRML stands for Virtual Reality Modeling Language. Although it gives back more attributes than STL but it can be read by a handful of software.

X3D: X3D is an XML based file format for representing 3D computer graphics.

COLLADA: COLLADA stands for Collaborative Design Activity and is mostly used in gaming and 3D modeling.

DXF: DXF stands for Drawing Exchange Format which is a pure 2D file format native to Autocad.

Use of CAD

Computer-aided design or CAD has pushed the entire engineering process to the next level. One can actually mould or fold, modify or make a new part from scratch, all with the help of CAD modeling software. The many uses of CAD are as follows:

  • CAD is used to generate design and layouts, design details and calculations, 3-D models.
  • CAD transfers details of information about a product in a format that can be easily interpreted by a skilled professional, which therefore facilitates manufacturing process.
  • The editing process in CAD is very fast as compared to manual process.
  • CAD helps in speeding up manufacturing process by facilitating accurate simulation, hence reducing time taken to design.
  • CAD can be assimilated with CAM (Computer Aided Manufacturing), which eases up product development.
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

Geometric Modeling

The culture of design & manufacturing incorporates various crucial aspects for the production of a market efficient product. Computer-aided Engineering or CAE comes up as a central part of the entire manufacturing process. Over the years, the function of CAE has evolved so much that it has developed its applications depending upon the type of usage and execution.  Geometric Modeling happens to be one of the most popular CAE applications.  

The computer/software generated mathematical representation of an object’s geometry is called Geometric Modeling. As curves are easy to manipulate and bend as per application, geometric modeling uses curves extensively to construct surfaces. The formation of curves can be achieved by,

A set of points,

Analytic functions, or

Other curves/functions

The mathematical representation of an object can be displayed on a computer and used for generation of drawings; which go on for analysis and eventual manufacturing of the object. In general, there are three conventional steps to create a geometric model:

  • Creating key geometric elements by using commands like points, lines, and circles.
  • Applying Transformations on the geometric elements using commands like rotation, achieve scaling, and other related transformations functions.
  • Constructing the geometric model using various commands that integrates the elements of the geometric model to form the desired shape.
 REPRESENTAION OF GEOMETRIC MODELS
  • Two Dimensional or 2D: It projects a two-dimensional view and is used for flat objects.
  • 1 2D: It projects the views beyond the 2D and enables viewing of 3D objects that have no sidewall details.
  • Three Dimensional or 3D: This representation permits complete three-dimensional viewing of the model with intricate geometry. The most leading process of geometric modeling in 3D is Solid modeling.
TYPES OF GEOMETRIC MODELINGS

Depending upon the representations of objects, geometric modeling system can be classified into three categories, which are:

  • Solid modeling

Also known as volume modeling, this is the most widely used method as it provides a complete description of solid modeling.

  • Wireframe modeling

It is a simple modeling system, which is used to represent the object by the help of lines only. Hence, it is also known as Line model representation. However, wireframe modeling is not enough to express complex solids; therefore, it is used to describe only wiring systems.  

  • Surface modeling

This type of modeling represents the object by its surface, and it is used to describe the object with a clear view of manufacturing. By this clear point of view, surface modeling cannot be used to develop an internal surface of any model. Surface modeling uses Bezier and B-spines.

Requirements of Geometric Modeling

The various requirements of geometric modeling are as follows:

  • The cross-section, hidden lines, dimensions are needed for Graphical Visualization.
  • Interchangeable manufacturing tolerance analysis is required while inspection of parts.
  • There should also be properties evaluation and geometrical evaluations in Area, Volume, and property evaluation in Weight, Density, etc..
  • Need for Finite element analysis and Kinematic analysis.
  • Parts classification, planning, etc. in manufacturing.

Geometric modeling is a vast and elaborate field of CAE and requires in-depth study. The next articles dive deep into the various types and facets of geometric modeling.

 

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

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

Parametric and Non-parametric modelling

Up until now, we believe our readers got a clear explanation of reverse engineering. Let us give walkthrough — Reverse engineering is the process of extracting design information after studying a physical product, with the intent to reproduce the product, or to create another object that can interact with it.

In the past, designers resorted to physical measurement of the product to redraw its geometry. Today, designers use 3D scanners to capture measurements. The scanned data is then imported to CAD where the design can be analyzed, processed, manipulated and refined. Two key aspects that fall in place when focusing on reverse engineering process are:

Parametric Model/Modeling

A parametric model captures all its information about the data within its parameters. All you need to know for predicting a future data value from the current state of the model is just its parameters.
The parameters are usually finite in dimensions. For a parametric model to predict new data, knowing just the parameters is enough. A parametric model is one where we assume the ‘shape’ of the data, and therefore only have to estimate the coefficients of the model.

Non-parametric Model/Modeling

A non parametric model can capture more subtle aspects of the data. It allows more information to pass from the current set of data that is attached to the model at the current state, to be able to predict any future data.
The parameters are usually said to be infinite in dimensions. Hence, it can express the characteristics in the data much better than parametric models. 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. A non-parametric model is one where we do not assume the ‘shape’ of the data, and we have to estimate the most suitable form of the model, along with the coefficients.

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

Page 1 of 2