This week, I used the current RoCo system to create some simple furniture design. Using add_subcomponent, add_connection, constrain_subcomponet_parameter and various different subcomponets shapes in the current RoCo library, I was able to design a table, a stool and a chair. I made the table design by connecting 7 Rectangle subcomponents in the orientation shown in the figure below.
Figure 1: Paper Table dxf file
A Rectangle subcomponent is defined by two parameters and 5 interfaces. The two parameters are length “l” and width “w” and the 5 interfaces are the “face” interface and the 4 edge interface. We can change the parameter of the subcomponent by using the function constrain_subcomponet_parameter. The function constrain_subcomponet_parameter takes in 3 arguments: a tuple (subcomponet name, interface name) and a value that you want to change the parameter to. To connect two subcomponents together, we will use the function add_connection. To use this function, we will need to tell the function which two interface we are connecting together.
Using these function, I made a stool(Figure 2) by connecting top “t” interface of 4 Trapezoid2 subcomponent around a Rectangle subcomponent and connecting one Rectangle to each of the bottom “b” interface of the Trapezoid2 subcomponents.
Figure 2: Paper stool dxf file
All the function work as I expected until I try to connect a subcomponent to the slanted edges, “s1” “s2”, of the Trapezoid2. Usually, when I connected two subcomponents together using add_connection, parameter of the two edges will be set to the same value, and the color of the edge will change from blue (cut) to red (fold). However, whenever I use add_connection on the slanted edges of the Trapezoid2, the two edges are not set to the same length and the color of the edges also didn’t change color.(Figure 3)
Figure 3: Paper Chair dxf file