CadSoft: Please excuse this lengthy posting, but the description of the
things below IS a bit complicated to describe for me...
The following problem arises regularly: You just created a wonderful
circuit, extremely clever and magnificently layouted, and you just need
eight channels thereof. Official solutions in EAGLE use switching off
F/B annotation, copying schematic and board separately and hoping and
praying that after switching the F/B annotation on again everything is
working. This REGULARLY fails (it only worked once in my lifetime for me).
I heard rumours that in one of the next EAGLE versions an import/export
functionality will be implemented, which is at least as wonderful as
being able to connect a pin to more than one pad (pretty, pretty, please
again).
Anyway, as a suggestion, I would like to draw CadSoft's attention to my
posting from 2010-05-26 in eagle.userchat.ger, where I attached a ULP
system for doing import/export. Forget about the 'export' ULP here -
CadSoft would of course never need to program anything like that,
because they KNOW their own data structures and do not have to create
intermediate files.
When importing, though, it would be spiffing if the new import command
would contain the following options of above mentioned ULP:
1. In order to create multi-channel layouts, the imported circuit
(schematic and board) should be placed somewhere inconspicious,
e.g., NEXT or BELOW the already used area (I have only implemented
NEXT due to personal laziness).
2. In order to save and reuse GENERAL circuits, the imported circuit
(schematic and board) should be placed at EXACTLY the position of
the imported original. With this function, we easily create new
circuits from previously saved 'building blocks': a) Import the
outline of the 6U 19" board, b) import the -5V/-15V power supply
and place it at EXACTLY the predefined position, so that the
regulators can be directly screwed into the case-mounted heat sink,
c) import the 'power LED' circuit that lights the LED only if all
four supplies are present, etc.
Sometimes, those building block originals do not make too much
sense seen alone (e.g., the power supply copper lines just
end somewhere, but this 'somewhere' is exactly the correct
position for the 32-pin connector that comes together with the
board outline), but it all fits together.
3. A feature I could only implement in rudiments is the connection
of NETS: These should SOMETIMES be automatically renamed, but
sometimes NOT! For example, in multi-channel layouts, quite often
ALL nets of the imported circuit should be renamed but NOT the
power supply lines or some common 'clock' signal etc. In my
ULP, lacking the necessary dialog object, one can set the
distinction to 'rename only nets that contain a dollar character',
which properly works with common power supplies (they are
connected) and nets automatically named by EAGLE (the will be
renamed), but obviously FAILS for signals like 'output1' (the
outputs of all channels will be connected).
Since only the USER knows which signals SHOULD be renamed and
which shouldn't, a checkboxed list could be shown, which contains
ALL nets of the imported circuit for the user to decide which
ones should be connected (perhaps with some short-circuit
buttons like 'separate all', 'separate nets with dollars',
'connect all').
4. This may sound a bit complicated, but the only thing really
complex here is that one doesn't know what the USER really
wants and therefore should give him the freedom to choose.
5. Since such an import saves LOTS of time and, due to the
checkboxed list, is unique to each imported circuit, I would
not find it necessary to implement all functionality as
text command (that would be too confusing, anyway):
'import ' just opens the corresponding dialog box and
the user selects the rest.
6. Since you are CadSoft and not me, all strange restrictions
of my home-made ULP would not apply, of course. For MUCH better
streamlining...
Thanks for reading through all of this stuff - perhaps you even find
some of the above useful...
Andreas Weidner