Using python for a CAD program

Frithiof Andreas Jensen frithiof.jensen at die_spammer_die.ericsson.com
Wed May 17 04:33:36 EDT 2006


<63q2o4i02 at sneakemail.com> wrote in message
news:1147807050.375537.297430 at j73g2000cwa.googlegroups.com...
> Cool. thanks for the links.  I've already looked around quite a bit,
> and am very hesitant to just write more shit on top of other shit.

All software suck. If you think that yours will not then:

a) you are a narcissist
b) you are the only user
c) all of the above

> The
> idea behind this is it's completely mine.  So yes, I have a tendency
to
> want to reinvent a few wheels, but I think it'll give me greater
> satisfaction.

*I* think you bite off way too much and will waste two years and never
get anything usable done.

> The problem with geda, etc., is that it's taking the
> unix approach -- a buncha little command line tools that somehow
make a
> "system", using text files as communication medium.

That is because this approach actually works, it is proven in serious
work, it can be tested without writing a test application of about the
same complexity as the real job and it deals neatly with the users
needs for automation without forcing the application to contain thick,
bloated object management code for the users extensions.

> I hate that,
> largely because it allows the infectious spread of little files all
> over your system, encourages people to write scripts from outside
the
> system that probably won't work for you, and exposes the user
> unnecessarily to the implementation of where you keep files,
> directories, blabla.

Wrong on many levels:

The idiot users will get into trouble no matter what you do; while the
user that is smart enough to write an extension will need to deal with
the implementation anyway.

You, the developer, has to decide on wheather it is smarter to write
your very own object manager, API's and the user/developer
documentation thereoff or leave it to the operating system by simply
using what is already there.

> I'm more of the windows approach, where you have
> one integrated environment, and any text you type is from within the
> application itself, and most application-related data is hidden from
> the user unless he *really* wants to get at it.

I.M.O. The reason for the "integrated" windows approach is simply
because that OS lacked/lacks efficient tasks, interproces
communication and it does not support scripting.

So each developer will end up rolling his own monolith and because all
the code monkeys see this, it becomes "the way".

>  (disclosure: I've
> never actually installed geda, but I tried icarus once and couldn't
get
> it to compile -- another bane of open source stuff I can't stand.

The odds are great that the problem is to be found in front of the
screen rather than the code.

> I'm
> not a CS person, so when I download something, I just want it to
work,
> and I don't get off trying to *make* it work...).  Another reason
for
> doing this on my own is that I'd like a general-purpose CAD/design
> framework, of which electrical/IC design is only one part.  Also, I
> think geda simulations are spice-based, which is batch,

And this matters ... in what way exactly??

>  which is sooo
> your-father's buick, which I hate as much as text files... aaand
> another thing is I'm very big on user-experience.

"Experience" over "Functionality". I see - well, it worked for Bill.

The "knowledge workers" forced to use the pretty etch-a-schetch tools
are less than happy and will seek to minimise the pain by avoiding
most of the alledged functionality. Last time I felt "the pain of the
little used feature" was setting headers and footers in Excel - No,
it does NOT work the same as in Word ("work" is perhaps a strong
word).

> I'd like my program
> to *look* slick, like it belongs in a movie or something.  I think
that
> means starting from scratch, since I've not seen any CAD program
take
> any artistic/human/psychological approach to its design.

That *is* true - the problem with CAD programs are that they need the
*exact* details to be entered at design time so one cannot easily
schetch in them and fix the design errors later.

But it does not follow that there is a need for rewriting the
rendering engine or the design rules checker - you could actually
achieve something by writing a tool that allow an existing CAD system
to support the way designers actually work so that they use the tool
up front instead of as it is now where CAD is the digitiser for a
paper-based design.





More information about the Python-list mailing list