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 rototranslation 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 disassemblyandpack 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.
Ii Related Work
Our problem is a threedimensions 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 NPcomplete problem [3]
, hence heuristicdriven 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 SplitandPack [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 DisassembleandPack 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 axisaligned 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 interconnected 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, gear2gear contact joints, and pointonline 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.
Mechanical Group Packing: After previous section a mechanical object is disassembled to a group set, our objective is to determine a rototranslation for each group so that their overall MBB is minimized. To solve this problem, our approach initialize an axisaligned 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 axisaligned 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 rototranslation 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: Robotarm, Crankblock, Motor and Excavator. Experimental results show that our approach can really efficiently pack a range of mechanisms from simple model to complex objects.
Acknowledgment
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.
References
 [1] X. Chen, H. Zhang, J. Lin, R. Hu, L. Lu, Q.X. Huang, B. Benes, D. CohenOr, and B. Chen, “Dapper: decomposeandpack 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.
Comments
There are no comments yet.