Giter Club home page Giter Club logo

bolts_archive's Introduction

BOLTS

BOLTS is an Open Library for Technical Specifications.

This repository contains all the tools and data that are required to build the different distributions and the website. You only need to get the content of this repository if you want to contribute content to BOLTS or want to develop the tools that are used to manage it.

If you just want to use BOLTS, then you should get the BOLTS distribution for the CAD tool of your choice from the download section of the webpage instead. Instructions on how to use the distributions can be found in the documentation section.

The webpage contains a lot of general infos, a list of all parts contained in BOLTS and quite a bit of documentation. So if you have more questions, the chances to find answers on the webpage

https://boltsparts.github.io

are much higher than to find them here.

Use

You should check out the documentation. on the webpage for more information on how to get and use BOLTS.

Dependencies for use

To use BOLTS for OpenSCAD

is required.

To use BOLTS for FreeCAD

is required.

Development

Dependencies for development

In any case you should have

installed.

Depending on the target system you want to develop for additional dependencies are required.

For BOLTS for OpenSCAD:

For BOLTS for FreeCAD

For BOLTS for SolidWorks

To work on the website it is recommended to use a virtualenv for the python dependencies, see the documentation for more details. If you don't want to use a virtualenv, you can install the python requirements listed in requirements.txt. In addition you need

  • node-less
  • cleancss

To run the bolts.py utility script (for development)

bolts_archive's People

Contributors

andrej730 avatar berndhahnebach avatar dependabot[bot] avatar felixkosmalla avatar galou avatar hexane360 avatar inglebard avatar jesusbill avatar jonnor avatar jreinhardt avatar kkoksvik avatar kolanich avatar leogott avatar luzpaz avatar mmalecki avatar normandc avatar olemis avatar petrisch avatar weblate avatar yanai1701 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bolts_archive's Issues

Consolidate generated tables

Right now a table for every name of the part is generated. This could be avoided by generating a table only for every class.id.

Drawings

Currently the drawings used on the webpage to illustrate the general geometry and the dimensions of a base are pretty ugly and generated by a ugly, slow, homegrown OpenSCAD machinery.

  1. Try how to do this in FreeCAD
  2. Have a proper mechanism in the blt files to specify drawings
  3. Write a contribution guide about it

Data sources

Have a field in the blt file indicating the source of the data.

Write Documentation

General

How to fix an error in a blt file
How to add a new class to a collection
How to add a collection
Using git on your local computer
Using githubs webbased interface

FreeCAD

How to install BOLTS for FreeCAD
How to use BOLTS for FreeCAD
How to write a FreeCAD base file
How to write a Base Function
How to create a Base FCstd file

OpenSCAD

How to install BOLTS for OpenSCAD
How to use BOLTS for OpenSCAD
How to write a OpenSCAD base file
How to write a Base Module
How to create a STL base file

split in data part and core tools

I think it is a good idea to separate the scripts used to manage a number of collections and the collection data itself into two repositories.

Dimension functions

generate a function for each part to get the values for all parameters to allow to write more general code.

this can be also used to simplify the generated stub

Legal and License issues

I think it is a good thing to keep track of authorship and licenses as precisely as possible from the beginning.

However there can be many different licenses and copyright stakeholders:

The base modules/geometries/functions have one or more copyright holders and a license.

The blt files have copyright and license

The core tools have a copyright and a license

Generated code is afaik under the same license as the blt and/or base modules.

What are appropriate licenses for the data? http://opendatacommons.org/licenses/odbl/1.0/ ?

What licenses fit together how?

Unclear license page

I require a url for every license, but if the license terms are unclear, there is no canonical page for that.

Therefore a page explaining the implications of unclear licensing should be created on the BOLTS Webpresence

Static checking

Tasks fall in different categories.

Smells

Should go to Task list. Requires a mechanism to mark false positives, probably a extra file to specify ignorances.

  • Table checks, can reuse some code I have written in the past (https://github.com/jreinhardt/bolttools/blob/3c924e1a702dd77be99b1418095cd781149d54b9/checker.py)
  • missing standard from Standardisation Organisation. One would expect that all standardisation organisations have standards for a kind of part. (Not doing it, not robust enough)
  • missing optional fields, short descriptions (not doing it, not robust)
  • missed connections. If the set of classids for base geometries for two different backends have a non empty intersection, then it should be possible for each of the base geometries to take care of the union of the sets of classids.
  • parameter names should conform to [a-zA-z][a-z0-9_]*
  • notes (not doing it, not robust)

Errors

Semantically clearly wrong and have an obvious fix. Check for during blt parsing?

  • Non-unique class ids
  • wrong spelling for bool values (uppercase required)
  • License from set of allowed licenses.

contains some points from #17

Positioning, orientation and Differencing

How should the syntax be to position and orient a part? How to indicate that I want to subtract a part to create e.g. a nut trap?

(similar to #20)

Ask on the mailing list

What do I need for infrastructure?

More infos in BOLTS part selector

The BOLTS part selector should have a widget that shows more detailed informations about the Standard, Collection, Part that is currently selected

Could also provide a button to open the corresponding BOLTS specification page

Merge master and gh pages

This would allow to also provide downloadable html documentation and avoid many "updated from master" commits.

Webpage Contribution Guides

  1. Understanding and writing blt files
  2. Building base module for OpenSCAD
  3. Building base functions for FreeCAD

STEP export of all parts

It would be nice to have a BOLTS distribution in STEP format. This would allow users of most CAD applications to profit from BOLTS.

  1. The export should be automatic
  2. How does STEP treat parametric dimensions?

Feedback on problems when adding parts

Possibility 1:
Disable the add button when no document is active. This requires signals when documents are loaded.

Possibility 2:
Just give a message with FreeCAD.Console with the problem

fcstd base geometries

It would be nice to have a mechanism to boltify parts in fcstd format. This requires several steps:

  1. A appropriate mechanism to specify this kind of base in the blt file
  2. A suitable directory structure to store the fcstd files
  3. A loader that can load the parts and adjust parameters according to the blt file
  4. Check that licenses are compatible

Additional base parameters

Sometimes one wants additional parameters that are not specific to the part, but to the base. For example to choose between a very detailed representation that looks great (with a real thread for bolts or all the balls for bearings) and one that is more schematic.

Would need to add that to the spec and implement it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.