[Arm-netbook] Schematic and PCB layout CAD files

Luke Kenneth Casson Leighton lkcl at lkcl.net
Fri May 17 06:58:12 BST 2019


On Thu, May 16, 2019 at 8:03 PM Arun Isaac <arunisaac at systemreboot.net> wrote:
>
>
> >  http://rhombus-tech.net/crowdsupply/
> >
> >  which leads to
> >
> >  http://hands.com/~lkcl/eoma/kde_tablet/3dcase
>
> Thanks!
>
> I am not able to open the PCB and schematic files at
> http://hands.com/~lkcl/eoma/microdesktop/ and
> http://hands.com/~lkcl/eoma/laptop_15in/ . I tried gEDA PCB and
> KiCAD. What software should I use?

 Mentor PADS 9.6.

>  Are these OrCAD files?

 no - ORCAD is unbelievably badly designed.

> Can I open them using any free software?

 no.  KiCAD and gEDA simply aren't up to the job of dealing with this
type of project.  i dedicated several months making a huge effort to
design a Card in KiCAD, it was... well, it wasn't time wasted: it was
"time discovering that KiCAD is so inadequate that its use would
*ACTIVELY* prevent and prohibit the completion of the entire goal"

> >  no, i'll not be converting 18 months of work over to a GUI-based
> > system that forces me to use a mouse :)
>
> No problem! I too am happy with text oriented interfaces. :-)

 :)

 you'd be the second person - in the entire world - to be using
pyopenscad.  yes, really.  solidpython was abandoned by its author:
fortunately i recognised its potential and rescued it before he went
ahead with a radically different (unsuitable) direction, which i don't
believe he ever completed.  i kept the name "pyopenscad"

the actual code is quite ingenious and very simple: it creates
mirror-objects of openscad objects (which as you know, SCAD is just a
thin wrapper around libCGAL anyway).  when you create a python-based
pyopenscad object by calling the function "cube(5,6,3)", that stores
in-memory sufficient information to, duh, create a cube of dimensions
x=5, y=6, z=3.

however what *actually* happens is, when you call the function that
requests generation of openscad output, the *python object tree* is
recursively walked, and each python object simply outputs *EQUIVALENT
OPENSCAD TEXT* that matches precisely and exactly what the python code
asked for.

i have the following in ~/.vimrc so that i can hit the "comma" key:
map , ^[:w^M:!python %:t^M^M

by setting up 2 xterms on the left side (one for editing, one to view
library routines used *by* that file), and opening openscad on the
laptop_model.scad file mostly full-screen to the right, the above
macro will *automatically* do a file-save followed by *execution* of
that file.

this will get that file (the python program) to execute, generating a
new version of laptop_model.scad....

... openscad will *AUTOMATICALLY* notice that and re-render the model.

now, the only thing is: the laptop model is so absolutely massive that
even a high-end GPU has severe difficulty rendering it.  don't for
god's sake try to view the laptop models without OpenGL having been
set up.  an Intel GPU (950 etc. etc.) is perfectly sufficient.

at the top of the laptop_model file you will see there's a
"part-selection" enum that is used further down to select which parts
to render.

in the riki200 3D printer i made this much more sophisticated, going
with an object-orientated approach, and adding in options to
auto-generate the STL files.

however, laptop_model.py is the earlier precursor and i stuck with a
function-based approach that made a lot of sense due to the reduced
simplicity of the program (the riki200 includes BOM-generation and
much more).

let me know how you get on.

l.



More information about the arm-netbook mailing list