Sorry, did not see your post. The code was provided for X10. In x11 new property was offered... obj.object_id.   You need to change this line id="p" + obj.to_s.gsub('#<NVPublisher:0x000','').gsub('>','') INTO: id ="p" + obj.object_id.to_s   See below    Macro: labelRoofPlane referenced ? obj = referenced : obj = owner if $tree.nil? $tree = Hash.new { |hash, key| hash[key] = {} } end   id ="p" + obj.object_id.to_s it