⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tutorialacis tutorial 3 understanding and traversing acis topology (part i) - docr18.mht

📁 acis说明文档
💻 MHT
📖 第 1 页 / 共 5 页
字号:
      <DIV style=3D"MARGIN-LEFT: auto; WIDTH: 300px; MARGIN-RIGHT: =
auto"><A=20
      class=3Dimage title=3D"Tutorial3 Intro2.jpg"=20
      =
href=3D"http://doc.spatial.com/r18/index.php/Image:Tutorial3_Intro2.jpg">=
<IMG=20
      height=3D200 alt=3D"" src=3D"" width=3D273 =
border=3D0></A></DIV></DIV>
      <DIV class=3Dgallerytext>
      <P>A solid with 4 faces, 6 edges and 4 vertices <!-- Tidy found =
serious XHTML errors =
--></P></DIV></DIV></TD></TR></TBODY></TABLE></CENTER>
<P>Is it readily apparent that the topology in the middle diagram above =
with 4=20
vertices, 6 edges, and 4 faces is the topology for the object shown on =
the=20
right? Do you see that this also could be the lower topology for a =
cylinder? Or=20
a frustum of a cone? Or a sphere? </P><A name=3DBodies></A>
<H3><SPAN class=3Dmw-headline>Bodies </SPAN></H3>
<DL>
  <DD><SPAN class=3D"boilerplate seealso"><I>Main article: <A =
class=3Dnew=20
  title=3DBodies=20
  =
href=3D"http://doc.spatial.com/r18/index.php?title=3DBodies&amp;action=3D=
edit">Bodies</A></I></SPAN>=20
  </DD></DL>
<P>A <B>body</B> is a collection of one or more lumps. Most ACIS =
algorithms=20
operate on bodies, so generally when we construct ACIS models we will =
create=20
bodies, rather than stand-alone lower topological entities. </P>
<P>The concept of a body is implemented in the BODY class. The BODY =
class is=20
derived from the ENTITY class. Each instance of a BODY contains a =
pointer to the=20
first LUMP in a singly-linked list of LUMPS. </P><A name=3DLumps></A>
<H3><SPAN class=3Dmw-headline>Lumps </SPAN></H3>
<DL>
  <DD><SPAN class=3D"boilerplate seealso"><I>Main article: <A =
class=3Dnew=20
  title=3DLumps=20
  =
href=3D"http://doc.spatial.com/r18/index.php?title=3DLumps&amp;action=3De=
dit">Lumps</A></I></SPAN>=20
  </DD></DL>
<DIV class=3D"thumb tright">
<DIV class=3Dthumbinner style=3D"WIDTH: 322px"><A class=3Dimage=20
title=3D"A lump containing multiple volumes, sheets and wires"=20
href=3D"http://doc.spatial.com/r18/index.php/Image:Tutorial3_Lump.jpg"><I=
MG=20
class=3Dthumbimage height=3D214=20
alt=3D"A lump containing multiple volumes, sheets and wires"=20
src=3D"http://doc.spatial.com/r18/images/thumb/8/81/Tutorial3_Lump.jpg/32=
0px-Tutorial3_Lump.jpg"=20
width=3D320 border=3D0></A>=20
<DIV class=3Dthumbcaption>
<DIV class=3Dmagnify style=3D"FLOAT: right"><A class=3Dinternal =
title=3DEnlarge=20
href=3D"http://doc.spatial.com/r18/index.php/Image:Tutorial3_Lump.jpg"><I=
MG=20
height=3D11 alt=3D"" src=3D"" width=3D15></A></DIV>A lump containing =
multiple volumes,=20
sheets and wires</DIV></DIV></DIV>
<P>A <B>lump</B> is a set of connected points. It may consist of =
volumes,=20
sheets, and/or wires. For a volume the lump includes not only the points =
on the=20
boundary of the volume but also the points in the interior of the =
volume. For=20
sheets and wires there is no interior, so they consist strictly of the =
points on=20
the boundary. The figure to the right depicts a lump containing multiple =

volumes, sheets and wires. </P>
<P>A lump is analogous to a lump of clay. It can be a thick lump, i.e., =
a=20
volume, or it can be squished flat into a sheet, or it can be rolled =
into a thin=20
wire, or it can consists of many volumes, sheets, and wires. The primary =

constraint is that all the pieces of clay must be connected. </P>
<P>What are the relationships among the lumps of a body? The lumps of a =
body=20
should not be connected to each other physically or topologically. If =
two lumps=20
touch each other, they should be combined into a single lump. </P>
<P>Why do we need lumps? Couldn't each body represent a single lump, in =
which=20
case the body would simply contain a list of shells? The simple answer =
is, lumps=20
are <I>not</I> necessary. One could design a topological structure =
without them.=20
They have been included in the ACIS topological structure for =
efficiency. Many=20
algorithms are simpler and more efficient because of the presence of =
lumps and=20
many interfaces are simpler because of the presence of lumps. At their=20
discretion algorithms may separate a body with multiple lumps into =
separate=20
bodies, or they may combine bodies with physically separate lumps into a =
single=20
body with multiple lumps. </P>
<P>The concept of a lump is implemented in the LUMP class. The LUMP =
class is=20
derived from the ENTITY class. Each instance of a LUMP contains a =
pointer to the=20
BODY that owns it, a pointer to the next LUMP in the linked list of =
LUMPS owned=20
by the BODY, and a pointer to the first SHELL in a singly-linked list of =
SHELLS.=20
</P><A name=3DShells></A>
<H3><SPAN class=3Dmw-headline>Shells </SPAN></H3>
<DL>
  <DD><SPAN class=3D"boilerplate seealso"><I>Main article: <A =
class=3Dnew=20
  title=3DShells=20
  =
href=3D"http://doc.spatial.com/r18/index.php?title=3DShells&amp;action=3D=
edit">Shells</A></I></SPAN>=20
  </DD></DL>
<DIV class=3D"thumb tright">
<DIV class=3Dthumbinner style=3D"WIDTH: 252px"><A class=3Dimage=20
title=3D"A solid body with an interior void"=20
href=3D"http://doc.spatial.com/r18/index.php/Image:Tutorial3_Shell1.jpg">=
<IMG=20
class=3Dthumbimage height=3D185 alt=3D"A solid body with an interior =
void"=20
src=3D"http://doc.spatial.com/r18/images/thumb/1/1d/Tutorial3_Shell1.jpg/=
250px-Tutorial3_Shell1.jpg"=20
width=3D250 border=3D0></A>=20
<DIV class=3Dthumbcaption>
<DIV class=3Dmagnify style=3D"FLOAT: right"><A class=3Dinternal =
title=3DEnlarge=20
href=3D"http://doc.spatial.com/r18/index.php/Image:Tutorial3_Shell1.jpg">=
<IMG=20
height=3D11 alt=3D"" src=3D"" width=3D15></A></DIV>A solid body with an =
interior=20
void</DIV></DIV></DIV>
<P>A <B>shell</B> is a connected set of boundary elements. For sheet =
bodies and=20
wires bodies there is a one-to-one correspondence between lumps and =
shells. In=20
other words, a sheet body or wire body with a single lump will have a =
single=20
shell. For solid bodies, there can be more than one shell per lump. A =
lump=20
possesses multiple shells when there is an interior void in the volume. =
For=20
example, if one had a hollow rubber ball, one shell would be used to =
represent=20
the outer spherical surface and another shell would be used to represent =
the=20
inner spherical surface. Note, these two spherical shells are not =
connected to=20
each other. Their only connection is through the lump structure. The =
only time=20
multiple shells exist in a lump is when there are interior voids in a =
volume.=20
The figure at the right depicts a solid with an interior void, which is=20
represented by a lump with two shells. </P>
<P>What are the relationships among the shells of a lump? The shells of =
a lump=20
should not be connected to each other physically or topologically. If =
two shells=20
touch each other, they should be combined into a single shell. </P>
<P>Why do we need shells? Couldn't each lump represent a single shell, =
in which=20
case the lump would simply contain a list of faces and wires? The shell=20
construct allow us to have voids in a volume. If shells did not exist, =
one could=20
not have two disconnected sets of faces in a solid body. They would have =
to be=20
connected to each other somehow. The cleanest approach is simply to =
implement=20
the shell concept. </P>
<P>The concept of a shell is implemented in the SHELL class. The SHELL =
class is=20
derived from the ENTITY class. Each instance of a SHELL contains a =
pointer to=20
the LUMP that owns it, a pointer to the next SHELL in the linked list of =
SHELLS=20
owned by the LUMP, a pointer to the first FACE in a singly-linked list =
of FACES,=20
and a pointer to the first WIRE in a singly-linked list of WIRE. In =
addition, a=20
SHELL may contain a pointer to a hierarchy of SUBSHELLS. </P><A=20
name=3DSubshells></A>
<H3><SPAN class=3Dmw-headline>Subshells </SPAN></H3>
<DL>
  <DD><SPAN class=3D"boilerplate seealso"><I>Main article: <A =
class=3Dnew=20
  title=3DSubshells=20
  =
href=3D"http://doc.spatial.com/r18/index.php?title=3DSubshells&amp;action=
=3Dedit">Subshells</A></I></SPAN>=20
  </DD></DL>
<P>A shell typically consists of faces and wires. Occasionally a shell =
will be=20
subdivided into a hierarchy <B>subshells</B>, but this rare. A subshell, =
similar=20
to a shell, is a connected set of faces, wires, and subshells. Unlike =
shells,=20
the constituents of two subshells may be connected to each other. =
Subshells=20
exist in the topological data structure as an efficiency tool for =
algorithms. At=20
their discretion algorithms may create, expand, or collapse a hierarchy =
of=20
subshells. </P>
<P>When would one want to use subshells? If one had a complex model (say =
on the=20
order of thousands of faces or tens of thousands of faces) and one knew =
that=20
subsequent modeling operations were going to be restricted to a =
relatively small=20
spatial region, one could subdivide a shell into two pieces, the portion =
of the=20
shell inside the region of interest and the portion of the shell outside =
the=20
region of interest. Then subsequent modeling operations could relatively =
easily=20
exclude the portion of the shell that was outside the region of =
interest.=20
Alternatively, proponents of octree based methods could subdivide a =
shell based=20
upon octree based algorithm. The diagram below depicts a shell that has =
been=20
decomposed into a hierarchy of subshells. One might use such a hierarchy =
to=20
represent a binary tree or octree decomposition. In this example the =
leaves of=20
the tree would most like contain all the face and wire lists. </P>
<DIV class=3Dcenter>
<DIV class=3D"thumb tnone">
<DIV class=3Dthumbinner style=3D"WIDTH: 602px"><A class=3Dimage=20
title=3D"A shell decomposed into a hierarchy of subshells"=20
href=3D"http://doc.spatial.com/r18/index.php/Image:Tutorial3_Subshells.jp=
g"><IMG=20
class=3Dthumbimage height=3D131=20
alt=3D"A shell decomposed into a hierarchy of subshells"=20
src=3D"http://doc.spatial.com/r18/images/thumb/b/bc/Tutorial3_Subshells.j=
pg/600px-Tutorial3_Subshells.jpg"=20
width=3D600 border=3D0></A>=20
<DIV class=3Dthumbcaption>
<DIV class=3Dmagnify style=3D"FLOAT: right"><A class=3Dinternal =
title=3DEnlarge=20
href=3D"http://doc.spatial.com/r18/index.php/Image:Tutorial3_Subshells.jp=
g"><IMG=20
height=3D11 alt=3D"" src=3D"" width=3D15></A></DIV>A shell decomposed =
into a hierarchy=20
of subshells</DIV></DIV></DIV></DIV>
<P>The concept of a subshell is implemented in the SUBSHELL class. The =
SUBSHELL=20
class is derived from the ENTITY class. Each instance of a SUBSHELL =
contains a=20
pointer to its parent SUBSHELL, a pointer to the next SUBSHELL in the =
linked=20
list of SUBSHELLS of its owner (i.e., its next sibling), a pointer to =
the first=20
FACE in a singly-linked list of FACES, and a pointer to the first WIRE =
in a=20
singly-linked list of WIRE, and a pointer to a hierarchy of child =
SUBSHELLS. A=20
FACE or WIRE must be contained either in the SHELL itself or in exact =
one of the=20
SUBSHELLS. </P><A name=3DWires></A>
<H3><SPAN class=3Dmw-headline>Wires </SPAN></H3>
<DL>
  <DD><SPAN class=3D"boilerplate seealso"><I>Main article: <A =
class=3Dnew=20
  title=3DWires=20
  =
href=3D"http://doc.spatial.com/r18/index.php?title=3DWires&amp;action=3De=
dit">Wires</A></I></SPAN>=20
  </DD></DL>
<DIV class=3D"thumb tright">
<DIV class=3Dthumbinner style=3D"WIDTH: 252px"><A class=3Dimage=20
title=3D"A body with one solid and three wire regions"=20
href=3D"http://doc.spatial.com/r18/index.php/Image:Tutorial3_WireTypes.jp=
g"><IMG=20
class=3Dthumbimage height=3D180 alt=3D"A body with one solid and three =
wire regions"=20
src=3D"http://doc.spatial.com/r18/images/thumb/c/c1/Tutorial3_WireTypes.j=
pg/250px-Tutorial3_WireTypes.jpg"=20
width=3D250 border=3D0></A>=20
<DIV class=3Dthumbcaption>
<DIV class=3Dmagnify style=3D"FLOAT: right"><A class=3Dinternal =
title=3DEnlarge=20
href=3D"http://doc.spatial.com/r18/index.php/Image:Tutorial3_WireTypes.jp=
g"><IMG=20
height=3D11 alt=3D"" src=3D"" width=3D15></A></DIV>A body with one solid =
and three wire=20
regions</DIV></DIV></DIV>
<P>A <B>wire</B> is a set of connected edges that do not bound faces. =
Wires may=20
contain one or more edges, be open or closed, have branches, and have =
multiple=20
circuits. In addition, a wire may be either outside or inside a volume. =
If the=20
wire is inside a volume it can be interpreted as an infinitesimally =
small hole=20
through the volume. Alternatively, wires contained within a volume could =
be used=20
to represent a non-homogeneous, engineered material, such as concrete =
reinforced=20
with rebar. A wire cannot be both inside and outside a volume. A body =
with two=20
external wires and one internal wire are depicted in the figure to the =
right.=20
</P>
<P>The diagram below depicts the edges and coedges of a wire with =
multiple=20
branches and one closed circuit. Notice that the direction of the =
coedges may be=20

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -