rodCreateHandle

Guest
Hi,
I'm stuck with the following code, Help needed Please........

I'm trying to align two instances using "rodAlign" command.(I referred
"celltut" and "rodUser" manuals).I have given the sequence in which i
created the cde:

;This is a code to get the ROD Object ID of a selected object
procedure(getRODobj()
cvId = deGetCellView()
dbId = car(geGetSelectedSet(cvId))
rodId = rodGetObj(dbId)
);proc

;After running the above procedure i got the ROD object ID's of the
two instances as follows:
obj1=getRODobj()
obj2=getRODobj()

;Then i created a user defined Handle for the second ROD object
rodCreateHandle(
?name "rightCenter"
?type "point"
?value obj2~>cR ;This i have used to get the midpoint of the right
side of the instance
;the idea behind doing this is to align the "obj1" and "obj2" in such
a way that the "rightCenter" of obj2 is aligned to "centerLeft" of
obj1
?rodObj obj2
) ; end rodCreateHandle

;to align two ROD objects
rodAlign(
?alignObj obj2
?alignHandle "rightCenter";this should be the user defined handle
?refObj obj1
?refHandle "centerLeft"
?maintain t
?xSep 0
?ySep 0
)

By this i expected that the two ROD objects will be aligned with their
boundaries touching each other...But in the layout they are not
aligned and are separated quite far(approximately 70micrometer far)

Can any body help me understand what is happening and what's the
mistake that I'm doing...

Regards,
Lokesh rajendran
 
Hi,
I don't have any editing licenses free at the moment so I can't really
try it but I might be able to guess something.
I've used rodAlign() a couple of times but am not that familiar with
rodCreateHandle().

You've used no separation so could the inconsistency be due to hidden
layers or both instances origin? You can check the instances bounding
boxes to see their exact limits (or perhaps try press 'Q' to see the
Object Properties, and check the instance's co-ordinates under tab ROD
at System Handle).
If the instance has text written on it, the text could have increased
the instance's boundaries.

Actually, 70um does seem too wide a distance - unless the instance is
quite big.

Best Regards,
I-F AB
 
Yes I-F AB ,
The instances are big..
The following code says it all..("obj1" is the ROD object ID of an
instance)

obj1~>length
1.86
obj1~>width
52.1

Still I'm working on the problem....

Regards,
Lokesh rajendran

On May 28, 1:08 pm, I-F AB <cop0...@gmail.com> wrote:
Hi,
I don't have any editing licenses free at the moment so I can't really
try it but I might be able to guess something.
I've used rodAlign() a couple of times but am not that familiar with
rodCreateHandle().

You've used no separation so could the inconsistency be due to hidden
layers or both instances origin? You can check the instances bounding
boxes to see their exact limits (or perhaps try press 'Q' to see the
Object Properties, and check the instance's co-ordinates under tab ROD
at System Handle).
If the instance has text written on it, the text could have increased
the instance's boundaries.

Actually, 70um does seem too wide a distance - unless the instance is
quite big.

Best Regards,
I-F AB
 
lokeshraje@gmail.com wrote, on 05/28/09 11:37:
Hey I-F AB ,
I got the solution for the problem :)
;This is a code to get the ROD Object ID of a selected object
procedure(getRODobj()
cvId = deGetCellView()
dbId = car(geGetSelectedSet(cvId))
rodId = rodGetObj(dbId)
);proc

;After running the above procedure i got the ROD object ID's of the
two instances as follows:
obj1=getRODobj()
obj2=getRODobj()

;In the Next Step don't create any user defined handles for the
instances...Directly Jump to aligning the objects(Compare the First
post and this post).

;to align two ROD objects
rodAlign(
?alignObj obj2
?alignHandle "centerRight";this should be the user defined handle
?refObj obj1
?refHandle "centerLeft"
?maintain t
?xSep 0
?ySep 0
)

And it is working perfectly fine ,I even tried with aligning some
other instances with different Aligning positions.
It is working fine(even with or without separation between the
instances).

Now the BIGGEST question in my mind is:
*Are user Defined Handles really necessary?
*And in what way would a user defined handle improve the above code/
situation?

Regards,
Lokesh Rajendran.
You only need to use user defined handles if for some reason you can't use the
system defined handles. I've found very few cases where I really need to use
user defined handles - normally system defined handles with an appropriate
separation with rodAlign() is sufficient.

Given it's unclear what you're really trying to do, it's hard to say whether it
will improve things or not...

Regards,

Andrew.
 
Hey I-F AB ,
I got the solution for the problem :)
;This is a code to get the ROD Object ID of a selected object
procedure(getRODobj()
cvId = deGetCellView()
dbId = car(geGetSelectedSet(cvId))
rodId = rodGetObj(dbId)
);proc

;After running the above procedure i got the ROD object ID's of the
two instances as follows:
obj1=getRODobj()
obj2=getRODobj()

;In the Next Step don't create any user defined handles for the
instances...Directly Jump to aligning the objects(Compare the First
post and this post).

;to align two ROD objects
rodAlign(
?alignObj obj2
?alignHandle "centerRight";this should be the user defined handle
?refObj obj1
?refHandle "centerLeft"
?maintain t
?xSep 0
?ySep 0
)

And it is working perfectly fine ,I even tried with aligning some
other instances with different Aligning positions.
It is working fine(even with or without separation between the
instances).

Now the BIGGEST question in my mind is:
*Are user Defined Handles really necessary?
*And in what way would a user defined handle improve the above code/
situation?

Regards,
Lokesh Rajendran.


On May 28, 1:54 pm, lokeshr...@gmail.com wrote:
Yes I-F AB ,
The instances are big..
The following code says it all..("obj1" is the ROD object ID of an
instance)

obj1~>length
1.86
obj1~>width
52.1

Still I'm working on the problem....

Regards,
Lokesh rajendran

On May 28, 1:08 pm, I-F AB <cop0...@gmail.com> wrote:

Hi,
I don't have any editing licenses free at the moment so I can't really
try it but I might be able to guess something.
I've used rodAlign() a couple of times but am not that familiar with
rodCreateHandle().

You've used no separation so could the inconsistency be due to hidden
layers or both instances origin? You can check the instances bounding
boxes to see their exact limits (or perhaps try press 'Q' to see the
Object Properties, and check the instance's co-ordinates under tab ROD
at System Handle).
If the instance has text written on it, the text could have increased
the instance's boundaries.

Actually, 70um does seem too wide a distance - unless the instance is
quite big.

Best Regards,
I-F AB
 
Hi,
Good for you! Glad to hear that your problem's solved.
Also, I have never actually used "rodGetObj(dbId)" since I usually
assign names while creating ROD's :
e.g. ROD_1 = rodCreatePath( ...... )

Best Regards,
I-F AB
 
Hi andrew,
I was just trying to align two mosfet's(which were called as instances
in the layout)...Any way just relieved to hear that people are not
using much of user defined handle...I beleive that user defined
handles are only required when you are trying to align a single ROD
object to a point,else if you doing relative alignments like just
aligning two ROD object's then the system defined handles are
suffice..
HOPE THIS ACTS LIKE A SUMMARY..
Andrew please so pass your comments on this...

Regards,
Lokesh Rajendran.



On May 29, 7:44 am, I-F AB <cop0...@gmail.com> wrote:
Hi,
Good for you! Glad to hear that your problem's solved.
Also, I have never actually used "rodGetObj(dbId)" since I usually
assign names while creating ROD's :
e.g. ROD_1 = rodCreatePath( ...... )

Best Regards,
I-F AB
 
lokeshraje@gmail.com wrote, on 05/29/09 06:25:
Hi andrew,
I was just trying to align two mosfet's(which were called as instances
in the layout)...Any way just relieved to hear that people are not
using much of user defined handle...I beleive that user defined
handles are only required when you are trying to align a single ROD
object to a point,else if you doing relative alignments like just
aligning two ROD object's then the system defined handles are
suffice..
HOPE THIS ACTS LIKE A SUMMARY..
Andrew please so pass your comments on this...

Regards,
Lokesh Rajendran.
Lokesh,

Yes, that's pretty much the only thing I've used user defined handles for.

Regards,

Andrew.
 

Welcome to EDABoard.com

Sponsor

Back
Top