element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • 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) local/user information in a ULP?
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Autodesk EAGLE to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 4 replies
  • Subscribers 175 subscribers
  • Views 509 views
  • Users 0 members are here
Related

local/user information in a ULP?

mr.chris.styles
mr.chris.styles over 8 years ago

HI All,

 

I have scanned the extensive ULP documentation, i could well have missed it, but I have not been able to find any way for a ULP to access information about Eagle revision number, registered user, serial number, etc etc.

 

I'm doing some experiments with ULPs, never written them before, and the ability to understand who exactly is running the ULP would be pretty useful!

 

Any hints/tips appreciated..

 

Cheers,
Chris

  • Sign in to reply
  • Cancel
Parents
  • autodeskguest
    autodeskguest over 8 years ago

    Hi Chris,

     

    an ULP does not have registration information accessible, but you have

    access to EAGLE's version numbers through some predefined constants.

    You'll find these constants in the HELP under "User Language" ->

    "Builtins" -> "Builtin Constants", for example:

     

    string s;

    sprintf(s, "%d.%d", EAGLE_VERSION, EAGLE_RELEASE);

    dlgMessageBox(s);

     

    dlgMessageBox(EAGLE_SIGNATURE);

     

     

    Rene

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • mr.chris.styles
    mr.chris.styles over 8 years ago in reply to autodeskguest

    Thanks for the rapid reply!

     

    Too bad I can't get at the serial number, as that would uniquely identify the installation, while maintaining anonymity...

     

    While I am here, are there any plans to add "version" properties to sch, brd and library files? Another built in variable that can be set/seen in the UI, or munged directly in the XML if needed?

     

    im really interested in starting a trial with cadlab.io ... looks like we're thinking along similar lines...

     

    Cheers,

    Chris

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • autodeskguest
    autodeskguest over 8 years ago in reply to mr.chris.styles

    Am 22.12.2016 um 20:24 schrieb Chris Styles:

    While I am here, are there any plans to add "version" properties to sch, brd and library files? Another built in variable that can be set/seen in the UI, or munged directly in the XML if needed?

     

    Not for the library, but for the schematic and board you can add such

    information right now, through global ATTRIBUTEs. But keep in mind that

    global ATTRIBUTEs aren't really global - they are local to the drawing

    you're editing. An ATTRIBUTE added to the schematic is not visible in

    the board and vice versa.

     

    Rene

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • autodeskguest
    autodeskguest over 8 years ago in reply to mr.chris.styles

    Chris Styles wrote on Fri, 23 December 2016 08:24

    Thanks for the rapid reply!

     

    Too bad I can't get at the serial number, as that would uniquely

    identify the installation, while maintaining anonymity...

     

    Cheers,

    Chris

     

    --

    To view any images and attachments in this post, visit:

    https://www.element14.com/community/message/211665

     

     

    The ULP command "system()" may provide a solution for you.

    As an example, if your computer names provide anonymity you can get the

    computer name via the command "system()" command. The following ULP targets

    the computer name in a Windows system via the Windows cmd.exe

    The attached could be the basis of an #include ULP that is included with

    each of your custom ULPs.

    The idea could be extended to acquire any info you required from the OS.

    Alas there may be a speed penalty for the primary ULP being run.

     

    string myFile = "eagleULP_MyComputerName.txt";

    string myPath,syscmd,myPathFile,hostname;

    string line[];

     

    if(board)     board(B){myPath = filedir(B.name);}

    if(schematic)     schematic(S){myPath = filedir(S.name);}     

    if(library)     library(L){myPath = filedir(L.name);}

    myPathFile = myPath + "/" + myFile;

     

    //create file that will be overwritten with each run of this ulp and

    removed when Eagle is closed

    output( myPathFile,"wtD");

     

    sprintf(syscmd,"cmd.exe /q/c hostname > %s",myPathFile); //prep to call

    Windows cmd.exe

    system(syscmd);  //place computer name into file

     

    //read computer name from file

    fileread(line,myPathFile);

    hostname = line ;

    //display computer name

    dlgMessageBox(hostname);

    exit(0);

     

     

    HTH

    Warren

     

    --

    http://www.eaglecentral.ca :: The original and best browser access to CadSoft EAGLE support forums.  Supported by EAGLE licenses purchased through us :: http://www.eaglelicenses.com

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • autodeskguest
    autodeskguest over 8 years ago in reply to mr.chris.styles

    Chris Styles wrote on Fri, 23 December 2016 08:24

    Thanks for the rapid reply!

     

    Too bad I can't get at the serial number, as that would uniquely

    identify the installation, while maintaining anonymity...

     

    Cheers,

    Chris

     

    --

    To view any images and attachments in this post, visit:

    https://www.element14.com/community/message/211665

     

     

    The ULP command "system()" may provide a solution for you.

    As an example, if your computer names provide anonymity you can get the

    computer name via the command "system()" command. The following ULP targets

    the computer name in a Windows system via the Windows cmd.exe

    The attached could be the basis of an #include ULP that is included with

    each of your custom ULPs.

    The idea could be extended to acquire any info you required from the OS.

    Alas there may be a speed penalty for the primary ULP being run.

     

    string myFile = "eagleULP_MyComputerName.txt";

    string myPath,syscmd,myPathFile,hostname;

    string line[];

     

    if(board)     board(B){myPath = filedir(B.name);}

    if(schematic)     schematic(S){myPath = filedir(S.name);}     

    if(library)     library(L){myPath = filedir(L.name);}

    myPathFile = myPath + "/" + myFile;

     

    //create file that will be overwritten with each run of this ulp and

    removed when Eagle is closed

    output( myPathFile,"wtD");

     

    sprintf(syscmd,"cmd.exe /q/c hostname > %s",myPathFile); //prep to call

    Windows cmd.exe

    system(syscmd);  //place computer name into file

     

    //read computer name from file

    fileread(line,myPathFile);

    hostname = line ;

    //display computer name

    dlgMessageBox(hostname);

    exit(0);

     

     

    HTH

    Warren

     

    --

    http://www.eaglecentral.ca :: The original and best browser access to CadSoft EAGLE support forums.  Supported by EAGLE licenses purchased through us :: http://www.eaglelicenses.com

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
No Data
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