• 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. How to Retrieve the value of dX and dY in the current w...

Stats

  • Locked Locked
  • Replies 18
  • Subscribers 143
  • Views 22014
  • 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

How to Retrieve the value of dX and dY in the current window

ClintMeyer
ClintMeyer over 14 years ago

I would like to create a script that will automatically move whatever I have selected in a layout window by the same amount as the last move.  The last move/copy/stretch relative distance is displayed in the layout window as dX and dY (standing for delta X and delta Y i presume).  Is there a skill function that returns that value?  I looked under the hiGetCurrentWindow() and it was not there.

 Thanks for any help

 Clint

 

  • Cancel
Parents
  • ClintMeyer
    ClintMeyer over 14 years ago

    Hey Andrew

     Thanks for the procedure.  Unfortunately, I was not fully understanding how Dx and Dy work.  Let me give you some background on what I am looking for.

     Back in 1998 when I worked for IBM, they had in house CAD tools.  The layout editor (GYM) had as a standard feature the ability to store the Dx/Dy for the previous data manipulation event (whether move/copy/stretch/etc..).  Then a command could be issued that would move the current selected set of objects by the previous Dx Dy in the positive or negative direction.  This was a surprisingly handy data manipulation command that was used more often that it would seem. 

     Your abGetDxDy.il gets the data but to use that skill code, I would have to do the following.

     1) select data and initiate the move command (order is only important if you want to keep the set of items selected after you finish the move command and whether you want "repeat commands" to work)

    2) click with the left mouse button where you want to reference your move from (depends on whether the user uses inFix or not, but lets save that debate for another day LOL)

    3) move your mouse to the new location for the move

    4) inititate the abGetDxDy() procedure and store the results in a variable

    5) left click with the mouse to set the new location for the selected set

    Now I can recall the variable with DxDy stored to use as input into a relative move command.  That is the simple part. 

    What I would really like is a way to grab the relative location of the cursor (your abGetDxDy) at the same moment as when I click to set the new location (step 5).  My pea sized brain imagines that one would need to build new procedure that wraps around leHiMove/Stretch/Copy/etc.... and uses those new procedures instead of leHiMove/Stretch/Copy/etc....

     If you can show me one, i can figure out the others.  I would be really interested to see how you do it (copying is the best way for me to learn). 

    I have a feeling that this has something to do with enter function, which I still dont have a complete understanding of.

     Anyway, thanks again for your help!!

     Clint

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • ClintMeyer
    ClintMeyer over 14 years ago

    Hey Andrew

     Thanks for the procedure.  Unfortunately, I was not fully understanding how Dx and Dy work.  Let me give you some background on what I am looking for.

     Back in 1998 when I worked for IBM, they had in house CAD tools.  The layout editor (GYM) had as a standard feature the ability to store the Dx/Dy for the previous data manipulation event (whether move/copy/stretch/etc..).  Then a command could be issued that would move the current selected set of objects by the previous Dx Dy in the positive or negative direction.  This was a surprisingly handy data manipulation command that was used more often that it would seem. 

     Your abGetDxDy.il gets the data but to use that skill code, I would have to do the following.

     1) select data and initiate the move command (order is only important if you want to keep the set of items selected after you finish the move command and whether you want "repeat commands" to work)

    2) click with the left mouse button where you want to reference your move from (depends on whether the user uses inFix or not, but lets save that debate for another day LOL)

    3) move your mouse to the new location for the move

    4) inititate the abGetDxDy() procedure and store the results in a variable

    5) left click with the mouse to set the new location for the selected set

    Now I can recall the variable with DxDy stored to use as input into a relative move command.  That is the simple part. 

    What I would really like is a way to grab the relative location of the cursor (your abGetDxDy) at the same moment as when I click to set the new location (step 5).  My pea sized brain imagines that one would need to build new procedure that wraps around leHiMove/Stretch/Copy/etc.... and uses those new procedures instead of leHiMove/Stretch/Copy/etc....

     If you can show me one, i can figure out the others.  I would be really interested to see how you do it (copying is the best way for me to learn). 

    I have a feeling that this has something to do with enter function, which I still dont have a complete understanding of.

     Anyway, thanks again for your help!!

     Clint

    • 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