{
    "context": {
        "UnitOfMeasureScale": 0.01,
        "Zup": false,
        "RepoPath": ""
    },
    "scene": [
        "building",
        "Controller",
        "AssetLoader",
        "PP",
        "PP.FloatingX",
        "PP.FloatingZ",
        "PP.FloatingY",
        "PP.Gripper",
        "PP.Finger1",
        "PP.Finger2",
        "B1",
        "B2",
        "Slide1",
        "Slide2",
        "Grid_second",
        "Grid_Hole",
        "DiffuseSensorBox_1",
        "DiffuseSensorBox_2",
        "DiffuseSensorBox_3",
        "DiffuseSensorBox_4",
        "DiffuseSensorBox_5",
        "DiffuseSensorBox_6",
        "Receiver_1",
        "Receiver_2",
        "Receiver_3",
        "Receiver_4",
        "Receiver_5",
        "Receiver_6",
        "part_1",
        "part_2",
        "part_3",
        "box",
        "SignalPole",
        "SignalPole.RedLight",
        "SignalPole.YellowLight",
        "SignalPole.GreenLight",
        "CommandBox",
        "CommandBox.GreenButton",
        "CommandBox.RedButton",
        "CommandBox.YellowButton",
        "CommandBox.EmergencyButton",
        "CommandBox.StateSelector",
        "CommandBox.Potentiometer",
        "SnapZone_box"
    ],
    "assets": [
        {
            "id": "building",
            "type": "https://standards.buildingsmart.org/IFC/DEV/IFC4/ADD1/OWL#IfcBuilding"
        },
        {
            "id": "Controller",
            "type": "https://w3id.org/ontoeng/factory#Actuator",
            "statechart": {
                "id": "stController",
                "initial": "control_idle",
                "states": {
                    "control_idle": {
                        "on": {
                            "onGenPart": "genPart",
                            "onGenBox": "genBox"
                        }
                    },
                    "genPart": {
                        "after": {
                            "300": {
                                "target": "control_idle"
                            }
                        },
                        "entry": {
                            "action": "genAsset",
                            "target": "part",
                            "position": [
                                12.9,
                                23.4,
                                250
                            ]
                        }
                    },
                    "genBox": {
                        "after": {
                            "1000": {
                                "target": "control_idle"
                            }
                        },
                        "entry": {
                            "action": "genAsset",
                            "target": "box",
                            "position": [
                                31.7,
                                23.4,
                                450
                            ]
                        }
                    }
                }
            }
        },
        {
            "id": "AssetLoader",
            "type": "https://w3id.org/ontoeng/factory#Actuator",
            "placementRelTo": "building",
            "statechart": {
                "id": "stAL",
                "initial": "AL_idle",
                "states": {
                    "AL_idle": {
                        "on": {
                            "onGenPart": "genPart",
                            "onGenBox": "genBox"
                        }
                    },
                    "genPart": {
                        "after": {
                            "300": {
                                "target": "AL_idle"
                            }
                        },
                        "entry": {
                            "action": "genAsset",
                            "target": "part",
                            "position": [
                                12.9,
                                23.4,
                                250
                            ]
                        }
                    },
                    "genBox": {
                        "after": {
                            "1000": {
                                "target": "AL_idle"
                            }
                        },
                        "entry": {
                            "action": "genAsset",
                            "target": "box",
                            "position": [
                                31.7,
                                23.4,
                                440
                            ],
                            "rotation": [
                                0,
                                0,
                                0
                            ]
                        }
                    }
                }
            }
        },
        {
            "id": "PP",
            "type": "https://w3id.org/ontoeng/factory#Robot",
            "representations": [
                {
                    "file": "Pick_and_Place_Robot.glb",
                    "unit": 1
                }
            ],
            "position": [
                20,
                0,
                400
            ],
            "rotation": [
                0,
                0,
                0
            ],
            "placementRelTo": "building",
            "statechart": {
                "id": "stRobot",
                "initial": "rest",
                "states": {
                    "rest": {
                        "on": {
                            "goPick": "pick"
                        },
                        "entry": [
                            {
                                "action": "moveTo",
                                "target": "PP.FloatingZ",
                                "position": [
                                    -12,
                                    8,
                                    0
                                ]
                            },
                            {
                                "action": "moveTo",
                                "target": "PP.FloatingY",
                                "position": [
                                    -0.6,
                                    -4,
                                    -17.1
                                ]
                            },
                            {
                                "action": "moveTo",
                                "target": "PP.Finger1",
                                "position": [
                                    0,
                                    -3.8,
                                    3.8
                                ],
                                "delay": 1000
                            },
                            {
                                "action": "moveTo",
                                "target": "PP.Finger2",
                                "position": [
                                    0,
                                    -3.8,
                                    -3.8
                                ],
                                "delay": 1000
                            }
                        ]
                    },
                    "pick": {
                        "on": {
                            "goPlace": "place",
                            "goRest": "rest"
                        },
                        "entry": [
                            {
                                "action": "moveTo",
                                "target": "PP.FloatingZ",
                                "position": [
                                    -12,
                                    8,
                                    0
                                ]
                            },
                            {
                                "action": "moveTo",
                                "target": "PP.FloatingY",
                                "position": [
                                    -0.6,
                                    -17.5,
                                    -17.1
                                ]
                            },
                            {
                                "action": "moveTo",
                                "target": "PP.Finger1",
                                "position": [
                                    0,
                                    -3.8,
                                    0.3
                                ],
                                "delay": 1500
                            },
                            {
                                "action": "moveTo",
                                "target": "PP.Finger2",
                                "position": [
                                    0,
                                    -3.8,
                                    -0.3
                                ],
                                "delay": 1500
                            }
                        ]
                    },
                    "place": {
                        "on": {
                            "goRest": "rest"
                        },
                        "entry": [
                            {
                                "action": "moveTo",
                                "target": "PP.FloatingZ",
                                "position": [
                                    -12,
                                    8,
                                    -20
                                ]
                            },
                            {
                                "action": "moveTo",
                                "target": "PP.FloatingY",
                                "position": [
                                    -0.6,
                                    -4,
                                    -17.1
                                ]
                            },
                            {
                                "action": "moveTo",
                                "target": "PP.Finger1",
                                "position": [
                                    0,
                                    -3.8,
                                    3.8
                                ],
                                "delay": 1500
                            },
                            {
                                "action": "moveTo",
                                "target": "PP.Finger2",
                                "position": [
                                    0,
                                    -3.8,
                                    -3.8
                                ],
                                "delay": 1500
                            }
                        ]
                    }
                }
            }
        },
        {
            "id": "PP.FloatingX",
            "type": "https://w3id.org/ontoeng/factory#RobotArm",
            "representations": [
                {
                    "file": "Pick_and_Place_Robot.glb#PP_Floating_X",
                    "unit": 1
                }
            ],
            "placementRelTo": "PP",
            "parentObject": "PP"
        },
        {
            "id": "PP.FloatingZ",
            "type": "https://w3id.org/ontoeng/factory#RobotArm",
            "representations": [
                {
                    "file": "Pick_and_Place_Robot.glb#PP_Floating_Z",
                    "unit": 1
                }
            ],
            "placementRelTo": "PP.FloatingX",
            "parentObject": "PP.FloatingX"
        },
        {
            "id": "PP.FloatingY",
            "type": "https://w3id.org/ontoeng/factory#RobotArm",
            "representations": [
                {
                    "file": "Pick_and_Place_Robot.glb#PP_Floating_Y",
                    "unit": 1
                }
            ],
            "placementRelTo": "PP.FloatingZ",
            "parentObject": "PP.FloatingZ"
        },
        {
            "id": "PP.Gripper",
            "type": "https://w3id.org/ontoeng/factory#JawGripper",
            "representations": [
                {
                    "file": "Pick_and_Place_Robot.glb#PP_Gripper",
                    "unit": 1
                }
            ],
            "placementRelTo": "PP.FloatingY",
            "parentObject": "PP.FloatingY"
        },
        {
            "id": "PP.Finger1",
            "type": "https://w3id.org/ontoeng/factory#JawFinger",
            "representations": [
                {
                    "file": "Pick_and_Place_Robot.glb#PP_Finger1",
                    "unit": 1
                }
            ],
            "placementRelTo": "PP.Gripper",
            "parentObject": "PP.Gripper",
            "properties": {
                "mass": 0,
                "restitution": 0.0,
                "friction": 0.0,
                "MotionType": "ANIMATED",
                "isTrigger": true
            }
        },
        {
            "id": "PP.Finger2",
            "type": "https://w3id.org/ontoeng/factory#JawFinger",
            "representations": [
                {
                    "file": "Pick_and_Place_Robot.glb#PP_Finger2",
                    "unit": 1
                }
            ],
            "placementRelTo": "PP.Gripper",
            "parentObject": "PP.Gripper",
            "properties": {
                "mass": 0,
                "restitution": 0.0,
                "friction": 0.0,
                "MotionType": "ANIMATED",
                "isTrigger": true
            }
        },
        {
            "id": "B1",
            "type": "https://w3id.org/ontoeng/factory#Conveyor",
            "representations": [
                {
                    "file": "Conveyor.glb",
                    "unit": 1
                }
            ],
            "position": [
                26,
                0,
                315
            ],
            "rotation": [
                0,
                0,
                0
            ],
            "placementRelTo": "building",
            "properties": {
                "mass": 0,
                "restitution": 0.3,
                "friction": 0.0,
                "MotionType": "ANIMATED"
            },
            "statechart": {
                "id": "stB1",
                "initial": "idle",
                "states": {
                    "idle": {
                        "on": {
                            "B1startF": "forward",
                            "B1startB": "backward"
                        },
                        "entry": {
                            "action": "surfaceVelocity",
                            "target": "B1",
                            "velocity": [
                                0,
                                0,
                                0
                            ]
                        }
                    },
                    "forward": {
                        "on": {
                            "B1stop": "idle"
                        },
                        "entry": {
                            "action": "surfaceVelocity",
                            "target": "B1",
                            "velocity": [
                                0,
                                0,
                                8
                            ]
                        }
                    },
                    "backward": {
                        "on": {
                            "B1stop": "idle"
                        },
                        "entry": {
                            "action": "surfaceVelocity",
                            "target": "B1",
                            "velocity": [
                                0,
                                0,
                                -8
                            ]
                        }
                    }
                }
            }
        },
        {
            "id": "B2",
            "type": "https://w3id.org/ontoeng/factory#Conveyor",
            "representations": [
                {
                    "file": "Conveyor.glb",
                    "unit": 1
                }
            ],
            "position": [
                19.15,
                0,
                385
            ],
            "rotation": [
                0,
                3.14159265358979,
                0
            ],
            "placementRelTo": "building",
            "properties": {
                "mass": 0,
                "restitution": 0.3,
                "friction": 0.0,
                "MotionType": "ANIMATED"
            },
            "statechart": {
                "id": "stB2",
                "initial": "idle",
                "states": {
                    "idle": {
                        "on": {
                            "B2startF": "forward",
                            "B2startB": "backward"
                        },
                        "entry": {
                            "action": "surfaceVelocity",
                            "target": "B2",
                            "velocity": [
                                0,
                                0,
                                0
                            ]
                        }
                    },
                    "forward": {
                        "on": {
                            "B2stop": "idle"
                        },
                        "entry": {
                            "action": "surfaceVelocity",
                            "target": "B2",
                            "velocity": [
                                0,
                                0,
                                8
                            ]
                        }
                    },
                    "backward": {
                        "on": {
                            "B2stop": "idle"
                        },
                        "entry": {
                            "action": "surfaceVelocity",
                            "target": "B2",
                            "velocity": [
                                0,
                                0,
                                -8
                            ]
                        }
                    }
                }
            }
        },
        {
            "id": "Slide1",
            "type": "https://w3id.org/ontoeng/factory#Conveyor",
            "representations": [
                {
                    "file": "Slide.glb",
                    "unit": 1
                }
            ],
            "position": [
                41,
                22,
                260
            ],
            "rotation": [
                0,
                0,
                0
            ],
            "placementRelTo": "building",
            "properties": {
                "mass": 0,
                "restitution": 0.3,
                "friction": 0.0,
                "ShapeType": "MESH",
                "MotionType": "ANIMATED"
            },
            "statechart": {
                "id": "stSlide1",
                "initial": "idle",
                "states": {
                    "idle": {
                        "on": {
                            "start": "forward"
                        },
                        "entry": {
                            "action": "surfaceVelocity",
                            "target": "Slide1",
                            "velocity": [
                                0,
                                0,
                                0
                            ]
                        }
                    },
                    "forward": {
                        "on": {
                            "stop": "idle"
                        },
                        "entry": {
                            "action": "surfaceVelocity",
                            "target": "Slide1",
                            "velocity": [
                                0,
                                0,
                                -3
                            ]
                        }
                    }
                }
            }
        },
        {
            "id": "Slide2",
            "type": "https://w3id.org/ontoeng/factory#Conveyor",
            "representations": [
                {
                    "file": "Slide.glb",
                    "unit": 1
                }
            ],
            "position": [
                4.95,
                22,
                440.30
            ],
            "rotation": [
                0,
                3.14159265358979,
                0
            ],
            "placementRelTo": "building",
            "properties": {
                "mass": 0,
                "restitution": 0.3,
                "friction": 0.8,
                "ShapeType": "MESH",
                "MotionType": "ANIMATED"
            },
            "statechart": {
                "id": "stSlide2",
                "initial": "idle",
                "states": {
                    "idle": {
                        "on": {
                            "start": "forward"
                        },
                        "entry": {
                            "action": "surfaceVelocity",
                            "target": "Slide2",
                            "velocity": [
                                0,
                                0,
                                0
                            ]
                        }
                    },
                    "forward": {
                        "on": {
                            "stop": "idle"
                        },
                        "entry": {
                            "action": "surfaceVelocity",
                            "target": "Slide2",
                            "velocity": [
                                0,
                                0,
                                -3
                            ]
                        }
                    }
                }
            }
        },
        {
            "id": "part",
            "type": "https://w3id.org/ontoeng/factory#Artifact",
            "representations": [
                {
                    "file": "Part_blue.glb",
                    "unit": 1
                }
            ],
            "position": [
                0,
                0,
                0
            ],
            "rotation": [
                0,
                0,
                0
            ],
            "placementRelTo": "building",
            "properties": {
                "mass": 1,
                "restitution": 0.1,
                "friction": 0.95
            }
        },
        {
            "id": "Grid",
            "type": "https://w3id.org/ontoeng/factory#Artifact",
            "representations": [
                {
                    "file": "Grid.glb",
                    "unit": 1
                }
            ],
            "position": [
                -27,
                53.06,
                377
            ],
            "rotation": [
                0,
                0,
                -1.5707963267949
            ],
            "placementRelTo": "building"
        },
        {
            "id": "Grid_second",
            "type": "https://w3id.org/ontoeng/factory#Artifact",
            "representations": [
                {
                    "file": "Grid.glb",
                    "unit": 1
                }
            ],
            "position": [
                -27,
                53.06,
                442.85
            ],
            "rotation": [
                0,
                0,
                -1.5707963267949
            ],
            "placementRelTo": "building"
        },
        {
            "id": "Grid_Hole",
            "type": "https://w3id.org/ontoeng/factory#Artifact",
            "representations": [
                {
                    "file": "Grid_Hole.glb",
                    "unit": 1
                }
            ],
            "position": [
                95.02,
                40.30,
                358.39
            ],
            "rotation": [
                0,
                0,
                1.5707963267949
            ],
            "placementRelTo": "building",
            "statechart": {
                "id": "stGridHole",
                "initial": "rest",
                "states": {
                    "rest": {
                        "on": {
                            "startRot": "rotate"
                        },
                        "entry": [
                            {
                                "action": "moveAdditive",
                                "target": "Grid_Hole",
                                "rotation": [
                                    0,
                                    0,
                                    0
                                ],
                                "duration": 1000,
                                "loop": "false"
                            }
                        ]
                    },
                    "rotate": {
                        "on": {
                            "goRest": "rest"
                        },
                        "entry": [
                            {
                                "action": "moveAdditive",
                                "target": "Grid_Hole",
                                "rotation": [
                                    0,
                                    2,
                                    0
                                ],
                                "duration": 1000,
                                "loop": true
                            }
                        ]
                    }
                }
            }
        },
        {
            "id": "DiffuseSensorBox_1",
            "type": "https://w3id.org/ontoeng/factory#SensorBarrier",
            "representations": [
                {
                    "file": "Sensor.glb",
                    "unit": 1
                }
            ],
            "position": [
                41,
                22,
                378
            ],
            "rotation": [
                4.71,
                -1.59,
                0
            ],
            "placementRelTo": "building",
            "statechart": {
                "id": "stSensor1",
                "initial": "Idle",
                "states": {
                    "Idle": {
                        "meta": {
                            "type": "https://w3id.org/ontoeng/factory#SensorIdle"
                        },
                        "on": {
                            "OBJECT_DETECTED": "Detecting"
                        }
                    },
                    "Detecting": {
                        "meta": {
                            "type": "https://w3id.org/ontoeng/factory#SensorDetecting"
                        },
                        "on": {
                            "OBJECT_REMOVED": "Idle"
                        }
                    }
                }
            }
        },
        {
            "id": "DiffuseSensorBox_2",
            "type": "https://w3id.org/ontoeng/factory#SensorBarrier",
            "representations": [
                {
                    "file": "Sensor.glb",
                    "unit": 1
                }
            ],
            "position": [
                41,
                22,
                362
            ],
            "rotation": [
                4.71,
                -1.59,
                0
            ],
            "placementRelTo": "building",
            "statechart": {
                "id": "stSensor2",
                "initial": "Idle",
                "states": {
                    "Idle": {
                        "meta": {
                            "type": "https://w3id.org/ontoeng/factory#SensorIdle"
                        },
                        "on": {
                            "OBJECT_DETECTED": "Detecting"
                        }
                    },
                    "Detecting": {
                        "meta": {
                            "type": "https://w3id.org/ontoeng/factory#SensorDetecting"
                        },
                        "on": {
                            "OBJECT_REMOVED": "Idle"
                        }
                    }
                }
            }
        },
        {
            "id": "DiffuseSensorBox_3",
            "type": "https://w3id.org/ontoeng/factory#SensorBarrier",
            "representations": [
                {
                    "file": "Sensor.glb",
                    "unit": 1
                }
            ],
            "position": [
                41,
                22,
                270
            ],
            "rotation": [
                4.71,
                -1.59,
                0
            ],
            "placementRelTo": "building",
            "statechart": {
                "id": "stSensor3",
                "initial": "Idle",
                "states": {
                    "Idle": {
                        "meta": {
                            "type": "https://w3id.org/ontoeng/factory#SensorIdle"
                        },
                        "on": {
                            "OBJECT_DETECTED": "Detecting"
                        }
                    },
                    "Detecting": {
                        "meta": {
                            "type": "https://w3id.org/ontoeng/factory#SensorDetecting"
                        },
                        "on": {
                            "OBJECT_REMOVED": "Idle"
                        }
                    }
                }
            }
        },
        {
            "id": "DiffuseSensorBox_4",
            "type": "https://w3id.org/ontoeng/factory#SensorBarrier",
            "representations": [
                {
                    "file": "Sensor.glb",
                    "unit": 1
                }
            ],
            "position": [
                3.31,
                22,
                267
            ],
            "rotation": [
                4.71,
                1.57,
                0
            ],
            "placementRelTo": "building",
            "statechart": {
                "id": "stSensor4",
                "initial": "Idle",
                "states": {
                    "Idle": {
                        "meta": {
                            "type": "https://w3id.org/ontoeng/factory#SensorIdle"
                        },
                        "on": {
                            "OBJECT_DETECTED": "Detecting"
                        }
                    },
                    "Detecting": {
                        "meta": {
                            "type": "https://w3id.org/ontoeng/factory#SensorDetecting"
                        },
                        "on": {
                            "OBJECT_REMOVED": "Idle"
                        }
                    }
                }
            }
        },
        {
            "id": "DiffuseSensorBox_5",
            "type": "https://w3id.org/ontoeng/factory#SensorBarrier",
            "representations": [
                {
                    "file": "Sensor.glb",
                    "unit": 1
                }
            ],
            "position": [
                3.31,
                22,
                367
            ],
            "rotation": [
                4.71,
                1.57,
                0
            ],
            "placementRelTo": "building",
            "statechart": {
                "id": "stSensor5",
                "initial": "Idle",
                "states": {
                    "Idle": {
                        "meta": {
                            "type": "https://w3id.org/ontoeng/factory#SensorIdle"
                        },
                        "on": {
                            "OBJECT_DETECTED": "Detecting"
                        }
                    },
                    "Detecting": {
                        "meta": {
                            "type": "https://w3id.org/ontoeng/factory#SensorDetecting"
                        },
                        "on": {
                            "OBJECT_REMOVED": "Idle"
                        }
                    }
                }
            }
        },
        {
            "id": "DiffuseSensorBox_6",
            "type": "https://w3id.org/ontoeng/factory#SensorBarrier",
            "representations": [
                {
                    "file": "Sensor.glb",
                    "unit": 1
                }
            ],
            "position": [
                3.31,
                22,
                432
            ],
            "rotation": [
                4.71,
                1.57,
                0
            ],
            "placementRelTo": "building",
            "statechart": {
                "id": "stSensor6",
                "initial": "Idle",
                "states": {
                    "Idle": {
                        "meta": {
                            "type": "https://w3id.org/ontoeng/factory#SensorIdle"
                        },
                        "on": {
                            "OBJECT_DETECTED": "Detecting"
                        }
                    },
                    "Detecting": {
                        "meta": {
                            "type": "https://w3id.org/ontoeng/factory#SensorDetecting"
                        },
                        "on": {
                            "OBJECT_REMOVED": "Idle"
                        }
                    }
                }
            }
        },
        {
            "id": "Receiver_1",
            "type": "https://w3id.org/ontoeng/factory#SensorBarrierReceiver",
            "representations": [
                {
                    "file": "Sensor2.glb",
                    "unit": 1
                }
            ],
            "position": [
                0,
                -19.8,
                1.2
            ],
            "rotation": [
                3.14159265358979,
                0,
                0
            ],
            "placementRelTo": "DiffuseSensorBox_1",
            "parentObject": "DiffuseSensorBox_1"
        },
        {
            "id": "Receiver_2",
            "type": "https://w3id.org/ontoeng/factory#SensorBarrierReceiver",
            "representations": [
                {
                    "file": "Sensor2.glb",
                    "unit": 1
                }
            ],
            "position": [
                0,
                -19.8,
                1.2
            ],
            "rotation": [
                3.14159265358979,
                0,
                0
            ],
            "placementRelTo": "DiffuseSensorBox_2",
            "parentObject": "DiffuseSensorBox_2"
        },
        {
            "id": "Receiver_3",
            "type": "https://w3id.org/ontoeng/factory#SensorBarrierReceiver",
            "representations": [
                {
                    "file": "Sensor2.glb",
                    "unit": 1
                }
            ],
            "position": [
                0,
                -19.8,
                1.2
            ],
            "rotation": [
                3.14159265358979,
                0,
                0
            ],
            "placementRelTo": "DiffuseSensorBox_3",
            "parentObject": "DiffuseSensorBox_3"
        },
        {
            "id": "Receiver_4",
            "type": "https://w3id.org/ontoeng/factory#SensorBarrierReceiver",
            "representations": [
                {
                    "file": "Sensor2.glb",
                    "unit": 1
                }
            ],
            "position": [
                0,
                -19.8,
                1.2
            ],
            "rotation": [
                3.14159265358979,
                0,
                0
            ],
            "placementRelTo": "DiffuseSensorBox_4",
            "parentObject": "DiffuseSensorBox_4"
        },
        {
            "id": "Receiver_5",
            "type": "https://w3id.org/ontoeng/factory#SensorBarrierReceiver",
            "representations": [
                {
                    "file": "Sensor2.glb",
                    "unit": 1
                }
            ],
            "position": [
                0,
                -19.8,
                1.2
            ],
            "rotation": [
                3.14159265358979,
                0,
                0
            ],
            "placementRelTo": "DiffuseSensorBox_5",
            "parentObject": "DiffuseSensorBox_5"
        },
        {
            "id": "Receiver_6",
            "type": "https://w3id.org/ontoeng/factory#SensorBarrierReceiver",
            "representations": [
                {
                    "file": "Sensor2.glb",
                    "unit": 1
                }
            ],
            "position": [
                0,
                -19.8,
                1.2
            ],
            "rotation": [
                3.14159265358979,
                0,
                0
            ],
            "placementRelTo": "DiffuseSensorBox_6",
            "parentObject": "DiffuseSensorBox_6"
        },
        {
            "id": "part_1",
            "type": "https://w3id.org/ontoeng/factory#Artifact",
            "representations": [
                {
                    "file": "Part_green.glb",
                    "unit": 1
                }
            ],
            "position": [
                12.9,
                23,
                399.5
            ],
            "rotation": [
                0,
                0,
                0
            ],
            "placementRelTo": "building",
            "properties": {
                "mass": 1,
                "restitution": 0.1,
                "friction": 0.95
            }
        },
        {
            "id": "part_2",
            "type": "https://w3id.org/ontoeng/factory#Artifact",
            "representations": [
                {
                    "file": "Part_blue.glb",
                    "unit": 1
                }
            ],
            "position": [
                12.9,
                23,
                372.5
            ],
            "rotation": [
                0,
                0,
                0
            ],
            "placementRelTo": "building",
            "properties": {
                "mass": 1,
                "restitution": 0.1,
                "friction": 0.95
            }
        },
        {
            "id": "part_3",
            "type": "https://w3id.org/ontoeng/factory#Artifact",
            "representations": [
                {
                    "file": "Part_green.glb",
                    "unit": 1
                }
            ],
            "position": [
                31.5,
                23,
                287.5
            ],
            "rotation": [
                0,
                0,
                0
            ],
            "placementRelTo": "building",
            "properties": {
                "mass": 1,
                "restitution": 0.1,
                "friction": 0.95
            }
        },
        {
            "id": "box",
            "type": "https://w3id.org/ontoeng/factory#Pallet",
            "representations": [
                {
                    "file": "Box_part.glb",
                    "unit": 1
                }
            ],
            "position": [
                31.7,
                23,
                403
            ],
            "rotation": [
                0,
                0,
                0
            ],
            "placementRelTo": "building",
            "properties": {
                "mass": 1,
                "restitution": 0.1,
                "friction": 0.95
            }
        },
        {
            "id": "stopper1",
            "type": "https://w3id.org/ontoeng/factory#Artifact",
            "representations": [
                {
                    "file": "Stopper.glb",
                    "unit": 1
                }
            ],
            "position": [
                5.5,
                23,
                403
            ],
            "rotation": [
                0,
                0,
                1.5707963267949
            ],
            "placementRelTo": "building",
            "properties": {
                "mass": 0,
                "restitution": 0.1,
                "friction": 0.95,
                "MotionType": "ANIMATED"
            }
        },
        {
            "id": "stopper2",
            "type": "https://w3id.org/ontoeng/factory#Artifact",
            "representations": [
                {
                    "file": "Stopper.glb",
                    "unit": 1
                }
            ],
            "position": [
                24,
                23,
                392
            ],
            "rotation": [
                0,
                0,
                1.5707963267949
            ],
            "placementRelTo": "building",
            "properties": {
                "mass": 0,
                "restitution": 0.1,
                "friction": 0.95,
                "MotionType": "ANIMATED"
            }
        },
        {
            "id": "SignalPole",
            "type": "https://standards.buildingsmart.org/IFC/DEV/IFC4/ADD1/OWL#IfcActuator",
            "representations": [
                {
                    "file": "SignalPole.glb",
                    "unit": 1
                }
            ],
            "position": [
                72.41,
                0,
                378.78
            ],
            "rotation": [
                -1.5707963267949,
                0,
                0
            ],
            "placementRelTo": "building",
            "properties": {
                "mass": 1,
                "restitution": 0.3,
                "friction": 0.95,
                "MotionType": "ANIMATED"
            },
            "statechart": {
                "id": "stTrafficLights",
                "initial": "idle",
                "states": {
                    "idle": {
                        "on": {
                            "switchOnGreen": "green",
                            "switchOnRed": "red",
                            "switchOnYellow": "yellow"
                        }
                    },
                    "green": {
                        "on": {
                            "switchOff": "idle"
                        },
                        "entry": {
                            "action": "setRepresentation",
                            "target": "SignalPole.GreenLight",
                            "intensity": 1,
                            "color": [
                                0,
                                1,
                                0
                            ]
                        },
                        "exit": {
                            "action": "setRepresentation",
                            "target": "SignalPole.GreenLight",
                            "intensity": 0.1
                        }
                    },
                    "red": {
                        "on": {
                            "switchOff": "idle"
                        },
                        "entry": {
                            "action": "setRepresentation",
                            "target": "SignalPole.RedLight",
                            "intensity": 1
                        },
                        "exit": {
                            "action": "setRepresentation",
                            "target": "SignalPole.RedLight",
                            "intensity": 0.1
                        }
                    },
                    "yellow": {
                        "on": {
                            "switchOff": "idle"
                        },
                        "entry": {
                            "action": "setRepresentation",
                            "target": "SignalPole.YellowLight",
                            "intensity": 1
                        },
                        "exit": {
                            "action": "setRepresentation",
                            "target": "SignalPole.YellowLight",
                            "intensity": 0.1
                        }
                    }
                }
            }
        },
        {
            "id": "SignalPole.RedLight",
            "type": "https://w3id.org/ontoeng/factory#Artifact",
            "representations": [
                {
                    "file": "SignalPole.glb#RedLight",
                    "unit": 1
                }
            ],
            "parentObject": "SignalPole"
        },
        {
            "id": "SignalPole.YellowLight",
            "type": "https://w3id.org/ontoeng/factory#Artifact",
            "representations": [
                {
                    "file": "SignalPole.glb#YellowLight",
                    "unit": 1
                }
            ],
            "parentObject": "SignalPole"
        },
        {
            "id": "SignalPole.GreenLight",
            "type": "https://w3id.org/ontoeng/factory#Artifact",
            "representations": [
                {
                    "file": "SignalPole.glb#GreenLight",
                    "unit": 1
                }
            ],
            "parentObject": "SignalPole"
        },
        {
            "id": "CommandBox",
            "type": "https://w3id.org/ontoeng/factory#Artifact",
            "representations": [
                {
                    "file": "CommandBox.glb",
                    "unit": 1
                }
            ],
            "position": [
                87.48,
                79.13,
                368.45
            ],
            "rotation": [
                0,
                0,
                -1.5707963267949
            ],
            "placementRelTo": "building"
        },
        {
            "id": "CommandBox.GreenButton",
            "type": "https://w3id.org/ontoeng/factory#Artifact",
            "representations": [
                {
                    "file": "CommandBox.glb#GreenButton",
                    "unit": 1
                }
            ],
            "parentObject": "CommandBox"
        },
        {
            "id": "CommandBox.RedButton",
            "type": "https://w3id.org/ontoeng/factory#Artifact",
            "representations": [
                {
                    "file": "CommandBox.glb#RedButton",
                    "unit": 1
                }
            ],
            "parentObject": "CommandBox"
        },
        {
            "id": "CommandBox.YellowButton",
            "type": "https://w3id.org/ontoeng/factory#Artifact",
            "representations": [
                {
                    "file": "CommandBox.glb#YellowButton",
                    "unit": 1
                }
            ],
            "parentObject": "CommandBox"
        },
        {
            "id": "CommandBox.EmergencyButton",
            "type": "https://w3id.org/ontoeng/factory#Artifact",
            "representations": [
                {
                    "file": "CommandBox.glb#EmergencyButton",
                    "unit": 1
                }
            ],
            "parentObject": "CommandBox"
        },
        {
            "id": "CommandBox.StateSelector",
            "type": "https://w3id.org/ontoeng/factory#Artifact",
            "representations": [
                {
                    "file": "CommandBox.glb#StateSelector",
                    "unit": 1
                }
            ],
            "parentObject": "CommandBox"
        },
        {
            "id": "CommandBox.Potentiometer",
            "type": "https://w3id.org/ontoeng/factory#Artifact",
            "representations": [
                {
                    "file": "CommandBox.glb#Potentiometer",
                    "unit": 1
                }
            ],
            "parentObject": "CommandBox"
        },
        {
            "id": "SnapZone_box",
            "type": "https://w3id.org/ontoeng/factory#Artifact",
            "placementRelTo": "B1",
            "parentObject": "B1"
        }
    ]
}