Is it possible to move component by its ref des? [SOLVED]

When you’re placing components before routing, I like to be looking at my schematic and be in a mode where I can type in the ref des and the system automatically picks up the component with that ref des so you can move and place it.

In other words, I want this kind of behaviour:

  1. Enter mode Move | Component | By Ref Des.
  2. Type in the ref des of the part to move
    CAD system picks up the part, you place it on the PCB where you want it.
  3. [Automatically] Goto 2 unless you hit escape or right click.

My suspicion is that this is one of the (surprisingly regular) areas where DOS/Unix based CAD packages still, after all this time, are streets ahead of modern CAD packages and it’s not possible because you tend not to be able to go into a particular mode and just do that same thing over and over again.

It’s a similar thing to not being able to just move a component; if you click on, say, where a component and wire meet, you then select whether you want to move the component or the wire. Or click on a component and it asks you if you want to move the bloomin’ ref des! It’s always better to be able to select move component or move wire and the CAD package then knows exactly what it should be moving. Drives me nuts that you can’t do this on modern CAD packages. Too much clicking!

Thanks :slight_smile:

You want to “pick up” a component from the schematic and place it’s footprint on the PCB?

Now that would be tedious!

DOS and Unix are two different animals, one happens to be obsolete. Are you suggesting that “modern” CAD packages can’t be Unix based?

The short answer to your question would be … no.

No and no!

I want to pick up the component in the PCB editor that has been placed there by the whole process of creating a schematic, making a net list and assigning symbols to parts so you have ended up with a mass of randomly positioned parts. However, let’s say I’m looking at the schematic and I think, right, I want C15 to go here. I go to the mode where I am in move component by ref des and type that ref des into the selection box. At the moment the only way I can see to do the same sort of thing is click on the ref des in the schematic, so it highlights it in the PCB, then find that, click on it and move it to where it wants to go. If you’re at the start of the layout and the parts are scattered this is a grade on PITA because you’re constantly having to zoom in and out, move around the board, see where it has (not obviously) highlighted the part and it’s click, click, click, click click.

If you could just enter in a box the ref des, the PCB editor would pick up that part without moving from where you are zoomed into, it makes like a lot easier.

“DOS and Unix are two different animals, one happens to be obsolete. Are
you suggesting that “modern” CAD packages can’t be Unix based?”

No, that’s clearly not the point I was making. Show me a modern Unix CAD system and I’ll be very surprised. And I mean Unix, not Linux or OS X. I’m talking about the DOS/Unix systems from many years ago. Just because something is more modern doesn’t mean everything about it is better! :yum:

  1. and 2) are possible but not 3)

The “T” key in pcbnew finds a footprint by refdes, and sticks it to the pointer. Press “Escape” to cancel.

1 Like

@bobc, brilliant, thanks! Having to press the I each time is a shame, but a minor inconvenience. Many thanks. :slight_smile:

Additional information to @bobc:
press the “?” Key to get a list of handy shortcuts.

And another tip:
If you want a new feature added don’t start by blaming operating systems for that feature not beeing there. (Most features are “missing” because of design considerations and tradoffs. Mostly lack of recources!)
Just give information of what usecase you are describing and ask politely if it already exists. (You might have overlooked a feature that does something similar or exactly the same as you want.)

1 Like

Fun fact : KiCad actually started as a DOS program :slight_smile:

1 Like

First of all,please don’t think I am having a go at kicad. I am not. :slight_smile:

Now, I wasn’t blaming the operating system at all! I was merely pointing out that the philosophy of CAD systems on DOS/Unix is different to Linux/OS X/Windows. This is not a kicad thing, this is something that has [not] been there from the time CAD systems started moving from DOS to Windows.

It’s nothing to do with resources, these kind of working methods are not available in things like Altium and that has more than enough resources. It is, purely, a working philosophy that has inexplicably disappeared form CAD systems much to the detriment of how long certain practices can take.

Of course, the flip side is that there are certain things that are done with much greater ease in a more modern CAD system. I have never understood why you can’t have both ways of working on one system.

Also, I did ask politely! I even said thank you at the end of my post and used a smiley to show this was a well-natured query. If I came across as being ungrateful or impolite then I apologise. I won’t apologise fgor discussing differences in working practices though! :slight_smile:

Sorry, but even after you edited the question it still reads to me like you want to pick it from the schematic and place it on the PCB.

I still can’t make much sense of what you are trying to say here. In one sentence it sounds like you are saying Linux/Windows CAD is better then in the next it’s DOS/Unix CAD is better.

Unix has always been the go to platform for high end CAD, mostly due to the performance of the hardware it was running on. These days high end desktop PCs running Linux/Windows now have the processing power to run some of these same CAD packages and many companies have ported their software over. But the working philosophies remain the same, it’s the same software.

So if you want to compare KiCad and it’s capabilities perhaps choose a CAD package and not an OS.

At no point have I said one OS is better than another. I am talking about CAD systems and how they differ on older OSes such as Unix/DOS and more modern OSes such as Linux,OS X and Windows (and yes,I know Linux and OS X are, essentially, Unix, but they are modern spins on it).

You are absolutely wrong about the philosophies being the same on both though. With DOS systems (and I’m talking about CAD systems on DOS, not the OS), you would choose what you wanted to do as an action. For example, move component, enter ref des, delete segment, moce component by ref des etc etc, then you would select which track, component etc you wished to carry out that action on. Once you’d chosen that mode it would repeat over and over under you left that mode.

These days, you click on the board or schematic and then choose what action you wish to carry out. Every time you click on the next thing, you have to choose which action. If you click on an area where there is more than one thing, you then have to say which one of the things under the click you wish to deal with and what you want to do with it.

When you are moving lots and lots of things that is especially slow and frustrating. To be able to say I want to move components only, not tracks, not ref des, not anything else, is so much better, especially when the CAD system does it over and over until you exit that particular mode. There is absolutely no reason, from a programming point of view why that should not be possible.

Now, the issue is, this works differently on older DOS/Unix CAD systems to modern OSes’ CAD systems. That is the point I am making. Not that one OS is better than the other, not that kicad is worse than Altium or Eagle or any other modern CAD system.

To paraphrase Blur: Modern CAD systems are well, not rubbish, but do some things less well than older ones. :grin:

I repeat, I am talking about how CAD systems work on newer and older OSes, I am not saying this is a shortcoming on any particular OS. If I am wrong and there is a modern CAD system that works how I described I would love to hear about it.

Thanks, Andy. I had tried that, but it’s very clicky. (Although very useful in some circumstances.) In the end, bobc’s solution is almost perfect really.