Try this
require 'sketchup.rb' def cpointseqxy() model=Sketchup.active_model ents=model.active_entities layers=model.layers tlayer=layers.add("cpointseqxy") sel=model.selection sela=sel.to_a sel.clear vec=[10,10,10] ### change these values for arrow length model.start_operation("cpointseqxy") cs=[] ca=[] sela.each{|e| cs<< e if e.class==Sketchup;;ConstructionPoint ca<< e if e.class==Sketchup;;ConstructionPoint } th=[] ch=[] lh=[] ca.each{|c| cx=[] cs.each{|e| next if c.to_s == e.to_s if c.position.x == e.position.x and c.position.y == e.position.y cx<< e ch<< e t=ents.add_text(" =XY",e.position,vec) th<< t l=ents.add_cline(c.position,e.position) lh<< l end#if } cs=cs-cx } th.each{|t|t.layer=tlayer} lh.each{|l|l.layer=tlayer} sel.add(th+ch+lh) model.commit_operation endThis has arrows for the text: vec=[10,10,10] sets the arrows 'vector', adjust the value of it to change the leader location, length etc...