Hello again-

This time around I'm proposing a different project, this time on the
subject of a web-based solid geometry model repository. In my last
email I mentioned that I was concerned as to whether or not I would
want to work on such a repository system in terms of BRLCAD's backend
because I am interested in working on a repository that has metadata
associated with various models- which furthermore should be useful for
setting parametric information. For instance, I think it would be
ultimately very useful if sites such as octopart, or any other 'parts'
catalog (digikey, mouser, listen up), were to keep track of the
constraints on input/output ports on objects. It would be a tragedy if
you spend a week modeling some amazing new system only to discover
that a part that you retrieved from a repository is rated for 20 psi
meanwhile your system requires that it is rated for 200 psi on input
port region #1. There are two types of constraints in this regard-
geometrical constraints which are computed from the edges and
boundaries of the two intersecting solids- and secondly those "rated
for" constraints.

Almost a year ago I started working with another fellow on developing
a system for keeping track of metadata of "packages" of CAD files,
called SKDB. The metadata format was to be in YAML and easily
manipulated in python. The pythonOCC OpenCASCADE bindings are a step
in the right direction, and once the simplified pythonOCC API is
written maybe there is some more integration worth investigating
there- however licensing issues with OCC may cause some issues. I'm
not sure. Anyway, the goal of SKDB was to provide a package management
system like apt or yum except for hardware. One of the important
features in the analogy to a package management system is the tracking
and solving or resolution of dependencies. For instance, a plastic toy
would have a build-dependency on an injection molding machine
elsewhere in the repository. Another component of the metadata- or
really the tar files or whatever compression is trivially chosen in
the end- was to have instructions that could be converted into gcode
or into human readable instructions for assembly/building purposes.
Recently there was a blog post that illustrated this idea, "pull
yourself together, bot!". Another blog post from the same circle of
friends was the recent "sudo make me a sandwhich" machine. This is all
to be integrated together into a system where packages are really just
git repositories being distributed for development purposes, and
various front-end showcases for microdonations and so on.
Interestingly enough, this is already only partly implemented in the
likes of instructables, thingiverse, ponoko, unptnt, etc. These sites
tend to be more about being a gallery than being about CAD. :-(

http://brlcad.org/wiki/Google_Summer_of_Code/Project_Ideas#Web-based_solid_geometry_model_repository

Whether or not it's more about uploading and sharing files, versus
being about CAD, is an issue that has to be discussed. I don't know
what the feelings are of the BRLCAD developers on this topic. "The
site would need to provide a relatively easy means for users to upload
models and have those models be indexed, categorized, searched,
converted, and downloaded through the website interface." Conversion
between the different file formats would be a nice feature to have
over the web. Geometrical search would be a neat thing to implement-
like finding different models that "fit" together in certain ways by
examining some metadata on ports- but this would involve some hacking
to the formats (maybe) which might be a don't-go-there-zone for this
proposal, depending on developer feedback.

Now, the applicability of all of those ideas is not entirely certain
in the context of BRLCAD, and frankly it seems like a simpler
repository system is what the project ideas page on the wiki is
talking about, either a module to integrate into mediawiki or another
blog system, or into drupal, or something self-contained and separate.
Maybe something running on django?

Okay. Looking forward to feedback.

- Bryan
http://heybryan.org/
1 512 203 0507

------------------------------------------------------------------------------
_______________________________________________
BRL-CAD Developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-devel

Reply via email to