Efficiently Disassemble-and-Pack for Mechanism

In this paper, we present a disassemble-and-pack approach for a mechanism to seek a box which contains total mechanical parts with high space utilization. Its key feature is that mechanism contains not only geometric shapes but also internal motion structures which can be calculated to adjust geometric shapes of the mechanical parts. Our system consists of two steps: disassemble mechanical object into a group set and pack them within a box efficiently. The first step is to create a hierarchy of possible group set of parts which is generated by disconnecting the selected joints and adjust motion structures of parts in groups. The aim of this step is seeking total minimum volume of each group. The second step is to exploit the hierarchy based on breadth-first-search to obtain a group set. Every group in the set is inserted into specified box from maximum volume to minimum based on our packing strategy. Until an approximated result with satisfied efficiency is accepted, our approach finish exploiting the hierarchy.



There are no comments yet.


page 1

page 2


Shapes In A Box – Disassembling 3D objects for efficient packing and fabrication

Modern 3D printing technologies and the upcoming mass-customization para...

Unsupervised Co-segmentation of 3D Shapes via Functional Maps

We present an unsupervised method for co-segmentation of a set of 3D sha...

Mechanical Computing Systems Using Only Links and Rotary Joints

A new paradigm for mechanical computing is demonstrated that requires on...

An Implicit Representation of Swept Volumes based on Local Shapes and Movements

We introduce a new way to implicitly represent swept volumes in 3D. We f...

CoSegNet: Deep Co-Segmentation of 3D Shapes with Group Consistency Loss

We introduce CoSegNet, a deep neural network architecture for co-segment...

Co-generation of Collision-Free Shapes for Arbitrary One-Parametric Motion

Mechanical assemblies can exhibit complex relative motions, during which...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction

In this paper, we present a approach to solve the two previously studied problems: mechanism disassembly and bin packing problem [1, 2]. In the first step, mechanical object is disassembling to a group set of parts with total minimum volume. It means that joint with maximum cost must be disconnect and adjust every parts in each group. In the second step, our approach compute a roto-translation for each of the groups when insert it into specified box. The major contribution of this paper is how to disassembling mechanical object into a group set that can be packed efficiently. Our original contributions can be summarized as follows:

  • A novel disassembly-and-pack integrated approach to disconnect minimum number of joints and pack efficiency;

  • A new hierarchical disassembly algorithm that produces a groups set with minimum total volume.

  • A minimum OBB of mechanical group algorithm that calculate the motion parameters of the parts.

Fig. 1: Overview. The initial mechanical Robot-arm is disassembled to two groups. Rotate and translate each parts of groups to minimize the volume of every group. Repeat the above two steps to obtain the group set with satisfied disassembling efficiency. Insert the groups into the specified box one by one.

Ii Related Work

Our problem is a three-dimensions bin packing problem for mechanical object. We hope to minimize the volume of a specified box containing a set of appropriately placed objects. In order to avoid the NP-complete problem [3]

, hence heuristic-driven algorithms exist to find approximated solutions. Cutting and Packing approach

[4], Decomposing and Packing approach [1] and Splitting and Packing approach [2] can be summarized as two main steps: partition a given object and placing a set of parted objects into a specified container. Our work is mostly related to the Split-and-Pack [2]. However, different from splitting object in [2], our work focuses on the disassembling mechanical object into parts and adjust each part to minimum volume of OBB for efficiently packing.

Iii Disassemble-and-Pack Approach

Overall Approach: As the name suggests, the approach consists of two main step: disassembly and packing depicted in Figure 1. The goal of our algorithm is to pack the mechanical object into the specified box with high space utilization. The input to our process includes the mechanical object with its’ joint set and a target packing specified box. First of all, our algorithm disassemble mechanical object to group set based on the joint set. Then calculates the parts and rotates and translates parts of every group so that they fit an axis-aligned box of minimum volume. Then in the group number being a constant number of the premise, the algorithm of disassembling expects to get the group set with the minimum sum of group OBB volume. Finally the algorithm efficiently pack each group with rotated and translated into the box in sequence.

Hierarchical Disassembling: Before packing, our approach disassemble the mechanical object to several groups of parts and minimizing the sum of groups MBB volume. We treat a mechanical object as a collection of rigid bodies inter-connected to transmit rigid motions, and a joint connects two parts to form a kinematic pair. Different joint types impose distinct motion constraints between two parts. The relative motion of two parts connected via a joint should be a slippable motion that does not lead to the penetration of parts and it can be determined by the type of their intersection. We summarizes the four main types of joints used in our approach: fixed, revolute joints, gear-2-gear contact joints, and point-on-line joints. The motion of a mechanism is initialized at the driving part and transferred to other parts through its kinematic chain. In a kinematic chain, the motion of a part is restricted to the connected part based on joint type. And it is the summation of transferred motion and own motion. For a mechanical part, transferred motion is constant and own motion is freedom without the restriction of connected parts.

The hierarchical approach to disassembly mechanical object is popular. In our article, we employ a novel binary hierarchical of disassembling object approach to provide much tighter packing. In each disassembly step, a selected joint is set disconnect and the mechanical object is disassembling to more groups. Then every part in each group has more degrees of freedom to translate and rotate. Since the object volume is constant, minimizing the group box volume means that minimizing the holes volume of the group box. Based on joint type, translate and rotate the parts in each group to minimizing the holes volume. After each disassembly step, we obtain a group set with minimum total volume of group set which will be packing into the box.

Fig. 2: Some example models used to test our algorithm.

Mechanical Group Packing: After previous section a mechanical object is disassembled to a group set, our objective is to determine a roto-translation for each group so that their overall MBB is minimized. To solve this problem, our approach initialize an axis-aligned box which can contains the all object in group set. Prior to computing such a box, however, the object is rotated according to its MBB, so that the initial box is both axis-aligned and of minimum volume. That means the bottom of the box is constant and the vertical direction of box is variant which decide the volume size. Then groups of parts are inserted into the box one by one while measuring their total height. Minimizing the total height is equal to minimize the total volume. Before insert group into the box, our algorithm sort the groups based on their maximum extension which, for each group, corresponds to the maximum length of its . Inserting a group set into the box is to determine a roto-translation of like [2]. Our algorithm use quaternion

and a vector

to defined the rotation and translation of the group, respectively. Simplify the problem of optimal and , compute for a given fixed value of . The algorithm proceeds as follows: (1) If there are holes that can contain , we select the one whose volume is closer to ’s volume and set accordingly. (2) If no such hole exists, we set so that ’s underlying free volume is minimized while not increasing . (3) If all the positions increase , we set so that increases as few as possible.

Iv Results and Discussion

In this paper, we present a packing algorithm to disassembly a mechanism to a group set and insert them into a box. Showed in Figure 1 and Figure 2, our experiments selected four representative mechanical object: Robot-arm, Crank-block, Motor and Excavator. Experimental results show that our approach can really efficiently pack a range of mechanisms from simple model to complex objects.


We would like to thank the anonymous reviewers for their constructive comments; Mingliang Xu is partially supported by national science foundation of China (NSFC) (No. 61672469, and No. 61472370). Enjie Ding is partially supported by the national key technology research and development program of China under Grant No. 2017YFC0804401.


  • [1] X. Chen, H. Zhang, J. Lin, R. Hu, L. Lu, Q.-X. Huang, B. Benes, D. Cohen-Or, and B. Chen, “Dapper: decompose-and-pack for 3d printing.” ACM Trans. Graph., vol. 34, no. 6, pp. 213–1, 2015.
  • [2] M. Attene, “Shapes in a box: Disassembling 3d objects for efficient packing and fabrication,” in Computer Graphics Forum, vol. 34, no. 8.   Wiley Online Library, 2015, pp. 64–76.
  • [3] M. Garey, R. Graham, and J. Ullman, “An analysis of some packing algorithms,” Combinatorial Algorithms, pp. 39–47, 1973.
  • [4] N. Chernov, Y. Stoyan, and T. Romanova, “Mathematical model and efficient algorithms for object packing problem,” Computational Geometry, vol. 43, no. 5, pp. 535–553, 2010.