<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix"><br>
Hi Ed,<br>
<br>
Thanks for the feedback below. I think it confirms there is an
issue and opportunity.<br>
<br>
We can both read P21 files. When the spec is finished we will both
be able to read P21 e3 files. <br>
<br>
However, if we do not agree on a common organization for the
partitioning then the only way I will be able to read your e3
files will be to read all the partitions, assembly all the data in
memory and create my internal data structures, and vice versa for
your software. This is not going to work for incredibly large
models.<br>
<br>
If we want to be able process each others very large models then
we need to agree on one or more organizations for the e3 files.<br>
<br>
A simple example is a matrix. In the header of each P21 file we
put a volume record describing the geometric limits of this model
as a rectangular volume, then when I need to process your data to
create a layer for some kind of machine processing I will be able
to limit myself to those partitions that may contain material in
this layer and vice versa.<br>
<br>
Obviously this only solves one of the problems because what
happens when you want to visualize the whole model before your
print it? (The AVM program has a very hard time when it wanted to
exchange the complete model of its vehicle. It was only 700M but
some of the low end CAD systems took forever to read and convert
the data).<br>
<br>
Hence we need some kind of big manufacturing data project. The
goal being to come up with one or more basic data organizations so
that we can all cooperate to:<br>
<br>
1. Build very big models<br>
2. Visualize and check them<br>
3. Machine them<br>
<br>
Martin<br>
<br>
On 8/28/2014 8:25 AM, Paff, Ed wrote:<br>
</div>
<blockquote
cite="mid:7707e13d97284190bab1d085a8a03385@EX1.iti-global.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1">
<meta name="Generator" content="Microsoft Word 14 (filtered
medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Cambria;
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman","serif";
color:black;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-reply;
font-family:"Calibri","sans-serif";
color:#8064A2;
font-weight:bold;
font-style:italic;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
<div class="WordSection1">
<p class="MsoNormal"><b><i><span
style="font-family:"Calibri","sans-serif";color:#8064A2">Martin,
I sent this to some of our guys who have been working
with AM in our cambridge office with our cadfix
product. Here are some comments:<o:p></o:p></span></i></b></p>
<p class="MsoNormal"><b><i><span
style="font-family:"Calibri","sans-serif";color:#8064A2"><o:p> </o:p></span></i></b></p>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"
lang="EN-GB">I’m not entirely clear on the context but only
considering the AM example I’d say that billions of
triangles would be hard to justify even if the software
didn’t buckle. The expectation is that some designer will be
sending his models off to a bureau via the internet to
manufacture – Like Henry does with his snowflakes. If the
file size for a simple but highly curved object grows too
quickly it becomes a punishment to send them to the bureau.
Henry’s use case is actually about the worst possible
scenario because each of the snowflakes he sends to
Materialise is unique.
<o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"
lang="EN-GB">Neither STL or AMF (fancy XML replacement for
STL) really deal with the issue of rapidly rising facet
counts as the precision of additive manufacturing machines
increases. AMF at least uses a list of vertices indexed by
the facets but it’s written in very idiomatic XML so it’s
super-verbose in it’s raw form has to be zipped and
decompressed on the fly while reading which can’t do much
for performance.
<o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"
lang="EN-GB">For our current work in AM I would tend to
favour plain old BREP geometry with some kind of strict
limit on the edge-face sloppiness which is the cause of most
of our woes. STEP is perfectly suitable for this but things
start to look a little tricky when we have to deal with “<a
moz-do-not-send="true"
href="http://www.thingiverse.com/thing:11509">organic</a>”
looking models that can’t easily be converted into a BREP.
Support for freeform models would probably require a lot of
planar triangles or a neutral subdivision surface or
high-order triangle representation like we use in CADfix.
However, I don’t know if there’s much urgency in industrial
AM applications to handle non-BREP data. <o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"
lang="EN-GB">Metadata is also fiddly and not really handled
satisfactorily in AMF. Multi-material printers are
increasingly popular these days but assigning a specific
material or colour transition within a body just isn’t done.
Usually it’s supported by cutting the body up with planes
and assigning a single property each of the resulting
bodies. Similarly, decisions about layer positioning and
models orientation have a significant impact on the
manufacturing results for precision parts and there’s a
whole debate on whether this should be specified as part of
the model description or left up to the machine operator to
decide.
<o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"
lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"
lang="EN-GB">So I guess I’m saying there’s a lot of room for
improvement over current processes. A multi-file approach to
massive models (or very large build volumes in AM) sounds
very sensible as a means of keeping models manageable and
any other moves to limit file size without losing quality of
data would probably be appreciated. For reference CADfix can
just about display 40 million triangles without dynamic
rotation falling apart but I imagine that 100x that number
would start causing all sorts of problems in the kernel – I
note, for example, that the maximum 32 bit integer is about
2 billion so we certainly can’t have a mesh/frog with more
than that many vertices without switching a ton of code over
to long integers. <o:p></o:p></span></p>
<p class="MsoNormal"><b><i><span
style="font-family:"Calibri","sans-serif";color:#8064A2"><o:p> </o:p></span></i></b></p>
<p class="MsoNormal"><b><i><span
style="font-family:"Calibri","sans-serif";color:#8064A2"><o:p> </o:p></span></i></b></p>
<div>
<div style="border:none;border-top:solid #B5C4DF
1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext">From:</span></b><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext">
wg11 [<a class="moz-txt-link-freetext" href="mailto:wg11-bounces@steptools.com">mailto:wg11-bounces@steptools.com</a>]
<b>On Behalf Of </b>Martin Hardwick<br>
<b>Sent:</b> Tuesday, August 26, 2014 11:55 AM<br>
<b>To:</b> wg11<br>
<b>Subject:</b> [wg11] Fwd: RE: Step Standards for
Additive Manufacturing<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><br>
<span style="color:#333300">All,<br>
<br>
Here is the paper that raised questions about the ability of
traditional CAD systems to model very large structures for
applications such as additive manufacturing.<br>
<br>
This does not mean that they cannot be used for such
modeling but it does imply that new infrastructure is
required to enable such modeling and in my opinion the best
hope for a near term solution is Part 21 Edition 3 combined
with AP242, and the STEP-NC models for additive and
subtractive machining. <br>
<br>
Key advantages include:<br>
1. Interfaces to read and write the geometry to and from
nearly all the CAD systems<br>
2. Very efficient format for modeling facets<br>
3. Information models both additive and subtractive
manufacturing<br>
4. International Standard<br>
<br>
What we need to do is create an infrastructure for
processing this data in very large volumes so that we can
support applications like additive manufacturing, 3D circuit
design, very large buildings construction and very large
defense platforms.<br>
<br>
I would see this mostly as imposing an organization onto the
division of an AP242 file into billions of linked P21 e3
segments.</span> Seemingly trivial until you start to think
about all the different ways that applications will want to
find and access the data.<br>
<br>
Here is the problem statement that I received from a well
known CAD/CAM vendor<o:p></o:p></p>
<div>
<div>
<p class="MsoNormal"><span style="color:#BC0082"> </span><span
style="font-size:11.0pt;font-family:"Cambria","serif""><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Cambria","serif";color:#BC0082">(1)
Simple calculations. Suppose you have an object with a
volume of 1 cubic meter, and the</span><span
style="font-size:11.0pt;font-family:"Cambria","serif""><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Cambria","serif";color:#BC0082">cells
in the lattice have a volume of 1 cubic millimeter. Then
there will be 10^9 cells.</span><span
style="font-size:11.0pt;font-family:"Cambria","serif""><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Cambria","serif";color:#BC0082">If
you use a curvy b-rep, there might only be 2 or 3 faces
per cell; with a facetted b-rep,</span><span
style="font-size:11.0pt;font-family:"Cambria","serif""><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Cambria","serif";color:#BC0082">maybe
10 or 20 facets per cell. But, either way, that’s a huge
number of faces. If the cells are</span><span
style="font-size:11.0pt;font-family:"Cambria","serif""><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Cambria","serif";color:#BC0082">all
identical, you can represent them using a repeated
pattern technique some of the time,</span><span
style="font-size:11.0pt;font-family:"Cambria","serif""><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Cambria","serif";color:#BC0082">but,
for some operations, you will actually need explicit
representations of all those faces.</span><span
style="font-size:11.0pt;font-family:"Cambria","serif""><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Cambria","serif";color:#BC0082">No
modeler (as far as I know) can handle that many faces,
and no graphics card can handle</span><span
style="font-size:11.0pt;font-family:"Cambria","serif""><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Cambria","serif";color:#BC0082">10^9
triangles. Not even close.</span><span
style="font-size:11.0pt;font-family:"Cambria","serif""><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:#BC0082"> </span><span
style="font-size:11.0pt;font-family:"Cambria","serif""><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Cambria","serif";color:#BC0082">(2)
These folks ... (in the attached paper)</span><span
style="font-size:11.0pt;font-family:"Cambria","serif""><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Cambria","serif";color:#BC0082"> </span><span
style="font-size:11.0pt;font-family:"Cambria","serif""><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Cambria","serif";color:#BC0082">found
that ACIS ground to a halt when they tried to model a
lattice with</span><span
style="font-size:11.0pt;font-family:"Cambria","serif""><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Cambria","serif";color:#BC0082">around
2400 simple cells (see pages 9-10). This was 10 years
ago, and computers are</span><span
style="font-size:11.0pt;font-family:"Cambria","serif""><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Cambria","serif";color:#BC0082">bigger/faster
nowadays, but I don’t see that this will allow us to
make the leap from</span><span
style="font-size:11.0pt;font-family:"Cambria","serif""><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Cambria","serif";color:#BC0082">2400
cells to 10^9. I’d love to be proven wrong. If plain old
b-reps could be made to</span><span
style="font-size:11.0pt;font-family:"Cambria","serif""><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Cambria","serif";color:#BC0082">work,
that would certainly make life easier for us.</span><span
style="font-size:11.0pt;font-family:"Cambria","serif""><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:#BC0082"> </span><span
style="font-size:11.0pt;font-family:"Cambria","serif""><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:#003333">Martin
Hardwick<br>
President STEP Tools, Inc.<br>
Professor of Computer Science, RPI<br>
Team Leader ISO STEP-Manufacturing</span><span
style="font-size:11.0pt;font-family:"Cambria","serif""><o:p></o:p></span></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</blockquote>
<br>
</body>
</html>