• 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. Getting Path Properties Whilst Being Placed

Stats

  • Locked Locked
  • Replies 6
  • Subscribers 143
  • Views 11664
  • 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

Getting Path Properties Whilst Being Placed

kdolan
kdolan over 4 years ago

Hi,

I want to create a function that can obtain a paths bounding box whilst the user is still placing the path.  i.e. the user has used the create path command and is adding path points, but has not clicked the enter key yet to fully place the path object.

I've tried using geGetSelSet() but it returns nil because I guess the path is not 'selected', and instead is still being created. I've been looking around and haven't come across a function or method that can do this.

Any ideas or input is appreciated!

Thanks in advance for any help.

Keelan

  • Cancel
Parents
  • skillUser
    skillUser over 4 years ago

    Hi Keelan,

    the only way that I know to do something like this is to use an Enter function, e.g. enterPoints() so you can control the gathering of the points and can trigger functions while the enter function is active (it has 'addPoint' and 'deletePoint' procedures, for example, that are triggered for those events). You should be able to search for some examples in this forum and on the Cadence support site.

    Hope this helps!

    Lawrence.

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 4 years ago in reply to skillUser

    I'm also wondering (beyond Lawrence's suggestions) what exactly you're trying to do here - it seems a bit odd trying to find the bounding box of something you've not actually created yet, so I can't imagine what you're trying to do.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • kdolan
    kdolan over 4 years ago in reply to Andrew Beckett

    Thank you both for your quick responses. What I am trying to do, or more so replicate, is a script I saw at your 'Maximizing Custom Layout Productivity Even as the Circuit Changes' Tech Talk a few days ago.
    I believe the presenter referred to the skill script as 'auto via drop', whereby as the presenter was overlapping paths with the same net names, vias were automatically placed. 
    I came across a previous thread (Automatic VIA Drop for same NET - Custom IC SKILL - Cadence Technology Forums - Cadence Community) that did something very similar, but I didn't like the idea of having to specify the area. I've looked at other via functions but haven't managed to replicate what I believe was shown.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 4 years ago in reply to kdolan

    Hi Keelan,

    I spoke with the presenter of the tech talk, and as I suspected (I missed it, because I was busy at the time) they had just defined a SKILL function to toggle an environment variable on or off. They'd done this:

    (defun CCSViaDrop ()
      (envSetVal "layout" "weAutoDropViaForOverlaps" 'boolean (not (envGetVal "layout" "weAutoDropViaForOverlaps")))
    )

    (hiSetBindKey "Layout" "<Key>0" "CCSViaDrop()")

    So pressing the 0 key toggled on or off the auto via drop on overlaps, rather than requiring you to explicitly use the Create Via command and then use "auto" mode and click on the overlapping regions. Put another way, it's enabling or disabling a standard feature of the tools, rather than running a SKILL function to do the via auto-filling.

    Regards,

    Andrew

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • kdolan
    kdolan over 4 years ago in reply to Andrew Beckett

    Hi Andrew,

    Ah yes, that is working perfectly and doing what I wanted. A little bit less complicated than the route I way taking!! 

    Appreciate all your help as usual! 

    Regards,

    Keelan

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • kdolan
    kdolan over 4 years ago in reply to Andrew Beckett

    Hi Andrew,

    Ah yes, that is working perfectly and doing what I wanted. A little bit less complicated than the route I way taking!! 

    Appreciate all your help as usual! 

    Regards,

    Keelan

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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