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
    About the element14 Community
  • 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
      •  Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      •  Vietnam
      • 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) CLI is faster than GUI myths
  • 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 17 replies
  • Subscribers 189 subscribers
  • Views 1511 views
  • Users 0 members are here
Related

CLI is faster than GUI myths

e14 Contributor
e14 Contributor over 14 years ago

Id like to start this thread to address the "CLI is faster than GUI" myths.

I challenge diehard CLI users to add their favorite command that they think

cant be done as efficient in a GUI, and I'll try to find a equally efficient

way to do it the GUI way.

 

Ill start adressing the group selection tool and the precision adjustment

myths.

 

A proper GUI would let you select the components you want to change with

either a select window drag (not having to activate the group) like a

powerpoint presentation design. It will also let you add and remove using

ctrl (or shift) selects like you do in a (win) filebrowser. Also, a filter

selection tool could help you add component based on name or other

parameters.

Then when right clicking one of the selected parts, it would pop up a

property window where all properties are presented (and props with different

values are marked as "dont change" by default), and it will give you the

option to overwrite them with a new value. All properties can be handled

like that, even fine positioning.

 

 

 

  • Sign in to reply
  • Cancel
Parents
  • e14 Contributor
    e14 Contributor over 14 years ago

    Morten Leikvoll wrote on Fri, 11 November 2011 04:59

    Id like to start this thread to address the "CLI is faster than GUI"

    myths.

    I challenge diehard CLI users to add their favorite command that they

    think

    cant be done as efficient in a GUI, and I'll try to find a equally

    efficient

    way to do it the GUI way.

     

     

    Good idea I think.  This could actually be educational to people on both

    sides.

     

    Scenario 1:  Move PCB elements (components, traces, vias, ...) by some

    exact, very small amount, say 0.001mm.  I don't think that is even

    possible with GUI since the grid won't display.  You could argue then, why

    does it matter to move such a small amount, but I like to be accurate image

     

    James.

    --

    James Morrison  ~~~  Stratford Digital

     

    Specializing in CadSoft EAGLE

    • Online Sales to North America

    • Electronic Design Services

    • EAGLE Enterprise Toolkit

    --

    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
  • e14 Contributor
    e14 Contributor over 14 years ago in reply to e14 Contributor

    >Scenario 1: Move PCB elements (components, traces, vias, ...) by some

    exact, very small amount, say 0.001mm. I don't think that is even

    possible with GUI since the grid won't display. You could argue then, why

    does it matter to move such a small amount, but I like to be accurate image

     

    That one is easy. Two alternatives would work in a common gui environment.

     

    1.Right click the element and select properties. At properties win you will

    find coords and you can change them (much like today, and I use i a lot). A

    relative checkbox could switch to relative coor mode, and would work on

    many elements.

     

    2. A relative move action in a menu entry that does it directly on the

    selected components. For most gui toolsl all the actions available in

    context menus are also found in the main menu.

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • e14 Contributor
    e14 Contributor over 14 years ago in reply to e14 Contributor

    >Scenario 1: Move PCB elements (components, traces, vias, ...) by some

    exact, very small amount, say 0.001mm. I don't think that is even

    possible with GUI since the grid won't display. You could argue then, why

    does it matter to move such a small amount, but I like to be accurate image

     

    That one is easy. Two alternatives would work in a common gui environment.

     

    1.Right click the element and select properties. At properties win you will

    find coords and you can change them (much like today, and I use i a lot). A

    relative checkbox could switch to relative coor mode, and would work on

    many elements.

     

    2. A relative move action in a menu entry that does it directly on the

    selected components. For most gui toolsl all the actions available in

    context menus are also found in the main menu.

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
  • e14 Contributor
    e14 Contributor over 14 years ago in reply to e14 Contributor

    Am 12.11.2011 00:56, schrieb Daniel Hiepler:

    I think this is exactly the wrong way, since good software shines most,

    when it can solve your very specific and uncommon problem in an

    efficient and painless way, better than competing software products.

    (It's useless if the software can do a thousand things but can't do

    what you want right now. Or need very much effort to do it)

    Usually, when I write software or our department has to solve problems,

    we take the pareto approach: what are the most common problems?

    Once these are addressed, we can move forward to the specific problems.

     

     

    Of course, it should do that for a maximum amount of different users.

    (It's useless if it can solve very specific problems for only 1% of the

    userbase)

    That's more in the spirit of the pareto approach.

     

    I made good experience with

      - providing standard GUI solutions for the common problems

      - provide examples / a cookbook how to solve the specific problems

        with CLI; even non-programmers manage to adapt these to their tasks

    But, over time, more and more tasks are moved from the CLI to the GUI.

    I admit that for many of my tasks a good GUI is much more work than

    the logic behind.

    Also, it's not possible to define a good GUI on paper and then just

    implement it. It always requires some iterations. Sometimes it takes

    me years to have a good idea for a certain task.

     

     

    Regards,

     

    Dietmar

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • e14 Contributor
    e14 Contributor over 14 years ago in reply to e14 Contributor

    >Are you answering with how to do a task with an ideal GUI or with EAGLE 5

    as it stands today? If it's the first one (ideal GUI) then it's a useless

    exercise as that GUI doesn't exist. Of course the perfect GUI would work

    perfectly. But that's not very useful.

     

    This addresses how a GUI should be in a near ideal case, and how non-Eagle

    GUI standardards would handle it.

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • e14 Contributor
    e14 Contributor over 14 years ago in reply to lix

    Vom: Fri, 11 Nov 2011 17:11:27 GMT

     

    I think only realistic, practical cases should be taken seriously.

    Commands/procedures that either are useless or very seldom performed

    should not be submitted.

     

     

    I think this is exactly the wrong way, since good software shines most,

    when it can solve your very specific and uncommon problem in an

    efficient and painless way, better than competing software products.

    (It's useless if the software can do a thousand things but can't do

    what you want right now. Or need very much effort to do it)

     

    Of course, it should do that for a maximum amount of different users.

    (It's useless if it can solve very specific problems for only 1% of the

    userbase)

     

     

    best regards

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • e14 Contributor
    e14 Contributor over 14 years ago in reply to e14 Contributor

    Morten Leikvoll wrote on Fri, 11 November 2011 11:42

    >Scenario 1: Move PCB elements (components, traces, vias, ...) by some

    exact, very small amount, say 0.001mm. I don't think that is

    even

    possible with GUI since the grid won't display. You could argue

    then, why

    does it matter to move such a small amount, but I like to be

    accurate image

     

    That one is easy. Two alternatives would work in a common gui

    environment.

     

    1.Right click the element and select properties. At properties win you

    will

    find coords and you can change them (much like today, and I use i a

    lot). A

    relative checkbox could switch to relative coor mode, and would work

    on

    many elements.

     

    2. A relative move action in a menu entry that does it directly on the

    selected components. For most gui toolsl all the actions available in

    context menus are also found in the main menu.

     

     

    Are you answering with how to do a task with an ideal GUI or with EAGLE 5

    as it stands today?  If it's the first one (ideal GUI) then it's a useless

    exercise as that GUI doesn't exist.  Of course the perfect GUI would work

    perfectly.  But that's not very useful.

     

    I'm assuming you're trying to answer with how EAGLE 5 works today.

     

    Your first alternative above only works on an individual component.  I need

    to shove everything over.

     

    Your second alternative doesn't exist in EAGLE so it's a moot point.

     

    And while it's a small amount, it maybe be enough to just squeeze some

    space to get a trace into a dense area and avoid DRC values.  So it's not

    just theoretical.  Sometimes even 0.001mm make a differnce.  You could just

    ignore the DRC error but I don't do that unless there is no other option.

     

    It still remains that you can't do this with the current EAGLE GUI.  I'm

    open to being shown differently.  And writing a ULP to do it and then

    clicking a button to run the ULP doesn't count.

     

    James.

     

    --

    James Morrison  ~~~  Stratford Digital

     

    Specializing in CadSoft EAGLE

    • Online Sales to North America

    • Electronic Design Services

    • EAGLE Enterprise Toolkit

    --

    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
  • e14 Contributor
    e14 Contributor over 14 years ago in reply to e14 Contributor

    Am 11.11.2011 20:27, schrieb Dietmar Schwertberger:

    Am 11.11.2011 17:42, schrieb Morten Leikvoll:

    >>> Scenario 1: Move PCB elements (components, traces, vias, ...) by some

    >>> exact, very small amount, say 0.001mm. I don't think that is even

    >>> possible with GUI since the grid won't display. You could argue then,

    >>> why

    >>> does it matter to move such a small amount, but I like to be accurate image

    >>

    >> That one is easy. Two alternatives would work in a common gui

    >> environment.

    >>

    >> 1.Right click the element and select properties. At properties win you

    >> will

    >> find coords and you can change them (much like today, and I use i a

    >> lot). A

    >> relative checkbox could switch to relative coor mode, and would work on

    >> many elements.

    >>

    >> 2. A relative move action in a menu entry that does it directly on the

    >> selected components. For most gui toolsl all the actions available in

    >> context menus are also found in the main menu.

    A third alterntive may be to use the arrow keys.

    Maybe there's even one more way:

    There's enough space for a context sensitive toolbar.

    When you move something, this toolbar could display four boxes

    for absolute and relative coordinates and at the same time allow the

    user to enter new values.

    When you click to select the next component, the toolbar remains, such

    that you can directly enter the position. At the same time, you can

    press Ctrl+Y (re-do) to apply the same relative movement to this

    component.

     

     

     

    Regards,

     

    Dietmar

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • e14 Contributor
    e14 Contributor over 14 years ago in reply to e14 Contributor

    Am 11.11.2011 17:42, schrieb Morten Leikvoll:

    >> Scenario 1: Move PCB elements (components, traces, vias, ...) by some

    >> exact, very small amount, say 0.001mm. I don't think that is even

    >> possible with GUI since the grid won't display. You could argue then, why

    >> does it matter to move such a small amount, but I like to be accurate image

     

    That one is easy. Two alternatives would work in a common gui environment.

     

    1.Right click the element and select properties. At properties win you will

    find coords and you can change them (much like today, and I use i a lot). A

    relative checkbox could switch to relative coor mode, and would work on

    many elements.

     

    2. A relative move action in a menu entry that does it directly on the

    selected components. For most gui toolsl all the actions available in

    context menus are also found in the main menu.

    A third alterntive may be to use the arrow keys.

    I used to have a drawing program where you could move and place by pixel

    using the arrows.

    In Eagle, this could e.g. move by a grid size. Pressing Alt+Arrow would

    move by the alternative grid size.

    Pressing Shift-Arrow would move by a multiple of the grid.

    Pressing Ctrl+Arrow would snap to grid (just as now with MOVE and Ctrl).

    Pressing CtrlAltArrow would snap to the alternative grid.

     

    To assist the user, the properties dialog box may display some info

    about how to move using the arrow keys.

     

     

    BTW. with the current MOVE command already the following improvements

    could be made for more precise and comfortable placement and movement:

      - display not only the cursor position, but also the position in

        alternative grid (I often have one mil and one  mm grid)

      - display offset to starting position of component

    In general, I would appreciate if most dialogs would be 'multilingual',

    i.e. display mil, inch and mm at the same time (maybe as tooltip).

    A first step is there already: you can always enter a value+unit in

    dialog boxes and CLI.

     

     

    Regards,

     

    Dietmar

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • e14 Contributor
    e14 Contributor over 14 years ago in reply to lix

    Lix Paulian <communitymanager@premierfarnell.com> wrote:

    I think only realistic, practical cases should be taken seriously.

    Commands/procedures that either are useless or very seldom performed

    should not be submitted.

     

    Lix

     

    I'm happy to answer any strange challenge. Even suggest better ways to

    accomplish the same result. But the most timesavers are most interesting.

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • lix
    lix over 14 years ago in reply to e14 Contributor

    I think only realistic, practical cases should be taken seriously. Commands/procedures that either are useless or very seldom performed should not be submitted.

     

    Lix

    • 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 © 2026 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.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube