[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

gEDA-user: Topics discussed at yesterday's Free Dog meeting (10.6.2005)



Tonight's meeting started early because I needed to pick up some
people at the airport later in the evening.  Three people came:  Ales,
John, and myself (Stuart).  I am always suprised and gratified by the
amount of interest these Free Dog meeting notes generate on the gEDA
lists!  Hopefully, tonight's meeting will be as interesting to read
about as it was to attend in person.
 
Herewith, some of the topics we discussed, in no particular order.
 
 
*  The gschem patches which draw "L" nets.  Ales had downloaded the
patches, and built them on his machine.  He demonstrated the new net
drawing style, and we all liked it.  Personally, I think this style of
drawing nets is preferable to drawing individual, orthogonal segments.
In particular, it makes it easy to connect two points which lie far
away from one another on a diagonal. 
 
We all agreed to thank David Carr and Werner Hoch for this most
excellent new feature!
 
As an aside, most commerical schematic capture packages draw "L" nets,
so this feature brings gschem up to the same standard as, say,
ViewDraw.  One thing I noticed:  you can draw "L" nets through
components.  In ViewDraw, nets will automatically avoid being drawn
through components.  We discussed whether this was a feature or a
bug.  John pointed out that one sometimes wants to draw nets through
connector symbols, so the way gschem works now is a feature.
 
 
*  Embedded picture support.  Ales demonstrated that gschem now allows
you to place graphics in the drawing field, and also allows you to
embedd the graphic directly into the .sch file.  We played with
embedding and unembedding a .png graphic which Ales had on his
machine.  Placing a graphic was very easy, and worked well.  You could
resize the graphic, and gschem just "did the right thing".
 
I asked what the feature was for, and we agreed that it would be nice
way to put a company logo into a schematic.  I wonder if there are
other uses?
 
As for embedding and unembedding the graphic into/from the .sch file:
Embedding worked great.  However, unembedding failed the first time
around.  Ales looked at the code which supports unembedding
components (which this new feature piggybacks upon), and we found a
slight bug.  Ales fixed it in real time.  To me, this is a
demonstration of the value of these user meetings: we can use them as
light-duty hacking sessions!
 
We all expressed mega thanks to Carlos for this way cool feature!
 
 
*  John introduced another Perl utility for PCB.  His new utility,
"pcb-place", will take a config file holding a list of components and
desired positions, and place the components onto the PC board at the
locations specified in the file.  Amongst other things, this utility
is very useful for automatically placing large numbers of components
arranged in regular patterns.  John presented an example in which he
placed around 50 LEDs on a display board.
 
His utility works by reading in an existing .pcb file, locating all
the components listed in the config file, and the moving the
components to the desired locations.  Making this work engendered a
discussion about the PCB file format.  One issue raised which we have
discussed here before is that in PCB a component's position is given
in the component's header line, and when you translate a component,
only the header changes.  However, when you rotate a component, the
graphical elements *inside* the component are moved, even though there
is a "rotation" attribute in the header.  Nobody could remember if the
rotation attribute was only for the component's text, or if it was
supposed to rotate the whole component, although John said that when
he munged the rotation attribute, it didn't affect the text
placement.  Could one of the PCB developers chime in here and clarify
this?
 
John's Perl placement utility will also add lines and vias to the
component's footprint, which I think is an excellent feature for
simplifying pin-escaping complicated parts.  He wants to add a few
more features, and then will release it.  Watch his website!
 
 
*  CD Installer:  Various people have reported problems getting the
gEDA Suite installer to work successfully.  I am deeply concerned
about this.  The biggest problem seems to lie with SuSE.  I am
therefore going to build an installer test center in my gf's basement:
I have about 1/2 dozen old scrap computers upon which I will load
various distros (notably SuSE9.3 and FC4), and then try runing the
installer on those distros to diagnose and correct the problems.  This
process will take place over a few weeks (or more).  If you are
suffering from problems with the installer, hang tight!  BTW:  Thanks,
Ales, for the copy of FC4, and thanks in advance to the folks who are
sending me copies of SuSE9.3!
 
 
*  I had been playing with BRL-CAD for a little while, so I showed to
the group what I had done so far.  Following Marvin's suggestion, I
had started working through Vol 2 of the BRL-CAD documentation,
although I hadn't gotten very far.
 
I demoed use of the CLI to read in, display, and render a built
object.  I had previously drawn the handheld radio given in the
documentation, so I demoed that.  We moved it around and zoomed in and
out.  Beyond that I hadn't gotten very far, so we didn't do much more
than that.
 
Some BRL-CAD comments:
 
  --  It seems more like a visulation tool than a CAD tool.  For
      example, I am at a loss about how to indicate dimensions, or
      create a 2-D print of a 3-D shape I have modeled.  Has anybody
      on this list figured out how to do this, or is it possible?

  --  Driving BRL-CAD via the command line struck several of us as a
      major annoyance.  I said that one normally must do lots of
      command-line stuff anyway when creating dimensioned drawings, so
      it didn't annoy me.
 
  --  If BRL-CAD is indeed more about solid modeling and visulation
      than about CAD, then the question is again raised:  What 3-D
      mechanical CAD pacakges exist for Linux, commerical or
      otherwise?
 
 
*  After fooling with BRL-CAD, I ran QCad for the group.  The group
opinion is that QCad's user interface is not very good, and requires
far too much clicking on buttons on the left hand window.  No keyboard
shortcuts exist for most operations, and certainly none exist for
drawing.  This is a major misfeature, since it makes creating anything
more than a trivial drawing a real pain.  We discussed how gschem
allows one to move the mouse in one hand, and type keyboard shortcuts
with the other. Everybody agrees that that is a major feature of
gschem.
 
We also observed that QCad's demo binary automatically closes down
after 10 minutes of use.  Nobody liked that at all -- it's worse than
nagware, although at least it gives you the option to save your work
before it shuts down.
 
 
*  We agreed to try PyCAD for the next meeting.  John told me that the
latest PythonCAD rev is version 25, released last May.  The website
is:
 
http://www.pythoncad.org/
 
My quest is to find  an open-source drawing program suitable for
creating dimensioned drawings suitable for sending to a machine shop.
Stay tuned to hear about what we think about PythonCAD!
 
 
*  An aside:  I mentioned interest in Linux-based CNC software.  In
particular, I have been following the "Enhanced Machine Controller"
(EMC) list for a while.  Here's a link:
 
http://www.linuxcnc.org/
 
Other CNC links courtesy of John:
 
80/20 is at    http://www.8020.net
Rockler is at  http://www.rockler.com
Machinist Workshop is at http://www.homeshopmachinist.net/index.cfm
 
Perhaps at some future FreeDog we will have a longer investigation of
this kind of software.
 
 
*  Back to gschem.  Ales is thinking about creating a "newbie mode"
for gschem.  Newbie mode will offer more help to the new user, telling
him what to do with each step of using the program.  We discussed
whether newbie mode should be on by default, run one for the first 20
sessions and then go away, etc.  It will be configurable, and will
likely be an option in the gafrc.
 
 
*  Another gschem topic:  There is some interest in a version of
gschem which doesn't run the GUI.  This feature would be useful for
scripted applications.   Ales is going to post a script that demos
an alternative method (virtual buffer?)
 
 
*  We talked about what to put on the gEDA Wiki.  Besides Ales' FAQ,
here are some suggestions:
 
  --  Link to Bill Wilson's excellent tutorial.  We discussed whether
      it should just be a link, or perhaps take his stuff and wiki-ize
      it.  Ales wants to put a link since Bill did such a nice job
      with formatting, and Ales thinks preserving the formatting will
      be difficult with the Wiki.  On the other hand, I think that
      wiki-izing the tutorial will enable others to add to and improve
      it (even though it's already excellent).
 
  --  This idea led to another tutorial which I wrote a while ago and
      shared privately with a small circle of readers.  I wrote the
      tutorial for a glossy magazine, and submitted it.  It was
      accepted, but they haven't done anything with it.  Since I
      haven't signed over ownership yet, I can pull it from them and
      stick it on the Wiki.  This would obviate the need to wiki-ize
      Bill Wilson's tutorial, and would provide another gEDA tutorial
      for newbies.  I promised to pursue this.
 
  --  I will also create a graphic showing the design flow to create a
      PC board, starting from gschem, and going through PCB.  Expect
      to see this on the wiki soon!
 
         
*  Windoze version of gEDA/gaf.  Ales said that he would spin a
Windows version of gschem as soon as he (or somebody else) replaced
the custom file browser with one build using stock GTK widgets.
Hackers -- if you're looking for a gEDA project, this may be simple
enough to get your feet wet with the project!
 
 
*  GEDA project manager.  The current project manager, geda, is broken
and unsupported.  Personally, I think having a working project manager
would be a good thing, particularly becase so many newbies try using
the suite by typing "geda" at the command line.  Right now,
unfortuantely, they are likely to get a segfault when starting geda,
which is a real turn-off.
 
We discussed whether it was better to fix the existing program
(written in C), or to just write something new from the ground up.
Something new could be written in Python (my suggestion).  This makes
sense because the purpose of the project manager is to present a GUI
to the user, invoke various the various programs used in the design
flow, and keep track of various project files.  This type of
application naturally lends itself to a scripting-type language,
instead of C.  As for scripting languages, Ales threatened to 
write the project manager in Scheme.  :-)
 
However, before doing a rewrite, it would be a good idea to look more
closely at geda to see if it can be easily fixed.  I belive that its
problem is just that it hasn't kept up with changes to the GTK API
(and perhaps a few other issues).
 
 
*  John mentioned that he still wants to do a gEDA 200K (200 km) bike
ride from Boston to New Hampshire!  Both Ales and I are a little too
out of shape for that. (Although I ride, John wants to average between
15 and 20 mph for the whole ride, which is very strenuous.)  Anybody
else on this list who bikes and wants to take John up on the offer?!!?
 
 
*  Finally, responding to Ales' question, we talked about Google stock
and why it was so high.  Personally, I think it is a bubble.  Google's
business model is based upon selling advertising.  However, ads on
television reach zillions of times more people than ads on Google
since more people watch TV than do anything with computers.  Also, for
the small percentage of people who are computer & Google users
(including readers of this list), who every actually looks at the
Google ads?  Anybody here read them?  I rarely do.  On the other hand,
TV ads are inescapable.  Despite this, the stock prices of TV network
companies are in the toilet, while Google is flying high.  To me, this
makes no sense. Others may have a different opinion.
 
 
After 2 1/2 hours of conversation, we broke up.  Thanks to John
Luciani who e-mailed me a list of topics we discussed -- it helps to
jog my memory about all the interesting subjects touched upon during
the course of the evening!
 
Your FreeDog correspondent,
 
Stuart