N
noreply
Guest
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.
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.