extract shapes from layout

S

sajin

Guest
Hi
I am trying to find a particular layer from layout using skill
Let the layer be '("m1" "drawing")
I am using
m1 = setof(x cv~>shapes x~>lpp=='("m1" "drawing")).
This is working fine. But the problem is, if the layout is huge with
lots of polygons, the run time is too huge.
Is there any other way to do this?
Regards
Sajin
 
m1 = car(setof(x cv~>lpps x~>lpp =='("m1" "drawing")))~>shapes

This is faster unless you have more lpps than shapes, also not 100%
sure I have the syntax right.

On Aug 12, 11:42 pm, sajin <saji...@gmail.com> wrote:
Hi
I am trying to find a particular layer from layout using skill
Let the layer be '("m1" "drawing")
I am using
m1 = setof(x cv~>shapes x~>lpp=='("m1" "drawing")).
This is working fine. But the problem is, if the layout is huge with
lots of polygons, the run time is too huge.
Is there any other way to do this?
Regards
Sajin
 
On 13 aoűt, 09:39, Risky <theel...@gmail.com> wrote:
m1 = car(setof(x cv~>lpps x~>lpp =='("m1" "drawing")))~>shapes

This is faster unless you have more lpps than shapes, also not 100%
sure I have the syntax right.

On Aug 12, 11:42 pm, sajin <saji...@gmail.com> wrote:



Hi
I am trying to find a particular layer from layout using skill
Let the layer be '("m1" "drawing")
I am using
m1 = setof(x cv~>shapes x~>lpp=='("m1" "drawing")).
This is working fine. But the problem is, if the layout is huge with
lots of polygons, the run time is too huge.
Is there any other way to do this?
Regards
Sajin- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -
Hi,

You can use dbGetTrueOverlaps .

cv= geGetEditCellView()
dbGetOverlaps(cv cv~>bBox list("m1" "drawing") 0)

The 0 is to say that you don't descend in the hierarchy, but you can
change it to something else. The result will be a netsted list that
you'll have to process to get the shapes.

Hoping that it helps.
regards,

Sylvain
 
dbGetTrueOverlaps or dbGetOverlaps ... ?
These 2 are slightly different I'm afraid
Well, I think it's just a spelling mistake

Cheers,
Riad.
 
On 13 aoűt, 21:40, Riad KACED <riad.ka...@gmail.com> wrote:
dbGetTrueOverlaps or dbGetOverlaps ... ?
These 2 are slightly different I'm afraid
Well, I think it's just a spelling mistake

Cheers,
Riad.
Hi,
dbGetOverlaps because we're working on all the cell so no need of true
overlaps.
Just a typo.

Sylvain
 
On 13 aoűt, 21:40, Riad KACED <riad.ka...@gmail.com> wrote:
dbGetTrueOverlaps or dbGetOverlaps ... ?
These 2 are slightly different I'm afraid
Well, I think it's just a spelling mistake

Cheers,
Riad.
Hi,

Nice to see you'll always be behind me!

Actually I meant dbGetOverlaps insteand of dbGetTrueOverlaps because
we want to find the shapes on all the cellview's bBox.
More over I think that it will be quicker to use dbGetOverlaps .

But to be accurate, I have to complete my answer by adding that the
result of the function should be processed so that you get only the
shapes, the function returns everything it finds, like instances,
mosaics .....




Sylvain
 
Thank you everybody for the suggestions
Sajin


On Aug 14, 1:19 am, Sylvain <sylvain.trivi...@gmail.com> wrote:
On 13 aoűt, 21:40, Riad KACED <riad.ka...@gmail.com> wrote:

dbGetTrueOverlaps or dbGetOverlaps ... ?
These 2 are slightly different I'm afraid
Well, I think it's just a spelling mistake

Cheers,
Riad.

Hi,

Nice to see you'll always be behind me!

Actually I meant dbGetOverlaps insteand of dbGetTrueOverlaps because
we want to find the shapes on all the cellview's bBox.
More over I think that it will be quicker to use dbGetOverlaps .

But to be accurate, I have to complete my answer by adding that the
result of the function should be processed so that you get only the
shapes, the function returns everything it finds, like instances,
mosaics .....

Sylvain
 
Sylvain wrote, on 08/13/09 21:19:
On 13 aoűt, 21:40, Riad KACED <riad.ka...@gmail.com> wrote:
dbGetTrueOverlaps or dbGetOverlaps ... ?
These 2 are slightly different I'm afraid
Well, I think it's just a spelling mistake

Cheers,
Riad.

Hi,

Nice to see you'll always be behind me!

Actually I meant dbGetOverlaps insteand of dbGetTrueOverlaps because
we want to find the shapes on all the cellview's bBox.
More over I think that it will be quicker to use dbGetOverlaps .

But to be accurate, I have to complete my answer by adding that the
result of the function should be processed so that you get only the
shapes, the function returns everything it finds, like instances,
mosaics .....




Sylvain
Using dbGetOverlaps or dbGetTrueOverlaps will be less efficient than using the
approach suggested in "Risky"'s post - finding the LPP object for m1/drawing and
then retrieving the shapes from there.

Using dbGetOverlaps (or TrueOverlaps) has to do a "region query" which is a
relatively expensive operation in comparison.

Regards,

Andrew.
 

Welcome to EDABoard.com

Sponsor

Back
Top