diff --git a/source/RobotAPI/components/DebugDrawer/DebugDrawerComponent.cpp b/source/RobotAPI/components/DebugDrawer/DebugDrawerComponent.cpp
index 141e205be8b11e11bed7c584b792f492536eea38..1506e7acb0a4b6630f70b1f7bc20a60436646a7c 100644
--- a/source/RobotAPI/components/DebugDrawer/DebugDrawerComponent.cpp
+++ b/source/RobotAPI/components/DebugDrawer/DebugDrawerComponent.cpp
@@ -253,7 +253,7 @@ namespace armarx
         removeSelectionCallbacks();
         selectionNode->deselectAll();
 
-        for (auto & e : selectedElements)
+        for (auto& e : selectedElements)
         {
             SoNode* n = SoSelection::getByName(SELECTION_NAME(e.layerName, e.elementName));
             if (n)
@@ -293,7 +293,7 @@ namespace armarx
                     name = name.substr(index + strlen(SELECTION_NAME_SPLITTER));
 
                     // Check if selected element is 'selectable'
-                    for (auto & l : layers)
+                    for (auto& l : layers)
                     {
                         std::string layer = l.first;
                         if (layers[layer].addedBoxVisualizations.find(name) != layers[layer].addedBoxVisualizations.end()
@@ -2135,7 +2135,7 @@ namespace armarx
         d.layerName = layerName;
         d.name = robotName;
 
-        for (auto & it : configuration)
+        for (auto& it : configuration)
         {
             d.configuration[it.first] = it.second;
         }
@@ -2210,7 +2210,7 @@ namespace armarx
 
     void DebugDrawerComponent::clearAll(const Ice::Current&)
     {
-        for (auto & i : layers)
+        for (auto& i : layers)
         {
             clearLayer(i.first);
         }
@@ -2253,72 +2253,72 @@ namespace armarx
 
         Layer& layer = layers.at(layerName);
 
-        for (const auto & i : layer.addedCoordVisualizations)
+        for (const auto& i : layer.addedCoordVisualizations)
         {
             removePoseVisu(layerName, i.first);
         }
 
-        for (const auto & i : layer.addedLineVisualizations)
+        for (const auto& i : layer.addedLineVisualizations)
         {
             removeLineVisu(layerName, i.first);
         }
 
-        for (const auto & i : layer.addedLineSetVisualizations)
+        for (const auto& i : layer.addedLineSetVisualizations)
         {
             removeLineSetVisu(layerName, i.first);
         }
 
-        for (const auto & i : layer.addedBoxVisualizations)
+        for (const auto& i : layer.addedBoxVisualizations)
         {
             removeBoxVisu(layerName, i.first);
         }
 
-        for (const auto & i : layer.addedTextVisualizations)
+        for (const auto& i : layer.addedTextVisualizations)
         {
             removeTextVisu(layerName, i.first);
         }
 
-        for (const auto & i : layer.addedSphereVisualizations)
+        for (const auto& i : layer.addedSphereVisualizations)
         {
             removeSphereVisu(layerName, i.first);
         }
 
-        for (const auto & i : layer.addedCylinderVisualizations)
+        for (const auto& i : layer.addedCylinderVisualizations)
         {
             removeCylinderVisu(layerName, i.first);
         }
 
-        for (const auto & i : layer.addedPointCloudVisualizations)
+        for (const auto& i : layer.addedPointCloudVisualizations)
         {
             removePointCloudVisu(layerName, i.first);
         }
 
-        for (const auto & i : layer.addedPolygonVisualizations)
+        for (const auto& i : layer.addedPolygonVisualizations)
         {
             removePolygonVisu(layerName, i.first);
         }
 
-        for (const auto & i : layer.addedTriMeshVisualizations)
+        for (const auto& i : layer.addedTriMeshVisualizations)
         {
             removeTriMeshVisu(layerName, i.first);
         }
 
-        for (const auto & i : layer.added24BitColoredPointCloudVisualizations)
+        for (const auto& i : layer.added24BitColoredPointCloudVisualizations)
         {
             remove24BitColoredPointCloudVisu(layerName, i.first);
         }
 
-        for (const auto & i : layer.addedArrowVisualizations)
+        for (const auto& i : layer.addedArrowVisualizations)
         {
             removeArrowVisu(layerName, i.first);
         }
 
-        for (const auto & i : layer.addedRobotVisualizations)
+        for (const auto& i : layer.addedRobotVisualizations)
         {
             removeRobotVisu(layerName, i.first);
         }
 
-        for (const auto & i : layer.addedCustomVisualizations)
+        for (const auto& i : layer.addedCustomVisualizations)
         {
             removeCustomVisu(layerName, i.first);
         }
@@ -2391,80 +2391,80 @@ namespace armarx
         // check for clear&remove
         //(updates only contain elements to add for each layer after the last clear for this layer was executed)
         //this prevents a sequence add,clear,add to result in an empty layer
-        for (const auto & layer : accumulatedUpdateData.clearLayers)
+        for (const auto& layer : accumulatedUpdateData.clearLayers)
         {
             clearLayerQt(layer);
         }
         accumulatedUpdateData.clearLayers.clear();
 
-        for (const auto & layer : accumulatedUpdateData.removeLayers)
+        for (const auto& layer : accumulatedUpdateData.removeLayers)
         {
             removeLayerQt(layer);
         }
         accumulatedUpdateData.removeLayers.clear();
 
         //add elements
-        for (auto & e : accumulatedUpdateData.coord)
+        for (auto& e : accumulatedUpdateData.coord)
         {
             drawCoordSystem(e.second);
         }
         accumulatedUpdateData.coord.clear();
 
-        for (auto & e : accumulatedUpdateData.box)
+        for (auto& e : accumulatedUpdateData.box)
         {
             drawBox(e.second);
         }
         accumulatedUpdateData.box.clear();
 
-        for (auto & e : accumulatedUpdateData.line)
+        for (auto& e : accumulatedUpdateData.line)
         {
             drawLine(e.second);
         }
         accumulatedUpdateData.line.clear();
 
-        for (auto & e : accumulatedUpdateData.lineSet)
+        for (auto& e : accumulatedUpdateData.lineSet)
         {
             drawLineSet(e.second);
         }
         accumulatedUpdateData.lineSet.clear();
 
-        for (auto & e : accumulatedUpdateData.sphere)
+        for (auto& e : accumulatedUpdateData.sphere)
         {
             drawSphere(e.second);
         }
         accumulatedUpdateData.sphere.clear();
 
-        for (auto & e : accumulatedUpdateData.cylinder)
+        for (auto& e : accumulatedUpdateData.cylinder)
         {
             drawCylinder(e.second);
         }
         accumulatedUpdateData.cylinder.clear();
 
-        for (auto & e : accumulatedUpdateData.circle)
+        for (auto& e : accumulatedUpdateData.circle)
         {
             drawCircle(e.second);
         }
         accumulatedUpdateData.circle.clear();
 
-        for (auto & e : accumulatedUpdateData.text)
+        for (auto& e : accumulatedUpdateData.text)
         {
             drawText(e.second);
         }
         accumulatedUpdateData.text.clear();
 
-        for (auto & e : accumulatedUpdateData.pointcloud)
+        for (auto& e : accumulatedUpdateData.pointcloud)
         {
             drawPointCloud(e.second);
         }
         accumulatedUpdateData.pointcloud.clear();
 
-        for (auto & e : accumulatedUpdateData.polygons)
+        for (auto& e : accumulatedUpdateData.polygons)
         {
             drawPolygon(e.second);
         }
         accumulatedUpdateData.polygons.clear();
 
-        for (auto & e : accumulatedUpdateData.arrows)
+        for (auto& e : accumulatedUpdateData.arrows)
         {
             drawArrow(e.second);
         }
@@ -2476,7 +2476,7 @@ namespace armarx
         }
         accumulatedUpdateData.triMeshes.clear();
 
-        for (auto & e : accumulatedUpdateData.robots)
+        for (auto& e : accumulatedUpdateData.robots)
         {
             ARMARX_DEBUG << "update visu / drawRobot for robot " << e.first;
             ensureExistingRobotNodes(e.second);
@@ -2485,13 +2485,13 @@ namespace armarx
         }
         accumulatedUpdateData.robots.clear();
 
-        for (auto & e : accumulatedUpdateData.coloredpointcloud)
+        for (auto& e : accumulatedUpdateData.coloredpointcloud)
         {
             drawColoredPointCloud(e.second);
         }
         accumulatedUpdateData.coloredpointcloud.clear();
 
-        for (auto & e : accumulatedUpdateData.colored24Bitpointcloud)
+        for (auto& e : accumulatedUpdateData.colored24Bitpointcloud)
         {
             draw24BitColoredPointCloud(e.second);
         }
@@ -2596,7 +2596,7 @@ namespace armarx
         ScopedRecursiveLockPtr l = getScopedVisuLock();
         Ice::StringSeq seq {};
 
-        for (const auto & layer : layers)
+        for (const auto& layer : layers)
         {
             seq.push_back(layer.first);
         }
@@ -2609,7 +2609,7 @@ namespace armarx
         ::armarx::LayerInformationSequence seq {};
         ScopedRecursiveLockPtr l = getScopedVisuLock();
 
-        for (const auto & layer : layers)
+        for (const auto& layer : layers)
         {
             int count = layer.second.addedCoordVisualizations.size() +
                         layer.second.addedLineVisualizations.size() +
@@ -2777,6 +2777,7 @@ namespace armarx
         );
         pclMat->diffuseColor.setValues(0, colors.size(), colors.data());
         pclMat->ambientColor.setValues(0, colors.size(), colors.data());
+        pclMat->transparency = d.pointCloud.transparency;
         pclSep->addChild(pclMat);
 
         SoMaterialBinding* pclMatBind = new SoMaterialBinding;
diff --git a/source/RobotAPI/interface/visualization/DebugDrawerInterface.ice b/source/RobotAPI/interface/visualization/DebugDrawerInterface.ice
index f30cdc1d8a1b5a047acb6029eabae16bfc056d94..1e629a61b88b7941bc7a828f104009981eb1caca 100644
--- a/source/RobotAPI/interface/visualization/DebugDrawerInterface.ice
+++ b/source/RobotAPI/interface/visualization/DebugDrawerInterface.ice
@@ -131,6 +131,7 @@ module armarx
 
 
     const int three = 3;
+    const float zero = 0;
 
     struct DebugDrawerPointCloudElement
     {
@@ -174,6 +175,7 @@ module armarx
     {
         DebugDrawer24BitColoredPointCloudElementList points;
         float pointSize = three;
+        float transparency = zero;
     };
 
     sequence<DebugDrawerPointCloudElement> DebugDrawerLineSetPointList;