<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>Romain Pr E Vost, Emily Whiting, Sylvain Lefebvre, and Olga Sorkine-Hornung. Make it stand:
balancing shapes for</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Rule-based Lightweight Structure Design</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Yuan Yao, Wanwan Li, Junsheng Shen</string-name>
          <email>yaoyuan@shu.edu.cn</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Xiaoming Yang</string-name>
          <email>yxm2008@hutc.zj.cn</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>School of Computer Science, Huzhou University</institution>
          ,
          <addr-line>Huzhou, CN</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>School of MEA, Shanghai University</institution>
          ,
          <addr-line>Shanghai, CN</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2013</year>
      </pub-date>
      <volume>32</volume>
      <issue>4</issue>
      <fpage>86</fpage>
      <lpage>92</lpage>
      <abstract>
        <p>This paper presents a rule-based computer aided design framework for assembling complex internal structure. It defines each voxel with its neighborhood as an intelligent agent, which make it possible to convert the structural assembly problem into an optimization problem of a multi-agent system. We use this method in the lightweight model design. Simple defeasible rules are used to build up the agents behaviors, which bind the external requirements with the internal structures. The target model is generated by the emergence of a large number of agents, which provided an implementation mechanism for the function-oriented design.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>INTRODUCTION
3D printing technologies provided a solution to the fabrication of complex structures, while it also brought complexity to
the design. At present, some 3D printing oriented CAD systems, such as Meshmixer and 3-Matic, have been integrated
with mesh model optimization modules to provide mesh hollowing, support structure generation and other operations to
support lightweight design. However, there is a lack of effective analytical testing and evaluation tools for inexperienced
designers. For example, the structural strength cannot be tested in the process of design. Most CAD methods rely on
the third-party simulation and analysis system to validate the design. This process is repeated until the model meets the
requirements of functions and the manufacturing process.</p>
    </sec>
    <sec id="sec-2">
      <title>Many researchers attempt to improve the design ability by integrating the process of design and analysis into an iterative</title>
      <p>process. In the lightweight design, changing the internal structures [LSZ+14]and the material distribution[PEVWLSH13],
are commonly used methods to reduce the weight while maintaining the strength of model. Wang et al. [WWY+13]
proposed a skin-frame structure to save the cost of printing and shorten the printing time. This method was further extended
for generating support structures in 3D printing. Telea et al.[TJ11] provided an evaluation method to detect and assess
strength problems caused by the slender structures and holes in the model.</p>
    </sec>
    <sec id="sec-3">
      <title>In order to establish a reused design framework, Vidimce et al.[VVCEWRKM13] presented a programmable pipeline</title>
      <p>for specifying multi material distribution in the 3D structures, which provided a programming mechanism for
designing complex volumetric structure. Chen et al.[CLD+13] used a reducer tree and a tuner network to translate functional
requirements to structures. However, these work cannot avoid complex configuration and programming.</p>
    </sec>
    <sec id="sec-4">
      <title>The integration of finite element analysis (FEA) in the iterative makes the design process become a time consuming work, To speed up the design, Chen et al.[CLSM15] provided a data driven finite element method. A composed structure library was built to simulate the real properties of the complex multi-material structure units. These kind of techniques</title>
      <p>are not enough to solve the problem. With the increase of design complexity, the mesh model is often divided into high
precision voxels. While the computation demand is also becoming huge [KTL+15].</p>
      <p>In order to reduce the amount of computation, we provide a structure evolution framework for volumetric structure
design. In this framework, a voxel with its neighborhood is defined as an intelligent agent. As a consequence, the volumetric
modeling can be converted into a self-organized problem driven by a multi-agent system(MAS). Simple rules are designed
to build up the geometric structures of the voxels, and the type of interconnection between them. We describe the MAS
based volumetric structure design framework in detail and utilize it in a lightweight model design. By using different group
of rules, different forms of structures are generated. While the mechanical simulation result can be fed back into the design
process to realize a demand-driven design.
2</p>
      <sec id="sec-4-1">
        <title>Design Framework</title>
        <p>The goal of lightweight model design is to reduce the quality of the model according to the requirements of mechanics and
functions. It can be defined as the following optimization problem:
arg min Σvi
vi</p>
        <p>∀vi ∈ M : F(vi) &lt; η[σ]
where vi is a voxel, M presents the entity part of the model, F(vi) represents the stress at vi, [σ] is the allowable stress, and
η is a safety coefficient.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>In order to meet the design goals, we first integrate the structural design and the structure analysis into a unified volumetric computational domain. As shown in fig. 1, the proposed design framework is divided into four stages: (1)voxelization, (2)initialization, (3)structure evolution, and (4)evaluation (FEA) &amp; feedback. The evolution and evaluation are repeated until achieve the terminal conditions. The output volumetric model can be reconstructed to a closed mesh for 3D printing.</title>
    </sec>
    <sec id="sec-6">
      <title>The voxelization stage discretizes the input mesh model into the voxels domian. By using the modern methods, such as the out-of-core sparse voxel octrees [BLD14], highly detailed multi-material structures can be expressed in a single data structure. As a consequence, all design and analysis are able to carried out on this discrete data structure.</title>
      <p>2.2</p>
      <sec id="sec-6-1">
        <title>Initialization</title>
        <p>In the initialization stage, we define a voxel with its neighborhood as a intelligent agent. Due to the hierarchical structure
of the volumetric model, this definition can be done on the different levels of the model. Therefore, different population
of agents can be produced. The initial configuration of the system is composed of a population of agents that fixed at the
corresponding voxels. Each agent can change its own structure based on the environment. We thus convert the volumetric
model into a multi-agents system (MAS). The function oriented design can also be described by a problem of MAS based
optimization.
2.3</p>
      </sec>
      <sec id="sec-6-2">
        <title>Evolution</title>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>The structure evolution stage is an iterative process. During each time step, an agent decides its action according to the</title>
      <p>environment. The environment contains many attributes, each attribute has a different impact on the agent. However, the
agent decides to attempt only one action. The agent’s behavior will change the local structure and induce reactions of the
environment. Therefore, the volumetric structure will continue to change until it meets the design requirements.
2.4</p>
    </sec>
    <sec id="sec-8">
      <title>In the context of lightweight model design, the process of evalution &amp; feedback is used to convert the user requirements to the data format can be perceived by the agent. That is, it builds up a sensible environment for the agents, together with the geometric constraints. More evaluation processes can be added in the framework to support other design requirements.</title>
      <p>3</p>
      <sec id="sec-8-1">
        <title>MAS Expression of the Framework</title>
      </sec>
    </sec>
    <sec id="sec-9">
      <title>MAS is preferred for expressing a group of heterogeneous entities. It provides a methodology for designing systems, from</title>
      <p>the view of the agents. In order to maintain consistency with the design framework provided in section 2, we assume that</p>
    </sec>
    <sec id="sec-10">
      <title>MAS is a discrete and finite system. The environment and the agents embedded in the environment are defined as follows.</title>
    </sec>
    <sec id="sec-11">
      <title>The environment is a 3D grid generated from a closed triangle mesh. The element in the grid is called voxel, denoted by v . Each v has different attributes.</title>
    </sec>
    <sec id="sec-12">
      <title>The agent is fixed in a voxel and its neighbourhood. The type of neighborhood can be Von Newmann or Moore. This</title>
      <p>structure is called a design unit. The voxels in a design unit can be changed and removed. A voxel can belong to different
design units (Fig.2). However, there cannot be more than one agent occupy the whole design unit. The entity part of the
model, denoted by M, is composed of the design units. Each design unit in M is characterized by a state vector sa, which
contains a set of variables that characterize the performance of the current structure. The behaviors of the population of
agent determine the final structure of M.</p>
      <p>We formulate the agents dynamics by using the defeasible rules [Lou87] . The reason we introduce the defeasible
logic is that the mechanism of microscopic structures interaction is very complex. Design requirements and design rules
are often changed in different applications and different domains. Those changing factors lead to the occurrence of many
abnormal conditions that we cannot predict and handle. For example, when a voxel suffered stress is far less than the safety
value, it will be deleted. However, the voxel is just located on the surface of the structure. The deletion will destroy the
structure. It is impossible to predict these type of exceptions, especially when more constraints are added in the design
process in the form of a group of rules. The defeasible logic is a suitable option, which can solve the conflicts of rules
without adding additional explicit knowledge. It provides a simple interface that allows the complex design system to be
controlled and guided by the user at a high level.</p>
    </sec>
    <sec id="sec-13">
      <title>Based on this, we describe the ability of agent from two aspects: the perception and actions. The perception consists of two functions:</title>
    </sec>
    <sec id="sec-14">
      <title>1. Γ1(state) return the agent’s own information. This state can be its own attributes sa or some indicators computed from</title>
      <p>these attributes.</p>
    </sec>
    <sec id="sec-15">
      <title>2. Γ2(state) return state from outside. In the context of lightweight model design, the only ouput is the feedback from</title>
      <p>FEA.</p>
    </sec>
    <sec id="sec-16">
      <title>The actions of a agent includes the change of its own state, the changing of the geometric structure and materials, etc.</title>
    </sec>
    <sec id="sec-17">
      <title>In the context of lightweight design, the set of actions includes:</title>
    </sec>
    <sec id="sec-18">
      <title>1. Delete(v): a agent delete its voxel.</title>
    </sec>
    <sec id="sec-19">
      <title>2. Update(v): a agent update the state of it’s voxel.</title>
    </sec>
    <sec id="sec-20">
      <title>In order to avoid cross operation, the v is limited to the voxel in the center of the design unit where an agent occupies.</title>
      <p>For each agent, the decision process returns an action based on the agent perceptions. Different perceptions need to be
combined to generate an action. At the level of the whole model, design requirements are converted to the domain beliefs
of the agents, expressed by the defeasible logic. For lightweight model design, these beliefs are listed as follows:
1. Facts:
(a) isS a f e(Γ2(stress)), to determine if the equivalent effective stress in a voxel is less than η[σ];
(b) isT enPercent(Γ2(stress)), to determine if the equivalent effective stress in a voxel is in the minimum of 10% of
the total voxels in M;
(c) isBoundary(Γ1(location)), to determine the center voxel of an agent is located on the boundary of M or not;
(d) isNull(Γ1(state)), to check if the property that indicates the distance to boundary is empty.
(e) isMaxInNeibour(Γ1(state)), to determine if the property that indicates the distance to boundary is the largest in
the neighborhood.</p>
    </sec>
    <sec id="sec-21">
      <title>2. Strict rules:</title>
      <p>(a) isNull(Γ1(state)) → U pdate(v)</p>
    </sec>
    <sec id="sec-22">
      <title>Defeasible rules:</title>
      <p>(a) isT enPercent(Γ2(stress)) ⇒ Delete(v)
(b) isMaxInNeibour(Γ1(state)) ⇒ Delete(v)</p>
    </sec>
    <sec id="sec-23">
      <title>3. Defeaters:</title>
      <p>(a) isBoundary(Γ1(location)) ! ¬Delete(v)
(b) ¬isS a f e(Γ2(stress)) ⇒ ¬Delete(v)</p>
    </sec>
    <sec id="sec-24">
      <title>In this simple model, no superiority relations are needed. In the voxels based lightweight model design framework,</title>
      <p>the agent is covered with each other, which can be used to simulate the interface of materials and structures, where their
boundaries are not clear in the real model. Heterogeneous agents can also be added to express the characteristics of the
multi-material, flexible structure, and gradient density distribution. In order to simplify the discussion, we only consider
the use of isomorphic agent in the context of lightweight model design.
4</p>
      <sec id="sec-24-1">
        <title>Experiments</title>
      </sec>
    </sec>
    <sec id="sec-25">
      <title>We use several mesh models to evaluate the features of our method. After voxelization by octree, each voxel with its Von</title>
    </sec>
    <sec id="sec-26">
      <title>Neumann neighborhood is chosen as a agent. Corresponding geometric editing methods and attribute editing methods are</title>
      <p>also developed according to the the actions of agent defined in section 3. For instance, the action update(v) is realized to
check whether the current property that indicates the distance to boundary is 0, if it is, and its neighborhood location value
is not 0, the property is updated with maximum(N (v)) + 1, where N (v) presents the voxels in the neighborhood of v.</p>
    </sec>
    <sec id="sec-27">
      <title>In the voxelization, the octree depth is set to 5. Thus the configuration of agents and the volumetric grid used in FEA can be defined in the same level. In the initialization stage, we first mark all voxels, i.e, the boundary voxels are set to 1, and the interior voxels are set to 0. Then, strict rules (a) is used to generate a signed distance map in the 3D volumetric space, which provides a signed distance map for rule-based structure evolution.</title>
    </sec>
    <sec id="sec-28">
      <title>In the evolution stage, The defeasible rule (b) and defeater (a), (b) are used to control the changing of structure together.</title>
    </sec>
    <sec id="sec-29">
      <title>If we convert the defeasible rule (b) to a strict rule, or delete the defeater (a), all structure units are removed. When the</title>
      <p>defeasible rule (b) is removed, the evolution process will not be started. Fig. 3 shows the structure evolution process on
different mesh models without external load. That means the formation of the structure is only affected by the gravity.</p>
    </sec>
    <sec id="sec-30">
      <title>In Fig. 3, the change of 3D structure is given by the odd lines. And the even number of lines give the structure change</title>
      <p>on the longitudinal section. Where N is the number of iterations of evolution. In the experiment, most of the process are
convergence after 8 times of iterations.</p>
      <p>By using of the new generated volumetric structure, the evaluation process further divide it into tetrahedral data. We
deploy OOFEM [Pat12] to carry out the FEA process. Considering the FEA process is the most time consuming operation
0122/3
45336
45..</p>
      <p>!"
!#
!$
!%
!&amp;
!'
!(
!)
!"*
!"
!#
!$
!+
!%
!&amp;
!'
!(
!)
!"
!#
!$
!+</p>
      <p>!%
!"
!#
!$
!+
!%
!&amp;
!&amp;
!'
!'
!(
!(
7
in the process of evolution. To further speed up the design process, we can utilize the low-resolution voxels for FEA
analysis, while use the high-resolution voxels to assemble the structure.</p>
    </sec>
    <sec id="sec-31">
      <title>We also test the structure design under the external loading condition. In this situation, The defeasible rule (a) and</title>
      <p>defeater (a), (b) are used to control the structure evolution process. The same terminal conditions is used, however, we get
the different structure. Fig. 4 shows the change of structure during the evolution process. We can see a support structure is
generated inside the model, which is just located in the direction of the external force.</p>
      <p>Fig. 5 shows examples of the generated solid model, fabricated by a common desktop FDM printer. The material is
PLA.
5</p>
      <sec id="sec-31-1">
        <title>Conclusion</title>
      </sec>
    </sec>
    <sec id="sec-32">
      <title>Simple defeasible rules can be used to establish relationship between simple properties and local structures. By using our</title>
      <p>framework and the existing logical reasoning method, we can build up a large number of rules to map the relationship
between complex structures and the functions. This provides an effective mechanism for design of functional structures
that are difficult to be expressed directly. In addition, the external information, such as the load, can be evaluated through</p>
    </sec>
    <sec id="sec-33">
      <title>FEA and fed back into the design process as a driving force for structures evolution. Our framework can also have the</title>
      <p>1 1 1 1
Figure 4: Structure evolution process with load
potential value to simulate the growth of real biological tissues.</p>
    </sec>
    <sec id="sec-34">
      <title>It is simple to extend the framework by adding new rules to support different design requirements and structure patterns.</title>
    </sec>
    <sec id="sec-35">
      <title>Therefore, designing more rules to test the ability of the method is a natural direction in the future. We will work on design of argumentation application to avoid the conflict problem in reasoning with a large number of design rules.</title>
      <p>6</p>
      <sec id="sec-35-1">
        <title>Acknowledgements</title>
      </sec>
    </sec>
    <sec id="sec-36">
      <title>This research is partly funded by a grant from the Huzhou city public key technology research projects,</title>
    </sec>
    <sec id="sec-37">
      <title>China(No.2013GZ02) and Public welfare technology research project of Zhejiang province, China(No.2014C31084).</title>
      <p>[BLD14]
[CLD+13]
[CLSM15]
[KTL+15]
[WWY+13]</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [TJ11]
          <string-name>
            <given-names>Alexandru</given-names>
            <surname>Telea</surname>
          </string-name>
          and
          <string-name>
            <given-names>Andrei</given-names>
            <surname>Jalba</surname>
          </string-name>
          .
          <article-title>Voxel-based assessment of printability of 3d shapes</article-title>
          .
          <source>In Mathematical Morphology and Its Applications to Image and Signal Processing</source>
          , pages
          <fpage>393</fpage>
          -
          <lpage>404</lpage>
          . Springer,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>[VVCEWRKM13] Kiril Vidim V C E</surname>
          </string-name>
          ,
          <string-name>
            <surname>Szu-Po</surname>
            <given-names>Wang</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jonathan</surname>
            Ragan-Kelley, and
            <given-names>Wojciech</given-names>
          </string-name>
          <string-name>
            <surname>Matusik</surname>
          </string-name>
          .
          <article-title>Openfab: A programmable pipeline for multi-material fabrication</article-title>
          .
          <source>ACM Transactions on Graphics</source>
          ,
          <volume>32</volume>
          (
          <issue>4</issue>
          ):
          <volume>136</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>136</lpage>
          :
          <fpage>12</fpage>
          ,
          <year>2013</year>
          . Open Fab
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <given-names>Weiming</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <surname>Tuanfeng</surname>
            <given-names>Y.</given-names>
          </string-name>
          <string-name>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <surname>Zhouwang Yang</surname>
          </string-name>
          , Ligang Liu, Xin Tong, Weihua Tong, Jiansong Deng, Falai Chen, and Xiuping Liu.
          <article-title>Cost-effective printing of 3d objects with skin-frame structures</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <source>ACM Transactions on Graphics (TOG)</source>
          ,
          <volume>32</volume>
          (
          <issue>6</issue>
          ):
          <volume>177</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>177</lpage>
          :
          <fpage>10</fpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>