Edge.cuts lines edit difficulties

I think I have just seen the same problem!

Normally I can zoom in, and with the tip of mouse pointer over the line, press E. But if a line is very fine, it displays as maybe a one pixel wide line, but whatever I do I can’t select it. That also means it can only be delete with block delete.

It looks like lines that are not on the current grid can become unselectable - if the line is on the grid even fine lines can be selected.

I think the only way to recover it is to edit the kicad_pcb file in a text editor. As a workaround, don’t create very fine lines, i.e. < 0.01 mm.

Dear bobc,
thank you for your reply. Unfortunately the situation in my case is worse. The lines have 0.15mm width and they are on the grid :-o. But despite of these two facts, the Edge.cuts lines are very hardly editable and the edit dialog box appears after many presses of “E” key and replacements of cursor along the line simultaneously, but in various positions. It is strange, because no other difficulties are present (except base characteristics, as Y axis reversed, i.e. increasing toward down and zero point out of the frame … but this is “normal” :-).
Kind regards, jopl.

Try zooming in.
You can also left click on the line and press e after that.
After the left-click, the line should change color slightly and at the ends there should appear drag handles. (filled circles/rectangles should appear)

There are several reasons why the inverted ‘Y’ axis makes sense. Most references are from the top left corner of a page, which you read from left to right, top to bottom. The ‘A1’ reference in the border is at the top left of the page.

The origin or 0,0 position is not “out of the frame” it is the top left corner of the page. The border, by default, is 10mm from the edge of the page. If you check your layout file you’ll see the margin settings are 10mm.

Historical reasons set the origin on the top-left corner of every graphic tool.

Calculations were done from the display origin. Nowadays computer and graphic cards are faster, but in those days, changing the sign of the Y axis for evey action was time, instruction and memory consuming.

Do you do this in Legacy or OpenGL canvas?
What OS you’re on?

I’m running a nightly on Win7 (2017-01-20 revision 550a1ea) and have lines on the Edge.Cuts layer from a DXF import that are 0.1mm wide and are definitely NOT sitting on the grid.
In neither canvas do I have problems selecting those elements.

They’re not locked and also not part of a footprint - as I’ve come across just yesterday when I checked out that project for @graemef here (something I would suggest not to do as those lines were really not select-able):

So yeah, I can’t confirm this.
If I can’t select a line (usually small arcs, when not zoomed in are hard to ‘hit’) I just have to zoom in a little closer and it works. No fuzzing around needed for me.

A note on that one:

If you use the relative coordinate readout at the right bottom corner of the window and have the correct grid (as fine as you want really) and use the [Space] key between line points it becomes very easy to place this stuff accurately.
You can even use the arrow keys for advancing the coordinates by grid-step (the finer the grid, the longer it takes this way though) instead of the mouse (or work with the mouse as well, for rough positioning) - and when you want to fix the line point at a position hit [Enter]. If you hit [Space] at the same time, you get relative coordinates from this point to the next one… really easy.
Once you’re done hit [ESC].

Dear friends,
Thank you very much for your advices.
@Rene_Poschl YES, zooming in is definitively the only solution, thank you gratefully. Left click is not working as it is the same situation like it is with the edit dialog, i.e. it works sometimes only.
@1.21Gigawatts & @pedro I know about origin at the top left corner of paper, but it is neither helpful nor convenient … namely in situations, where you should place components or other stuff numerically in some very accurate given place relative to one PCB point or to edge of the PCB, you have manually to calculate new position, you know (in Footprint Properties window relative readouts are not working) … and OK, the reversed y axis is only about time, I will accept it. But historically I have already changed SW originally from AutoTRAX (very old, free DOS program) through Eagle to KiCad and both of previous pcb design programms use y axis “normaly” oriented
@Joan_Sparky I am using Win10 64bit, I have not changed the canvas, so I am using default setting - legal I guess. My problem is not about importing a DWG file, I drew lines in KiCad directly and I can see the lines numerically accurately on grid. But again, thank you for your help, I appreciate it.
Best regards, jopl.

Hi JP,

It was about time. Today computers are faster and the wasted time is what, nanoseconds?

It took me a few weeks to get used to using the 4th quadrant. After some years I find it “natural”.

This calculation doesn’t depend of the sign of the Y axis. Believe me, in a few weeks you’ll find natural increasing the Y axis downwards…

About canvas, there are at the moment 2 different canvas into pcbnew: legacy (F9) and OpenGL (F11). There are some features that have not been ported to OpenGL yet. And some new features are only available in OpenGL (as differential pair routing). Switch between them as you need.

Regards.

The thing with the reverted axis is:

  • people who find it irritating are new to KiCAD and don’t have the skills to change it
  • anyone who could solve it (make useful changes to the source) got used to it and isn’t hindered by it any more

:smile:

Worse, it would make KiCad different to almost every other CAD package out there.
I think the real reason is that CRTs scan top to bottom, left to right and in the old days screen draw (especially games) had to be synchronised to avoid line tearing artifacts

edit fixed scan direction L to R

Yes, but why do CRTs scan top to bottom… :slight_smile:

You forgot the most important ones:

  • technically there is absolutely no advantage and would waste many hours
  • translation from older file formats to the new (non)inverted Y will require even more hours of wasteful coding

KiCad also happens to flip a component to the bottom layer by rotating on the Y axis rather than the X axis. We poor developers just handle all this stuff when we export data to other formats; it’s far less work than reworking kicad for absolutely no technical gain.

1 Like

I think the flip to the back via Y and not X is because of readability (mirrored text is easy, upside down is hard).
We had this some weeks ago and you can test it yourself with a piece of paper.

As for coding this - depends on where you draw the line - IMHO from here on…
If it is just about the GUI you could do with a ‘hack’ where every coordinate seen/manipulated by a user (and there are not that many places to begin with) is treated to ‘work in normal’ orientation.
I mean, this should do the trick, no?

y_new = vertical sheet height - y_old

Way more interesting would be a means to put in relative coordinates for properties dialog boxes.
Again, could be done via a hack, that just does the conversion right there for the user in the GUI.
Anything on the inside stays as is, so no changes to the files or the mechanics.

But I’m not a dev nor do I have the time to do this, so I won’t complain.
I can live with as-is.
:relaxed:

1 Like

Anything relative to a point other than the origin has nothing at all to do with the origin, you would still need to calculate the new position regardless of where the origin was.

It might have been “normal” in math class when you were plotting data onto a Cartesian plane where you were taught that positive ‘Y’ always points up. But otherwise there is nothing “normal” about it.

left to right, top to bottom.

They don’t :upside_down: while the typical use of CRTs scans them left to right, top to bottom, CRTs themselves can scan in any combination of directions. They don’t need to scan at all which makes them useful for displaying vector graphics (remember the arcade game Asteroids?) as well as rasterized images.The fact that television broadcasting standards scan from left to right, top to bottom is probably due to the country in which the technology was invented, where documents are read from left to right, top to bottom. It was just “normal”. :wink:

No, you would just have messed up colors.

1 Like

I agree, this definitely would be a useful feature, entering offsets that were relative to the current “local” origin.

Correct and the reason probably predates television and lies back in text scanning, fax etc
The same start top left model is used in DCT encoding eg JPEG, so in computer video y increasing downwards is the convention

Hi KiCad enthusiasts,
I have noticed one interesting thing yet - see the icons of setting origin - both of them (for drilling and files and for grid origin) show first quadrant … ha ha, the icons designer is evidently used to use first quadrant for PCB designing :-).
Regards, jopl.

Old story I know, and it only took a couple of days to get used to it, but in my 30+ years of engineering it is the only CAD/CAM program I have experienced that has the Y axis this way. So basically it is a pain for a day or two “if” you are used to using other CAD systems, or statistical graphing programmes, … or you studied geometry at school… or economics…:slight_smile: . I like to think of Kicad as quirky, and this is one of those quirks.

The Qt origin is top left and SVG also uses a top left origin.
Autodesk defaults bottom left, but allows top left

Had to google Qt and SVG, not familiar with either, didn’t find Qt but it
did tell me that SVG is for vector graphics using xml. So the problem there
is I am way to old to bother with xml, always considered it to be a
reinvention of the wheel.
My experience has always been with engineering, either mechanical or
electrical/electronic. So limited exposure outside that world. Hey when I
did my first post school training in electrics we still used set squares
and pencils to do our drawings (0,0) bottom left :).
I am so old I used a slide rule and log tables to do maths at high school!!
I am not so bothered with the ±Y thing but I do miss the ability to move
the origin.