← Back to team overview

kicad-developers team mailing list archive

Re: My thoughts on what would make Kicad the ideal program.


> It is very important to reduce the amount of clicks a person needs to do.One way to do that is to make assumptions. FreePCB has an advantage in that area, 'cause it doesn't ask you to clearify clicks. FreePCB allows you todisable or mask things, which allows you to clearify your clicks, without the loss of time of a annoying popup menu. The program needs to be smart enough to know what is the most likely thing you are asking for.

This already exists. When working with any lable for example you double click that lable to get the edit window for that field rather than going into the edit menu from the popup window.

> Click and drag, needs to be the most common function. It is rare to want to select a whole block of stuff to move. That needs to be done with a menucommand. The click and drag command needs to be reserved for moving trace segments, specifically "drag segment keep slope".

I completely disagree I move man parts at one time all the time. The block mode is the easiest and quickest way to duplicate parts, and move blocks ofrelated items at one time. I would really like to see a shift select mode where you could select multiple items with out block select, however, removing block selection would be a big mistake.

> Kicad has an autorouter, and I don't know a lot about it, but many autorouters are useless, and others are only mildly helpful. With a little help, an autorouter could be extremely useful, that is, if it is changed to assist manual routing.
> I would like to see an autorouter that routes a single trace, and responds to mouse clicks to change that trace path. Each time you click, it'll tryto route close to where you clicked, changing the path accordingly. You'd then define a path with just a few clicks. Three or four clicks along the path you'd like, and it should route it right where you want it, finding theshortest path that hits those click marks.

This is a good idea. I think that a good example of this type of algorithm can be found on google maps. Selecting a path for a trip direction and moving it will snap the path to another possible path, but still leave it connected to the point of departure and arrival. Perhaps the fundamental problemof auto routing is the system never has a base point to work from. For instance if the user were to block select a set of pins and draw a rough path for said pins, to give the auto router a starting point, then attempt to work around that initial route, it might work better. Or even the ability to set routes to snap together, say you are using a 16pin connection to an LCDrather than have the route separate the 16 traces telling the auto router to keep the traces together, could really be something great. I think the main problem with auto routing is routing is a personal preference, everyoneprefers a way of routing that an auto router can not accommodate. There isno wrong way to route but at the same time there is something called bad design, that must be avoided.

However I find it easier to route my boards manually in FreePCB, or any other EDA for that matter. Aside from using programming techniques from artificial intelligence, auto routers will never be the same as manually routing.If such a system were to be designed, training could be achieved using data from manual routing. As the system learns your method of routing the outcome would actually me more inline with what your preference is, at least intheory.

There are a lot of good auto routing ideas in Tony's post.

> The working layer should be on top of all other layers on the display, soyou can see what you are doing.

I agree, even if this means flipping the board so you can see the undersidecorrectly. 


Follow ups