X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com Message-ID: <1539329167.2448.41.camel@ssalewski.de> Subject: [geda-user] Re: pcb routing (your toporouter) + pcb-rnd From: Stefan Salewski To: gedau AT igor2 DOT repo DOT hu, geda-user AT delorie DOT com Date: Fri, 12 Oct 2018 09:26:07 +0200 In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.24.6 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Reply-To: geda-user AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: geda-user AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Sun, 2018-09-30 at 17:48 +0200, gedau AT igor2 DOT repo DOT hu wrote: > Hello Stefan, > > I'm Tibor 'Igor2' Palinkas, the head developer of pcb-rnd, Hello, I heard about your pcb-rnd already, but never found time to investigate it any further. Still written in plain C and using GTK? I have not followed the geda mailing list in the last few years, so I may have missed a lot... Some years ago, the geda project appeared to be nearly dead. Interest in autorouters was never really big from geda dev/user side -- you may still remember Antony Blake's GSOC router? For my Router interest was nearly zero. As you know my router was coded in Ruby -- a language fine at that time, but not first choice today. Today we have some really nice modern languages like Go, Rust, Crystal, Nim and some more. My favorite is currently Nim, easy to use like Python, fast as C and due to static typing better suited for larger projects than scripting languages like Python or Ruby. So I indeed intend to convert my router to Nim and continue it some time. One problem with such a "Rubberband-Router" is that it may need manual intervention, so using it as a fully external router is a bit problematic unfortunately. For example it may be impossible to route a board completely, due to limited space. So moving some parts may be necessary. That is easily to do interactively, but problematic to do it fully automatic. So the ideal goal would be to have a schematics tool and a PCB tool with autorouter integrated. But that is a lot work. Coding in Nim is really fast and easy, so it may be possible, but still a lot for one single person. (If I remember correctly I spent nearly 2000 hours for the Ruby router.) While Nim is really fine, some libs are still missing unfortunately. As you may know, I did the GTK3 bindings, and also wrote the RTree module. (https://github.com/stefansalewski) But a fine "Constrained Delaunay Triangulation" is still missing, and that is needed for the router of course. I am considering writing one, but maybe I will only create bindings to CGAL lib. GTK is also problem, people do not really like it. And Cairo drawing? Not that fast. I think last PCB program version used OpenGL, but gschem was using Cairo. There are two new drawing toolkits, intels FastUIDraw and vkvg. I will have to watch for progress there. One major task is of course simulation -- have not heard much from gnucap side in last years. Does KiCad have fine simulation already? And what is about https://github.com/carrotIndustries/horizon I think that is written from scratch in C++. By one single person, must be a really smart guy.