Functional Modeling Explored
In Issue 85 we wrote about seeing
the latest version of ImpactXoft's (IX), as yet, unreleased version of
IX Design. In that issue Ray Kurland, our intrepid traveling editor, wrote
that "Seldom have I ever felt that I was awed by a new product -- this
is one of the exceptions!" After reading this article I believe that you
will also want to know more about the product. To help us understand their
product we met for several days with Attilio Rimoldi, President and CEO,
and Gian Paolo Bassi, VP and Chief Technology Officer.
ImpactXoft was founded in June 1999
by Attilio Rimoldi and Martin Welch, and is set to soon roll out it's IX
SPeeD Suite of products, consisting of IX Design and the IX Collaboration
Package. The company has just completed its second round of financing,
difficult to do in these days of skepticism about high tech products. About
50 developers at several development sites are busy working on the product,
which is due to roll out very soon.
Most of this article will focus on
IX Design. The IX Collaboration Package is also very interesting, because
different than other collaboration software that deals with the problem
of high level assemblies and outside suppliers, IX Collaboration focused
on detailed design level collaboration among designers.
Instead of using the now leading
3D solid modeling technique - history based design - used by virtually
every CAD vendor, IX has developed a new technology called functional modeling.
History based modeling was explored in the early 90's by PTC, introducing
the then ground breaking technology with Pro/ENGINEER. Prior to that, most
modeling systems used explicit geometry which only recognized how geometry
was attached to other geometry. History based design not only recognized
explicit geometry relationships, but added more flexible geometry called
features and also recorded the modeling steps used to create the model.
By changing parameters of the geometry and its features and then replaying
the history caused a new result. Additionally, equations were often used
as part of the model development to relate parameters within or among parts.
TechniCom explored such capabilities using a series of benchmarks in the
early 90's and then again in the late 90's for mid range systems.
In engineering, three characteristics
of parts are often discussed. These are form, fit, and function. Existing
solid modeling systems focus only on form (the way an object looks) and
fit (the physical relationship of one object to another). Functional
modeling introduces the concept of function. Each objects carries with
it, its own definition of how to behave when interacting with other objects!
As an example of the ways in which the modeling differs, we have placed
a series of images along with explanatory text on our web site. Click
here to view them.
By way of example, we revolved a
rectangle 360 degrees to create a cylinder. Then we added a sphere to the
top of the cylinder. Next, we added a flange to the base. Interestingly,
as we develop each portion of the model, we are able to decide whether
its shellable and how it acts when other objects interact with it. To illustrate,
we shelled the cylinder and the sphere but we had designated the flange
to be non-shellable. Thus the shell acted correctly on the objects. While
not shellable, the flange still had a hole cut through it where it intersected
the cylinder. IX Design's default behavior of a solid is that it does not
disturb the behavior of the solids to which it is attached. In our case,
the behavior of the cylinder removed a portion of the flange. When we added
material to the top sphere, the shelling worked correctly by following
the new contours. We might also have chosen to add material inside the
part. Another interesting example is shown in this image
of a sample part with a rectangular motor versus this part with a cylindrical
motor. By simply replacing the motor, all connecting parts updated
because they knew by their function how to interact with the new part.
Look at the enormous number of changes that were made automatically.
We initiated detailing by opening
a new IX Design part and selecting a new drawing. To start you can load
a template to size the drawing, then select the 3D model to be detailed.
Since we knew that detailing had been added only within the last few months
we were surprised at the robustness of detailing. We judged it to be
quite capable of producing high quality drawings documenting the solid
IX Design's Rigid Motion capability
works by translating or rotating a set of elements with a command, providing
a great deal of flexibility. For example, in the hair dryer design discussed
below, we were able to build a simple rectangular box on a plane and use
the roto-translate capability to properly position it. This is a parametric
move and the parameters for the move are accessible in the model file.
Files can consist of parts or assemblies.
IX Design also allows for alternative representations of parts and sub
assemblies using the concept of an Organizer. We saved a couple of images
known as Organizer 1, 2 and 3 in this
set of images. Organizer 3 differs from Organizer 2 in that we used
the variational capability of IX Design to easily manipulate the series
of profiles involved with building the handle.
The fascinating part
about this is that the design is fully variational, so that in the example
of Organizer 3 versus Organizer 2, we manipulated the entire set of connected
profiles by dragging a series of points to change the profile, and thus
the shape of the generating curve for the solid that would become the handle.
It is interesting to note that Bassi,
in an example fo designing a hair dryer, has very quickly organized the
folders within the configurator so that we have a top down approach to
the design of the hair dryer, as illustrated here.
This replaces the need for layers by automatically or manually placing
geometry in the various folders. The system controls the viewing of objects
by using a simple on/off by object type that allows us to show or hide
Bassi described the organizer as
a "the next generation tool" that takes the place of mini PDM systems.
It also allows for the replacement of layers as a way to organize elements
easily. Newly created elements can be added to any folder in the Organizer,
and is an excellent (in my opinion) for top down design. Non-geometric
elements can be added to the Organizer along with elements and files. Here
are a few samples.
Configurations help evaluate and
make changes easily
We built two alternative configurations
of the hair dryer - a round motor configuration and a square motor configuration.
The original configuration was called the Default configuration. We were
easily able to build new configurations as can be seen from the menu. We
then shared parts between the appropriate configurations. When we clicked
on the square configuration we got the information related to that and
visa-versa. Take a look at some screen shots of configurations. This ability
to change easily between alternative solutions illustrates the real power
of functional modeling -- little additional effort is required, because
each part contains the knowledge of how to interact with other parts.
The Navigator displays two additional
Windows - one showing associations used, the second showing is "used by"
associations. At first glance it doesn't look very useful, but it turns
out to be very interesting to explore how the model was built. We found
it particularly fascinating because we could navigate by features across
a particular model. Clicking on the features allowed us to examine the
details of how the selected feature was built. For instance, by clicking
on the exhaust pipe and using associations we were able to determine that
it was built by a 4 lines being rotated. In addition, "they used by" association
tells you what other features are built from a particular element. See
The IX database uses a compound
database made up of several items, including the Functional Description,
Logical Description, Geometric and Topology Description and the drawings.
A single data file has separate parts. The geometric and topological descriptions
represent the recipe for the part and can be completely compacted. When
the part is compacted this is all that is saved. This "recipe" or "Functional
Object Representation" is used to maintain for collaboration and because
of its compact size, allow collaboration even over low bandwidth connections.
Most of this article explores IX
Design. But we cannot leave without mentioning the IX Collaboration Package.
This is made possible because of the Functional Object Representation storage
capability of the SPeeD suite, in conjunction with server software that
manages simultaneous electronic collaboration along with the concept of
Intent Merge, that automatically reconciles additions and changes to
the product definition across multiple collaboration sessions. The result
enables globally dispersed team members to create, evaluate, and change
product definitions both asynchronously and synchronously. In addition,
team members can work only with the geometry that they need for their specific
function. The server insures that all team members are working with the
latest model data.
Some of you might have had a chance
to read a review of the software made by CAD Report earlier in the year.
We asked Bassi to review the criticisms and to update the progress made
in the software since this February article. In that publication, a number
of suggestions were made by the author, Steve Wolfe, on more to be done
with IX Design before release. Most have already been added to the software.
The following items have already been completed or will be by FCS: mass
property calculations, snapping of wireframe entities to vertices and center
points, support for IGES, ACIS, Parasolid and STEP, feature Arrays, feature
pattern arrays where the patterns related back to and are dependent on
the original feature, mirror and copy functions, interference checking
on parts and assemblies, 2D kinematics analysis, thin wall features, turning
a surface into a solid, and support for reference files rather than loading
the entire part into the model.
Functionality planned for the near
future (after FCS) includes more advanced kinematic analysis, sheet metal
modeling, and VDA support,
The developer tools are already
available and ready. They are object oriented, offering great benefits
to third party developers. These tools allow the ability to easily integrate
with the entire IX infrastructure by appending objects, thus offering full
associativity. complete integration into the system, along with object
persistence, undo redo, and user interaction. Interfacing to the system
using these development tools requires knowledge of visual C++. Bassi insists
that one week of training would be enough for a skilled C++ programmer
to begin developing with the IX API. Vendors interested in contacting IX
should contact Martin Welch whose e-mail is firstname.lastname@example.org.
For users, IX plans a visual interface that can call .com objects, to be
available after FCS.
Modeling a part from the TechniCom
mid range MCAD benchmark
Bassi is showing me a great deal
of the IX design flexibility by modeling a bracket that we used during
our mid range benchmarks in 1999. One of the things that we found was the
capability to easily make modifications. Without setting up equations we
were easily able to maintain the topology while modifying one or more of
the features. We think this is absolutely unique and while we have not
tested this, we don't believe any other modeling system has the capability
to do this. Additionally we were able to build a cutout for the inner bearing
chase external from the external model, drag and snap it onto the center
point of the outer bearing chase and voila! The cutout feature took effect.
Take a look for yourself by reviewing
the three Changes images here.
Software reliability excels
Of tremendous interest is the fact
that in the two days we worked on the system, the system never crashed
or lost data. This is highly unusual during this early state of development
for software of this complexity. Bassi proudly stated that this was an
intrinsic part of the software architecture. The system traps errors, can
smoothly recover from any that do occur, and users can even use undo to
arrive at a previously valid state. Very impressive from those of us that
have suffered from an endless variety of system crashes. Are we witnessing
a new era in software reliability here?
Pricing, availability and distribution
The IX SPeeD Suite includes IX Design
and the IX Collaboration Package. IX Design serves as the design authoring
tool, while the IX Collaboration Package consists of server software that
manages simultaneous electronic collaboration. The IX collaboration package
is available to users via servers at the IX facility at no extra charge.
It's use is included with the estimated $2500 annual IX Design subscription.
The SPeeD suite is expected to be released with the next 30 to 60 days.
The product has already been released
in Japan, by ImpactXoft's partner, Toyota Caelum, Inc. (TCI). Headquartered
in Nagoya, Japan, TCI has supported and funded ImpactXoft's creation of
the IX SPeeD Suite. TCI will distribute the products in the Japanese market
under the name XXen while ImpactXoft will distribute the IX SPeeD Suite
to the rest of the world market. Deliveries will begin in the Japanese
market starting in June, 2001. ImpactXoft distribution plans include web
based sales, as well as direct and indirect sales. See their web site for
the latest information on how to order copies or get demo software.
What needs improvement
We agree with Wolfe's comment that
it is awkward and aggravating to work using coordinate systems. Bassi counters
that this is an advantage. While it is somewhat more awkward, working with
coordinate systems allows for additional flexibility. For instance when
working on a plane, users can build 2D geometry offset, or even at an angle
from that plane. Still, there are better techniques, such as that used
by SolidWorks, by starting on a face.
The user interface is indeed homely.
ImpactXoft plans to improve the UI after FCS. Today IX Design allows some
customization. Users can change color and add gradients to the background.
The software needs improvement here, but is certainly usable as is. We
hope that IX focuses on improving the menu structure, making it more Windows
like. We would also like to see the introduction of templates that would
guide the user through the design process.
Because of the status of the product,
no integrated third party products are available. We anticipate that this
will change in the future with the successful adoption of the software
by users. IX Design uses ACIS as its base geometry modeling system. Therefore,
many third party products should be able to directly read the geometry.
Basically, the modeling software,
using its design menu approach along with a remote or local server, enables
design collaboration (called Simultaneous Product Development), a method
in which members of the entire global development chain work in parallel
to create and finalize part and assembly definitions. Along with the collaboration,
IX's solid modeling software incorporates functional modeling, a new technique
that eliminates the confusion of changing full history based models and
simplifies the entire design process by making it easier to make changes.
In history based modeling,
one of the most significant drawbacks is that this technique only works
for small changes to the model. As any user of solid modeling can describe,
large parametric changes will invariably break the model. This becomes
even worse as parent relationships extend into many other parts and assemblies.
Sets of highly complex relationships built using equations of parameters
only exacerbate the problem. Functional modeling changes the paradigm!
And for the better. Since features carry their own function, the resulting
model does not depend upon its history, but rather its content. We believe
that IX's functional modeling is a precursor for a change in solid modeling
Above, we illustrated how IX Design
approached one of the tests on TechniCom's mid range benchmark. Soon we
hope to be able to put IX Design through the full paces of our mid range
benchmark. We will report to you on the results.
In summary, we are enamored with
the entire software suite and highly recommend that users get copies for
their internal testing as soon as the product becomes available.