• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC SKILL
  3. selecting single figures/objects...

Stats

  • Locked Locked
  • Replies 20
  • Subscribers 143
  • Views 14119
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

selecting single figures/objects...

bloodwayn
bloodwayn over 14 years ago

Hello everybody,

i have a layout with a "text" layer1. in this layer are diffrent layers consist of metal1, metal2 and/or poly. now i generate with a function 4 rectangles(also text layer) for example which devide the layer1 into 4 parts.

now i would like to select all layers which are located in one of these parts. so i don't know how i can select a figure or shape or so, based on an specific area.

 hope anybody can help

thanking you in anticipation and sry for my bad english ;)
philip

  • Cancel
  • bloodwayn
    bloodwayn over 14 years ago

    hi

    everything works great now. one thing gets on my nerves. if i've runned the programm and als sub cellviews and so on are created. now i want to run the programm a second time and he ask me to overwrite the layout.cdb for each cellview. so i have 100-300 rectangles and thus 100-300 new cellviews. and i dont want to click 100-300 times "yes pls overwrite it" ^^

    hope you now what i mean^^

     regards,
    philip

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • bloodwayn
    bloodwayn over 14 years ago

     hey

    now there is an other problem with copy figures. i have a polygon with more than 4 points. how can i copy this? i get an error when i use leyankfigs: "Yank shape has illegal number of points - 5" 

    regards
    philip

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • bloodwayn
    bloodwayn over 14 years ago

     so i've found a way to copy. so i split the polygon with dbLayerTile() in rectangles and copy these in my new cellview. but now i want must fix the postition of each rect. how can i change the coordinates of a rectangle? until now i didn't found anything.

    regards
    philip

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 14 years ago

    Hi Philip,

    First of all, I can't see why leYankFigs would have a problem copying polygons with 5 points. I wondered whether you meant that the list of points argument you give has to have 4 points (I tried with 5 or 6 and that works). So I don't really understand the problem - perhaps you could give the exact error message.

    lePasteFigs allows you to specify an origin for the resulting paste, and provided you've specified a reference point in the leYankFigs call,  I don't see why you'd need to change the coordinates? 

    Anyway, changing the coordinates of a rectangle would be just a matter of modifying the ~>bBox of the rectangle.

    Best Regrds,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • bloodwayn
    bloodwayn over 14 years ago

     Hi Andrew

    hmm this was the exact  error. and i've thought that is possible with leyankfig.
    so my leyankfig call was: leYankFigs(CV bBox 5) and the bBox is bBox= CV~>shapes~>bBox. after a printf bBox looks like ( (6,3 3.7 5,8) (1 6)) ... thats only an example. so in die first list are 3 arguments and 2 in the other. and when i call my function i get the error i've wrote above.

    is there a mistake in my syntax?

    and for interest. how should be the arguments in lepastefigs if i want to copy my objects from a position in the source Cellview to the same position in destination cellview.

     regards
    philip

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 14 years ago

    Hi Philip,

    Yes, that's incorrect. The second argument to the leYankFigs is a list of points for the yank shape. You've given a list of bBoxes, one for each shape in the cellView - that's not correct. 

    If you're copying all shapes in the cellView, I would probably have done it by looping over the shapes and using dbCopyFig, but otherwise you could use:

    bBox=CV~>bBox
    ll=lowerLeft(bBox)
    ur=upperRight(bBox)
    lpts=list(ll xCoord(ll):yCoord(ur) ur xCoord(ur):yCoord(ll))
    leYankFig(CV lpts 5 0:0)
    lePasteFig(DestCV 0:0)

    Passing the reference point in the leYankFigs (and giving the same reference point in the lePasteFigs) .

    BTW, the reason I wanted the full error (with the error code if any) was that this tends to reveal more. Also, knowing which version you had been using could have helped. In this case though, I'd have needed to know how bBox was being computed - and clearly it was wrong, as you've explained.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • bloodwayn
    bloodwayn over 14 years ago

    hey andrew

    thanks a lot. that makes sense^^

    but now i have a polygon like in the picture below. and you say i must loop the shape to get all points. but what i have to loop? (i hope it's right english ) ...the Bbox or.... ?

    regards
    philip

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • bloodwayn
    bloodwayn over 14 years ago

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 14 years ago

    Hi Philip,

    No, my point about looping over the shapes was to use something similar to /forums/p/17163/1223573.aspx#1223573 which I mentioned earlier. If you want to use all shapes, you could do:

    foreach(fig srcCV~>shapes
      dbCopyFig(fig destCV)
    )

    The code I gave in my last append should find the overall bounding box of the cellView, and then convert this to a list of four points representing the yank area. That should do what  you want, if I've understood you properly. No need to give yank points precisely following the outline of your shapes, as far as I can tell.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • bloodwayn
    bloodwayn over 14 years ago

    hey andrew

    very thanks. it works now very well =)

    regards
    philip

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
<

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information