Setting origin of coordinates

You answered yourself:

Looks like EEschema and PCBnew use the same layout… if you create a new project you can chose by clicking on the “Create Project from Template” Button (blue book with white paper over it)… if you don’t the default is being taken.

Check the .pro file in the project folder… there is a line in there for EEschema like this:

PageLayoutDescrFile=

Mines empty, cause I don’t care either way…
Can’t see a similar line for PCBnew in that file, thus I assume you change one, you change both.

Conclusio - just making the origin moveable by the user wont change the underlying “problem” that KiCAD PCBnew & EEschema are designed on top of a sheet of paper… and I guess this stuff is pretty hard wired into the whole code, so no easy task to modify.
But you’d need to ask someone more knowledgeable than me about that…

1 Like

Sorry, Joan, all you said is not working for me.

The default layout file of

was my first guess, but that didn’t work: I edited this file with PI editor (also tried editing directly with text editor lately), then I created a new project, and it didn’t get the altered outlook neither in schema nor in pcb_new.

There is no PageLayoutDescrFile= item is my .pro file.
If I add “PageLayoutDescrFile=” lines (tried all sections), still got the original layout.

If anyone knows how it is working, please let us know. (You are right, I could find the answers in source, but it is not that easy for someone not knowing anything of the structure.)

1 Like

Sorry… as I said, I don’t need more than the pre-set stuff atm.

I just modified the standard page layout and did as I told you myself and you’re right… the project template is something else… it must relate to .pro templates, not to .kicad_wks templates.

But… I then went on to change my page template anyway:
Open EEschema or PcbNew, go to menu File>Page Settings… in the new dialog navigate to last row at bottom/right, hit [Browse] button and select the page layout file you want.
Voila :smile:
Once you select a new layout the .pro file will be saved and populate the field I mentioned for either eeschma or pcbnew section in that .pro file.

Now, when you did go through the setup of a page layout with the origin at the centre of the frame I’d like to have a look at it - really curious. As I need to print my stuff I probably can’t use it though…

I could set it by giving weird margin values. (A/4 page x;y size=297;210mm, so I added 149.5;105 mm to margins.)
My goal is only not seeing the --fuc!$#! disturbing-- double drawing frame and navigating letters/numbers:

I drew lightgreen arrows to annoying red frame lines and numbers on my even tangled board.

Now I have a decent frame at 0;0…which is the border of my (usually simple rectangular) board:

I had a similar issue today with a complex PCB outline. I really needed 0,0 of the PCB design to be in a fixed point inside the board, at least temporarily while placing part. I followed these instructions to make a blank template, and couldn’t get it to work. Even though I thought the template was blank, it would always show the default title block. Finally, I discovered something - I loaded the default template, and started deleting items one at a time. When I got down to one last item, and deleted it, suddenly the template was repopulated again with the full title block! So I did one level of undo, left one remaining item in the “blank” default (it was a short line in the bottom right corner of the page outside my area of interest). Using this new “blank” template, the upper left corner of my PCB layout is now empty, and I proceeded with parts placement. Once I get all the tough stuff placed, and no longer need the convenience of this grid, I’ll move everything back to the “center” of a page and re-enable the title block template accordingly.

I’m running version 4.0.2-stable, release build
wxWidgets 3.0.2 Unicode and Boost 1.57.0
Mac OS X (Darwin 15.4.0 x86_64) 64 bit
(I’m new to Mac OS, why can’t you copy and paste the “Help About” text, I wonder)

1 Like

Vision:
Several tens of code-lines, add/subtract level math, users are happy and dev’s are free from that nag.


System calculations and placements are still done in abs coordinates, those are just optional visual feedback options for designer.

5 Likes

@Sapri_Marathra
I like this idea to be able to change the coordinate system in various ways as it is convenient for the user.
Sometimes it is necessary to place several mechanical or electronic compontents at certain absolut (not relative) positions. Here, the origin is in the top left corner. Very common in other CAD or drawing programs is to have the origin in the bottom left.
It’s “just” a simple addition/subtraction, however it is REALLY ANNOYING to do such coordinate transformation manually and to have to recalculate every coordinate for each component.

1 Like

I don’t understand all the complaining about how “annoying” the grid origin is. I never even pay any attention to it.

A PCB layout is very much a drawing, and as such should at least have a title block. If the border bothers you then you should probably be using a larger page size anyway. I would agree that the default title block is a little larger than it needs to be but I just create my own page layout file with a smaller title block.

1 Like

[quote=“1.21Gigawatts, post:20, topic:520”]
. . . . A PCB layout is very much a drawing, and as such should at least have a title block. If the border bothers you then you should probably be using a larger page size anyway . . . . [/quote]
Yes. The INFORMATION contained in the title block certainly needs to be retained, as well as its association with a particular PCB layout. If your organization is run for the benefit of machines then that information doesn’t need to be presented in a title block, but if its run for the benefit of people, then a title block is as good a place as any to keep it.

Dale

It’s useful to manage/be aware of zero point, when you also do nightly builds of PCB’s (home CNC milling) - where and how to adjust PCB layout on available copper laminate

Imperative even, but what does that have to do with this topic?

KiCAD is an EDA tool, that is a design tool. When designing your board it’s absolute position is largely irrelevant. Depending on the method of manufacture various post-processing may need to take place. Whether it be manipulating Gerber files, drill files, or generating a tool path for your CNC mill, this is performed by other, better suited, software. In the case of generating a CNC tool path it is a trivial process to add a work offset, mirror an axis, or swap axis. Not all CNC equipment is the same, for that reason most CNC equipment have built-in commands to do just that. So why would anyone expect the coordinate system of their EDA tool to match their CNC mill?

I’m not familiar with the machines (mills, photoplotters, laser etchers, CNC drills, etc) that may take over from where KiCAD (or any other EDA tool) leaves off, but I can’t imagine a situation where having the coordinate systems aligned is a disadvantage.

In the same way, the board designer is also a recipient of the KiCAD data and it would be helpful if the data is presented in a form that he can easily process - such as defining a co-ordinate system that doesn’t require additional interpretation or processing for the designer to make sense of it.

Dale

Could you elaborate a bit on what you mean by this?

Perhaps my POV is simply skewed by the fact that I am used to working with different coordinate systems and translating from one to another is just a fact of life. Whether it’s KiCAD, 2D CAD, 3D modelling, 5 axis cnc machining centers, industrial robots or laser guided vehicles. So KiCAD’s coordinate system is just another coordinate system to me and perhaps I don’t notice it as much as others might.

Probably that.
Imagine your average hobbyist: standard expectation = left/bottom to top/right with the origin at left/bottom.

I, like you, have no real problem with different coordinate systems, but from time to time the inverted y-axis and using the relative readout as the only means for a user-defined-origin while not being able to leverage that in the dialog boxes for coordinate input is no easy pill to swallow.
On the other hand, those things didn’t upset me that much so that I was inclined to actually look at the source and try to solve these problems. :pensive:

I’m curious about the origin of this expectation. (Pun intended) :wink:

That’s not entirely true, when making your relative measurement from your user-defined origin (using the space bar) the absolute coordinates are displayed right next to the relative coordinates. Those are the numbers you use as input to the dialog boxes. Relative movements of an item are also made easier by the “Move exactly” feature in the OpenGL canvas.

The reason for the expectation is that people draw an x-y graph with the origin bottom left

The reason for what KiCad and a lot of other software does is television. This scans left to right and top to bottom.
Originally the computer industry used tv displays and crt monitors based on tv technology, so the top left origin has stuck

I’ll speculate that’s a cultural thing that was well-entrenched before I, my wife, and all of our kids formally encountered it in elementary school. (And then it was vigorously beaten into us in the High School math courses.) As I recall, this is sometimes called a “right-hand coordinate system”.

But . . . when people from Western cultures WRITE on a page, we start at the TOP left, and proceed to the right and DOWN. This is, of course, contrary to how we construct graphs.

Other cultures compose their written pages differently. This seems “unnatural”, or even “wrong”, to some westerners but it seems to be quite effective within their own cultures. The problems arise when an individual must frequently change from one way of thinking to the other.

Dale

1 Like

My original issue (I’m the original reporter…FYI new guys:))) is when I get the drawing attached from mechanical designer, I have to place components to exact given places.The conversion of coordinates needs some base maths. It would be easier if I could directly enter the numbers from the drawing into Footprint properties fields. Not a big deal only some comfort.

1 Like

Well this is a generalization that is true only when the data being graphed permits. That is when the range of data being graphed lies completely within the first quadrant of the Cartesian plane we tend to ignore the other quadrants. But when any of the data lies outside the first quadrant you need at least two quadrants and the origin can no longer be bottom-left. But if you’re suggesting this generalization is the basis for expecting the origin to be bottom-left then, okay, I understand where you are coming from, even if I don’t entirely agree. :slight_smile:

Actually, raster scanned images predate computers and even television. The first facsimile machine that transmitted raster scanned images predates ENIAC by 100 years and television by about 60 years. I don’t know why television and/or computers always get the credit/blame for raster scanning. The top-left origin was well established long before the first computer program was written.

Perhaps I’m just showing my age by being just as comfortable with either coordinate system. :wink:

I’m all for more flexibility for users: if anyone needs to move coordinate origin (I do) they should be able to do so. Many commercial ECAD tools allow that. But as KiCad is an open source project users can only hope someone with appropriate skills would care enough to implement that feature.