X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=quaEOXQxdjPuuSwwhyirmoUxJnSEdbTWVGeGoPn66BI=; b=HaK7pZN+lkr+iNB46EUrKfj29y6vVGQTM7ymHf+Cy/mGbEURaYkHZyizKjc5SYIspo foqL/1eT+5semc0uyPUyaWCnFceudh7CEj3EMNcE7d0gxyhCBU5/nk32M3oP3wdkdev8 ddd/sJrKcZ3zIo8hP9st22GdZzRbUEL82Q0gmfYZzefxmp/QKfFCbVnlWZlOg4kc1ups q2WtHF44vY/er1bc5zuXex2nqdNjNMYd/KpodZbjxkr8iAIT4E/KBetu3LFECv5AjRei Y915/gk0cFfnq2w8r4BXR1tF9U0/dH0DZtqz/dBGXE9G4rrFGeJFY4MxT8Ha3ajZLvvm obBw== MIME-Version: 1.0 X-Received: by 10.152.6.1 with SMTP id w1mr25480632law.91.1436656957565; Sat, 11 Jul 2015 16:22:37 -0700 (PDT) In-Reply-To: <201507092157.t69LvmES002837@envy.delorie.com> References: <1436477539 DOT 1747 DOT 21 DOT camel AT ssalewski DOT de> <201507092157 DOT t69LvmES002837 AT envy DOT delorie DOT com> Date: Sat, 11 Jul 2015 23:22:37 +0000 Message-ID: Subject: Re: [geda-user] What is the hardest part in a PCB layout program? From: "Evan Foss (evanfoss AT gmail DOT com) [via geda-user AT delorie DOT com]" To: geda-user AT delorie DOT com Content-Type: text/plain; charset=UTF-8 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 Thu, Jul 9, 2015 at 9:57 PM, DJ Delorie wrote: > >> The hardest part for me to understand when I look at the code is >> where the geometry is processed vs where it is rendered. > > This one is easy. Rendering is always done in the HID, like > src/hid/gtk or src/hid/ps. Everything in the core deals with the raw > data or its geometry directly. > >> OT: Is DRC checking done via the rendering engine or is there a >> separate geometry engine that does this and verifies when traces and >> etc are connected? > > There's a geometry engine in DRC although how it works is totally > counter-intuitive: > > * Generate a netlist based on connectivity. (also used by the rats > list stuff, find, select-nets, etc) > > * Now, increase the size of everything by N and generate a new netlist. > > * Are the netlists different? Bug! DJ Is there an architectural document that outlines the broad picture of how PCB works? (thinking i should try to write one if only for my own use) -- Home http://evanfoss.googlepages.com/ Work http://forge.abcd.harvard.edu/gf/project/epl_engineering/wiki/