element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Members
    Members
    • Achievement Levels
    • Benefits of Membership
    • Feedback and Support
    • Members Area
    • Personal Blogs
    • What's New on element14
  • Learn
    Learn
    • eBooks
    • Learning Center
    • Learning Groups
    • STEM Academy
    • Webinars, Training and Events
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Arduino Projects
    • Design Challenges
    • element14 presents
    • Project14
    • Project Groups
    • Raspberry Pi Projects
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Autodesk EAGLE
  • Products
  • More
Autodesk EAGLE
EAGLE User Chat (English) output cursor location ?
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Autodesk EAGLE requires membership for participation - click to join
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 8 replies
  • Subscribers 166 subscribers
  • Views 615 views
  • Users 0 members are here
Related

output cursor location ?

Former Member
Former Member over 12 years ago

Hello,

 

Any way to access/output current cursor location on board editor at run

time, for example with a function key press? Interested in generating

motion control commands to an external device for inspection of boards.

 

Thanks,

Bill

 

  • Sign in to reply
  • Cancel
Parents
  • Former Member
    Former Member over 12 years ago

    Bill Martin wrote:

    Hello,

     

    Any way to access/output current cursor location on board editor at

    run time, for example with a function key press? Interested in

    generating motion control commands to an external device for

    inspection of boards.

     

    Thanks,

    Bill

     

    Not easily, but possible.

     

    I used the following technique.

    I wrote a ULP which was run using a function key that was assigned to that

    ULP. The process was, position the cursor and hit the Function key and I

    attained the cursor position.

     

    The secret lies in (@) which is the current mouse  position See HELP /

    Editor Commands / Command Syntax

    But you cannot simply read the cursor position within a ULP. You have to use

    it. I drew a line from the cursor position to a far distant point  on a

    custom layer that had an obscure name.

    The ULP exited and immediatly re-ran itself with a specific argument this

    time to indicate re-entry. Satisfied it was a re-entry it looked for the

    custom layer name and for a  line with one end at the known location. The

    other end of the line was recovered as this was the cursor co-ords. You have

    to write code to clean up the line on the custom layer each time you

    initially enter the ULP

     

    I hope a future subversion of V6  has cursor position obtainable from within

    the ULP.

     

    HTH

    Warren

     

     

     

     

     

     

     

    --

    Viewed / responded via the newsgroup at

    news.cadsoft.de

     

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 12 years ago in reply to Former Member

    On 04/27/2012 12:37 AM, Warren Brayshaw wrote:

    Bill Martin wrote:

    >> Hello,

    >>

    >> Any way to access/output current cursor location on board editor at

    >> run time, for example with a function key press? Interested in

    >> generating motion control commands to an external device for

    >> inspection of boards.

    >>

    >> Thanks,

    >> Bill

     

    Not easily, but possible.

     

    I used the following technique.

    I wrote a ULP which was run using a function key that was assigned to that

    ULP. The process was, position the cursor and hit the Function key and I

    attained the cursor position.

     

    The secret lies in (@) which is the current mouse  position See HELP /

    Editor Commands / Command Syntax

    But you cannot simply read the cursor position within a ULP. You have to use

    it. I drew a line from the cursor position to a far distant point  on a

    custom layer that had an obscure name.

    The ULP exited and immediatly re-ran itself with a specific argument this

    time to indicate re-entry. Satisfied it was a re-entry it looked for the

    custom layer name and for a  line with one end at the known location. The

    other end of the line was recovered as this was the cursor co-ords. You have

    to write code to clean up the line on the custom layer each time you

    initially enter the ULP

     

    I hope a future subversion of V6  has cursor position obtainable from within

    the ULP.

     

    HTH

    Warren

     

    >

    Thanks for that pointer. I tried what seemed the obvious way to

    circumvent the "not available in ULP" issue, with the following:

    ASSIGN F12 'RUN chk_args.ulp (@)'

    however, the (@) is not expanded and passed as an argv[] parameter as

    would be desired. So it looks like your method may be the only way to do

    this. Actually, until/if Eagle can pass coordinates to a ulp, I might do

    better to look at using gerbv to emit coordinates, there I can alter the

    source code if needed...

     

    Regards,

    Bill

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 12 years ago in reply to Former Member

    Thanks for that pointer. I tried what seemed the obvious way to

    circumvent the "not available in ULP" issue, with the following:

    ASSIGN F12 'RUN chk_args.ulp (@)'

    however, the (@) is not expanded and passed as an argv[] parameter as

    would be desired. So it looks like your method may be the only way to do

    this. Actually, until/if Eagle can pass coordinates to a ulp, I might do

    better to look at using gerbv to emit coordinates, there I can alter the

    source code if needed...

     

    Regards,

    Bill

     

    Hi Bill

    you don't get away to re-write gerbv that easily.

     

    Have a play with the attached ULP. It may have value for you.

    Place it on your ULP paths and read the description/guidance from Eagle

    Control Panel

     

    Regards

    Warren

     

    --

    Web access to CadSoft support forums at www.eaglecentral.ca.  Where the CadSoft EAGLE community meets.

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 12 years ago in reply to Former Member

    On 04/28/2012 05:03 PM, Warren Brayshaw wrote:

    Thanks for that pointer. I tried what seemed the obvious way to

    circumvent the "not available in ULP" issue, with the following:

    ASSIGN F12 'RUN chk_args.ulp (@)'

    however, the (@) is not expanded and passed as an argv[] parameter as

    would be desired. So it looks like your method may be the only way to do

    this. Actually, until/if Eagle can pass coordinates to a ulp, I might do

    better to look at using gerbv to emit coordinates, there I can alter the

    source code if needed...

     

    Regards,

    Bill

     

    Hi Bill

    you don't get away to re-write gerbv that easily.

     

    Have a play with the attached ULP. It may have value for you.

    Place it on your ULP paths and read the description/guidance from Eagle

    Control Panel

     

    Regards

    Warren

     

    Hi Warren,

     

    Thank you for this, I will try it out. Had a cursory (no pun intended!)

    look at your code...my gut tells me that this is the hard way, but has

    the advantage that it is contained in the "Eagle universe", which is not

    a bad thing. Having done embedded code for a LOT longer than I have been

    attempting simple board designs, I may not be convinced that changing

    Gerbv is so difficult...but there is another possibility: Eagle uses

    dynamically linked libraries, so it may be possible to insert an access

    hook that can be called from a .ulp program to get the current cursor

    position from the X library code that actually moves the cursor upon

    command from the Eagle program. That sounds like fun to look into... image

     

    Best Regards,

    Bill

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 12 years ago in reply to Former Member

    The ULP I attached a couple of days ago was a little hurried and had a bug.

    It could not resolve a cursor point of (0 0).

    The attached ULP has fixed that problem.

     

    Bill, when you get a moment would you please describe the inspection device

    you will be driving.

     

    Regards

    Warren

    --

    Web access to CadSoft support forums at www.eaglecentral.ca.  Where the CadSoft EAGLE community meets.

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 12 years ago in reply to Former Member

    On 04/30/2012 11:40 PM, Warren Brayshaw wrote:

    The ULP I attached a couple of days ago was a little hurried and had a bug.

    It could not resolve a cursor point of (0 0).

    The attached ULP has fixed that problem.

     

    Bill, when you get a moment would you please describe the inspection device

    you will be driving.

     

    Regards

    Warren

     

    Thank you for the update...I had not stepped on the bug yet!

     

    My idea is basically to construct an X-Y gantry with a USB microscope

    mounted on the moving stage, coordinates obtained from the Eagle cursor

    location would be sent to a controller, such that the microscope goes to

    that location above the physical pcb. It's all in "thinking about it"

    stage at the moment, I'm toying with the idea of also mounting an IR

    laser on the gantry stage to see if I can do some no-touch soldering of

    smt parts. I'm finding that my biggest problem with hand assembly of

    prototypes is stopping the flea-like behavior of the tiny parts. touch

    them & they jump somewhere else! Of course, it all could be moved

    manually, no doubt for less money spent. Feedback on practicality of

    this is welcome, I'm not hung up thinking it's the best idea ever.

     

    Regards,

    Bill

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • dukepro
    dukepro over 12 years ago in reply to Former Member

    On 05/01/2012 06:43 PM, Bill Martin wrote:

    My idea is basically to construct an X-Y gantry with a USB microscope

    mounted on the moving stage,

    ...

    I'm toying with the idea of also mounting an IR

    laser on the gantry stage to see if I can do some no-touch soldering of

    smt parts.

     

    This is interesting... You'd have ramp the current up such that you

    don't induce a thermal shock on the part.  Do you have an IR laser in

    mind powerful enough to reach the melting point of solder?

     

        - Chuck

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • dukepro
    dukepro over 12 years ago in reply to Former Member

    On 05/01/2012 06:43 PM, Bill Martin wrote:

    My idea is basically to construct an X-Y gantry with a USB microscope

    mounted on the moving stage,

    ...

    I'm toying with the idea of also mounting an IR

    laser on the gantry stage to see if I can do some no-touch soldering of

    smt parts.

     

    This is interesting... You'd have ramp the current up such that you

    don't induce a thermal shock on the part.  Do you have an IR laser in

    mind powerful enough to reach the melting point of solder?

     

        - Chuck

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
  • Former Member
    Former Member over 12 years ago in reply to dukepro

    On 05/02/2012 04:59 AM, Chuck Huber wrote:

    On 05/01/2012 06:43 PM, Bill Martin wrote:

    >> My idea is basically to construct an X-Y gantry with a USB microscope

    >> mounted on the moving stage,

    ...

    >> I'm toying with the idea of also mounting an IR

    >> laser on the gantry stage to see if I can do some no-touch soldering of

    >> smt parts.

     

    This is interesting... You'd have ramp the current up such that you

    don't induce a thermal shock on the part.  Do you have an IR laser in

    mind powerful enough to reach the melting point of solder?

     

         - Chuck

     

    Not sure how much power is needed for such a small area. The IR rework

    stations I have seen use hundreds of watts over a large area. I have

    seen a 1W blue laser burn holes in plastic panels, but that is likely

    different from a shiny metal surface. Reflection of energy could make

    the whole idea go "flop". It's really not something I know anything much

    about, perhaps that's why it is interesting. There are other obvious

    limitations as well, for example it is not going to solder down too many

    BGA parts...and inner layers of multi-layer pcbs can't really be seen

    with the scope either. So, it only fits the case of assembling the kind

    of pcbs that one might try in a non-commercial setting.

     

    -bill

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube