• 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. Allegro X PCB Editor
  3. Snap to intersection while "axlEnterPoint"

Stats

  • Replies 3
  • Subscribers 159
  • Views 1681
  • Members are here 0
More Content

Snap to intersection while "axlEnterPoint"

Hogsmeade
Hogsmeade over 9 years ago

The goal is to place symbols in a polar grid. So I created a skill that draws lines intersecting with circles. Then I pick it and snap to the intersection.

Due to varying angle each placement, I have to use axlTransformObject and axlEnterPoint but axleEnterPoint only support snap to grids (?gridSnap t).

Of course, we can use pop up and select "Snap to intersection" but I want to just pick near the intersection and it automatically snaps to it.

Any suggestion?

I really appreciate it.

  • Sign in to reply
  • Cancel
Parents
  • B Bruekers
    B Bruekers over 9 years ago

    In this case I would use the axlEnterEvent function.

    You get the XY and grid snapped XY points of the user pick. Then write a function that selects everything in a box (axlSingleSelectBox) around this xy point. The bbox size you have to calculate, so can make it as large as you want. If you want to use a box depending on the zoom level use the axlGetTrapBox function. It returns a bbox depending on the zoom level.

    The selection you can do this only specific elements like LINESEGS and use the setof function to filter a specific layer (if required). 

    Then find the intersection of the linesegs with the axl_ol_ol2 function. The result is a xy point where to place your component. 

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • B Bruekers
    B Bruekers over 9 years ago

    In this case I would use the axlEnterEvent function.

    You get the XY and grid snapped XY points of the user pick. Then write a function that selects everything in a box (axlSingleSelectBox) around this xy point. The bbox size you have to calculate, so can make it as large as you want. If you want to use a box depending on the zoom level use the axlGetTrapBox function. It returns a bbox depending on the zoom level.

    The selection you can do this only specific elements like LINESEGS and use the setof function to filter a specific layer (if required). 

    Then find the intersection of the linesegs with the axl_ol_ol2 function. The result is a xy point where to place your component. 

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
No Data
Cadence Guidelines

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