Flipping the Y axis

The current implementation only supports X-axis: left/right and Y-axis: up/down. It doesn’t support the Z-axis at all, as I haven’t yet come across code that handles 3D coordinates. But if I do, I’ll probably “go nuts”. :nerd_face:

How about the 3d viewer? :nerd_face:x2

I’m holding by breath, waiting for being able to edit the layout in the 3D view… then it will need coordinate flip.

This! Raster-scan always had 0,0 in the upper left. Isn’t it interesting how old hardware limitations project forward in to unexpected side-effects!

3 Likes

One thing at a time, Rene! I’m still trying to find all the places coordinates are displayed in Pcbnew. I think I found all of them in dialog boxes. The “info lines” in the status window at the bottom of the screen require a different approach than dialog boxes but I’m making progress on those… DRC dialog box items are more like “info lines” but are still on the to-do list.

I want to get Pcbnew done and the patches merged into v6 before I start on anything else like the footprint editor. Eeschema could be done, though there’s less return on the investment there.

2 Likes

I kind of assumed you where less than serious which means my answer was not really meant to be taken serious as well.

1 Like

Ummm . . . . like, how the Gerber file format - originally developed in the 1960’s, with absolutely no thought to PCB layout - is still the standard way to communicate PCB fabrication info?

Dale

P.S. - Yes, I know that the current Gerber format is significantly expanded from the files that drove graphics-industry photoplotters made by Gerber Scientific. But the syntax and structure of the current format still point to the format’s origins.

2 Likes

That will be very useful when designing with twisted chip resistors and capacitors to fit onto a warped pcb.

Honestly, this coordinate business has been the biggest issue I’ve had using KiCad. It’s simply daft. Every other cad system, mechanical and electrical, in the world operates in the first quadrant (origin lower left, y axis increases upward x axis to the right). Who gives a rats which way the computer paints the screen? That’s leftover kruft from the earliest days of television. The second beef I have is every time I start pcbnew I have to reset the relative coordinates for the board I’m working on. There should be a way to set the board’s origin and that would be fixed unless moved again.

If that are your biggest issues then you either have strange priorities or did not work long with the software. Or kicad is quite good already such that these small annoyances are really the biggest problem with them. (I would guess it is more likely that it is one of the things that annoys you right now and you just wanted to complain about soothing. Especially out of place in the thread where it is already hinted at the fact that future versions of kicad will have quite powerful ways to control the coordinate system.)

1 Like

Well… I’ve been using PCB EDA systems for over 30 years, and I’m really rooting for KiCad because there are a lot of things I like about it and I want to see it succeed as a general purpose PCB cad tool. When creating real boards, and not just one off hobbyist pcb’s, it’s important to be able to accurately locate components, mounting holes and the like, and not to have to constantly mess with the calculator to translate coordinates from one system to another. That’s how ugly mistakes happen. The library system, or rather, lack of a library system is another shortcoming. Again, if you are making more than one or two boards, you live and die by your cad library. What we have now in KiCad works, but not for multiple projects. Right now I have my own private symbol libraries, and each ‘symbol’ is actually a ‘part’ because there are various fields on the symbol that further define it as a part, such as manufacturer’s part number, data sheet url, footprint, second sources, parameter values, etc. A ‘part’ should really be just a spreadsheet or database entry that has all that stuff, including references to symbols and footprints. This would make managing large numbers of ‘parts’ much less tedious.

1 Like

I also have been using CAD and computer graphics for 35 years and have come across several examples of top left origin.
V6 will allow flexibility to a user origin for those bothered by it.

2 Likes

This was one of my main frustrations when I first started working with KiCad, the top one being the location of the coordinate origin. It bothered me enough that I decided to fix it. Patches have been submitted for the v6 release, and should get merged once I finish addressing the comments from the code review. My profile links to a blog that includes a description and screen-shots. Now all you have to do is wait until v6 makes it to release.

Funny how you chose that particular expression of your frustration. Look closely at my profile pic. :grinning:

2 Likes

7 posts were split to a new topic: Part management and spreadsheet vs true databases

Absolutely correct….

The board outline should correspond to the upper right quadrant of the classical Cartesian Coordinate System.

That means the lower-left hand corner of the board is Coordinate x=0, y=0.

I have looked.
When you will finish 4004 consider building DES encryption based on relays :slight_smile:

Changing how KiCad works internally would cause serious backwards compatibility problems. Providing a user interface conversion layer is the only sane way to go forward. Personally I have used top left origin far more often, so I want to stick with it

1 Like

Not gonna happen. The P-boxes would be trivial but the S-boxes would be a challenge.

I’m not crazy enough to want to build relay-based computers. There are limits to my insanity. :crazy_face:

2 Likes

May be not only relays but relays + diodes :slight_smile:

When I was young (I think 12…14 years old) I sow relay-based computer working. It was “programmed” by a lot of cables with banana plugs and used to generate the pay list of workers. My aunt, who let mi go in to see it said that it is too slow for any other task so they use it only for this.