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
