element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • 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 & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • 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 Support (English) How to change text alignment with script (console command)? [SOLVED]
  • 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 10 replies
  • Subscribers 181 subscribers
  • Views 1836 views
  • Users 0 members are here
  • ulp
  • align
  • text
Related

How to change text alignment with script (console command)? [SOLVED]

MaxKielland
MaxKielland over 8 years ago

I'm writing a script (ULP) to smash all Resistors, Capacitors and Inductors and then set the text alignment to "Center" and move it to the origo of the package.

Now I'm stuck on how to change the text alignment, I can't find any command to do that.

 

Bonus question: How do I un-smash a smashed component in ULP?

  • Sign in to reply
  • Cancel

Top Replies

  • autodeskguest
    autodeskguest over 8 years ago in reply to MaxKielland +1
    Max Kielland wrote: Thank you but what if the grid changes from mil to mm? When I changed the grid units I got the same numbers (the old mil). Isn't there a way to get the coordinates right independent…
  • autodeskguest
    autodeskguest over 5 years ago in reply to josephoney +1
    josephoney wrote: Hi Max, could you share the ULP to align text to device? If possible, thanks!! to group all parts and smash: display none 23 24; group all; display last; smash (>0 0); group all parts…
Parents
  • autodeskguest
    autodeskguest over 8 years ago

    Max Kielland wrote:

    I'm writing a script (ULP) to smash all Resistors, Capacitors and

    Inductors and then set the text alignment to "Center" and move it to

    the origo of the package.

    Now I'm stuck on how to change the text alignment, I can't find any

    command to do that.

     

    in the ulp use "setgroup" to group all relevant texts (name, value,

    attributes?) then exit the ULP with

     

         change align centre (>0 0);

     

    (not tested though, does setgroup work with attributes at all?)

     

     

    or

     

         change align center (x y) ...

     

    where "x y" are the origin coordinates of a text

     

     

    Bonus question: How do I un-smash a smashed component in ULP?

     

    group the relevant parts then run "smash (>S0 0)"

     

    or

     

         smash (S x y)

     

    where "x y" are the origin coordinates ot the part to unsmash

    --

     

    Lorenz

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • MaxKielland
    MaxKielland over 8 years ago in reply to autodeskguest

    Thank you, now it seems like the coordinates are all strange.

     

    For example:

    (snippet from ULP script)

     

            E.texts(T) {

              sprintf(s,"CHANGE ALIGN CENTER (%d %d) \\\\ %s\n", T.x, T.y, E.name);

            }

     

    Grid units are in mil

    My resistor R4 (smashed text) at X: 537.5 Y:650 (when looking at it's info in the PCB editor)

     

    But my ULP script outputs:

    CHANGE ALIGN CENTER (4368800 6096000) \\ R4

    CHANGE ALIGN CENTER (3413760 5364480) \\ R4

     

    These X,Y values are completely wrong and according to the documentation they should be in the same units as the current grid, in this case mil.

    When trying to use these coordinates I get "Invalid Point: (...)"

     

    [EDIT]

    I realized that the coordinates are real numbers so I changed the sprintf formatting to:

    sprintf(s,"CHANGE ALIGN CENTER (%f %f) \\\\ %s\n", T.x, T.y, E.name);
    But that generated a formatting error when I run it.

     

     

    I then tried a typecast

    sprintf(s,"CHANGE ALIGN CENTER (%f %f) \\\\ %s\n", real(T.x), real(T.y), E.name);
    But that generated the same numbers as before, but with a lot of 0 decimals.


    I calculated the factor to 8128 and when I divided the coordinates with this they became correct.
    I must be doing something wrong here... How is it supposed to be handled?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • rachaelp
    rachaelp over 8 years ago in reply to MaxKielland

    Hi Max,

     

    You'll need to use the u2mil() function to convert the integer values you are seeing into the mils you are using.

     

    Best Regards,

     

    Rachael

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • MaxKielland
    MaxKielland over 8 years ago in reply to rachaelp

    Thank you but what if the grid changes from mil to mm?
    When I changed the grid units I got the same numbers (the old mil). Isn't there a way to get the coordinates right independent of the grid unit settings?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • rachaelp
    rachaelp over 8 years ago in reply to MaxKielland

    Max Kielland wrote:

     

    Thank you but what if the grid changes from mil to mm?
    When I changed the grid units I got the same numbers (the old mil). Isn't there a way to get the coordinates right independent of the grid unit settings?

    GRID mil; <do stuff...>; GRID last;

     

    Best Regards,

     

    Rachael

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • rachaelp
    rachaelp over 8 years ago in reply to MaxKielland

    Max Kielland wrote:

     

    Thank you but what if the grid changes from mil to mm?
    When I changed the grid units I got the same numbers (the old mil). Isn't there a way to get the coordinates right independent of the grid unit settings?

    GRID mil; <do stuff...>; GRID last;

     

    Best Regards,

     

    Rachael

    • 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