Hi all, I have called a big layout as an instance in an different cellview. And i require to draw/place the labels on the top level hierarchy(The label has to be placed exactly at the same location in the above hierarchy). From the previous posts in our forum i got a good amount of idea. And i have used andrew's code for drawing the label: /********************ANDREWS CODE**********************/ procedure(RLcopyHier() xform=list(0:0 "R0" 1) ; reverse the list to get the transform the right way around /*Rem for the higetcuurentwindow() to work you should have descended into the layout instance first*/ foreach(instPath reverse(geGetInstHierPath(hiGetCurrentWindow())) xform=dbConcatTransform(xform car(instPath)~>transform) ) ; now copy selected shapes to the top cellView, with the right transformation topCv=geGetTopLevelCellView() newShapes=foreach(mapcar shape geGetSelSet() dbCopyFig(shape topCv xform) ) );procedure / ************************************************************************/ The Above code served its purpose well if we select any object and execute the procedure. Since I wanted lot of labels to be drawn, My idea was to descend down the hierarchy and select all the object and then obtain only the database id's of the label and then run the above procedure using foreach() loop: geSelectAll() RLlabelList=nil RLinstList=geGetSelSet() foreach(instName RLinstList RLlabelTemp=instName~>objType if(RLlabelTemp == "label";to select only the labels RLlabelList=cons(instName RLlabelList) );if );foreach length(RLlabelList) geDeselectAll() for(i 0 length(RLlabelList) instName=nth(i RLlabelList) geSelectFig(instName) RLcopyHier() );for unfortunately the above code is not running , The error i obtained is as follows: *Error* geSelectFig: argument #1 should be a database object (type template = "d") - nil I dont get exactly what the problem is. Could anyone please help me out. Regards, Lokesh.