{ "info": { "author": "Peter Boin", "author_email": "peter.boin+cqparts@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "Intended Audience :: End Users/Desktop", "Intended Audience :: Manufacturing", "Intended Audience :: Science/Research", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Natural Language :: English", "Operating System :: MacOS", "Operating System :: POSIX", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Multimedia :: Graphics :: 3D Modeling", "Topic :: Multimedia :: Graphics :: 3D Rendering", "Topic :: Scientific/Engineering" ], "description": "=========================================\n`cqparts` Content Library : Fasteners\n=========================================\n\nComponents\n-------------------------\n\n**Base Components**\n\nFew of these are useful on their own, they're used to build more complex parts.\n\nHeads\n^^^^^^^^^^^^^^^^^\n\n* Counter-sunk varieties\n* Cylindrical varieties\n* Externally Driven (eg: hex head)\n\n.. image:: https://fragmuffin.github.io/cqparts/media/img/fasteners/heads-assorted.png\n\nDrive Types\n^^^^^^^^^^^^^^^^^\n\n* Cruciform varieties (eg: phillips, frearson)\n* Hex (aka: alan) varieties\n* Square varieties (eg: single, double, triple square)\n* Slotted\n* Tamper Resistant varieties\n\n.. image:: https://fragmuffin.github.io/cqparts/media/img/fasteners/drives-assorted.png\n\nThreads\n^^^^^^^^^^^^^^^^^^\n\nStandard threads included:\n\n* ISO68 (standard for metric bolts)\n* Triangular (eg: for woodscrews)\n* Ball Screw\n\n.. image:: https://fragmuffin.github.io/cqparts/media/img/fasteners/threads-assorted.png\n\nAny custom thread can be built by creating a *profile* as a ``Wire`` from within\nan object inheriting from the base ``Thread`` class.\n(`read more here `_)\n\n.. note::\n\n Threads currently bugged by `issue #1 `_.\n\n Threads are currently simplified to a cylinder until this is fixed.\n\n Warning when using for 3d printing, threads will not form correctly until the\n bug is fixed... please ``+1`` the issue if you'd like to use properly formed\n threads.\n\nMale Fastener Components\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n* Bolts\n* Screws\n\n.. image:: https://fragmuffin.github.io/cqparts/media/img/fasteners/male-assorted.png\n\nFemale Fastener Components\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n* Nuts\n\n.. image:: https://fragmuffin.github.io/cqparts/media/img/fasteners/female-assorted.png\n\nUtilities\n-------------------------\n\nThe ``Fasteners`` utility assembly can be used to automatically apply fasteners\nto arbitrary materials.\n\n\nFor example, with the following 2 detatched blocks:\n\n.. image:: https://fragmuffin.github.io/cqparts/media/img/fasteners/fastener-detatched.png\n\nA ``Fastener`` can be applied to these two blocks to hold them together in a\nvariety of ways, with varied parameters, such as these 2 exmples:\n\n.. image:: https://fragmuffin.github.io/cqparts/media/img/fasteners/fastener-assorted.png\n\nMore detailed examples of customizing a ``Fastener`` are\n`documented here `_.\n\n.. image:: https://fragmuffin.github.io/cqparts/media/img/fasteners/fastener-custom-assorted.png\n\n\nCatalogue(s)\n-------------------------\n\n**BoltDepot**\n\n`boltdepot.com `_ has an exceptional website for\ndetails of their products, enough to build 3d models accurate enough for most\napplications.\n\nAt this time, the catalogue you get with this library contains some of the\nproducts for `boltdepot.com `_ in the categories:\n\n* Bolts : ``boltdepot-bolts.json``\n* Nuts : ``boltdepot-nuts.json``\n* Woodscrews : ``boltdepot-woodscrews.json``\n\n**Other Suppliers**\n\nWith increased interest in this library I would like to see this list grow, but\nat this time, it's just the catalogues listed above.\n\n\nExamples\n-------------------------\n\nMachine Screw\n^^^^^^^^^^^^^^^^^^^^^^^\n\nWe can create a fastener with many tuned parameters, for this example we'll create\nan M3 machine screw, 4mm long, with a domed cheese head, and a 2mm hex drive::\n\n from cqparts_fasteners.male import MaleFastenerPart\n\n screw = MaleFastenerPart(\n head=('cheese', {\n 'diameter': 4.5,\n 'height': 1.5,\n 'domed': True,\n 'dome_ratio': 0.5,\n }),\n drive=('hex', {\n 'depth': 1,\n 'width': 2,\n }),\n thread=('iso68', {\n 'diameter': 3, # M3\n }),\n length=4,\n )\n\n from cqparts.display import display\n display(screw)\n\n.. image:: https://fragmuffin.github.io/cqparts/media/img/fasteners/example-screw.png\n\nCatalogue ``Bolt``\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nWith use of a ``JSONCatalogue`` we can search for all fasteners within that\ncatalogue that suit certain parameters, such as length, diameter, anything used\nas a parameter to build the part.\n\nFor this example, we'll explicitly define the product's ``id``, guarenteeing\nonly one result is returned::\n\n import os\n\n from cqparts.catalogue import JSONCatalogue\n import cqparts_fasteners\n\n catalogue_filename = os.path.join(\n os.path.dirname(cqparts_fasteners.__file__),\n 'catalogue',\n 'boltdepot-bolts.json',\n )\n catalogue = JSONCatalogue(catalogue_filename)\n item = catalogue.get_query()\n bolt = catalogue.get(item.id == '221')\n\n from cqparts.display import display\n display(bolt)\n\nThis should generate an accurate model for BoltDepot's\n`product #221 `_.\n\n.. image:: https://fragmuffin.github.io/cqparts/media/img/fasteners/example-catalogue.png\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/fragmuffin/cqparts/tree/master/src/cqparts_fasteners", "keywords": "cadquery,cad,3d,modeling,fasteners", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "cqparts-fasteners", "package_url": "https://pypi.org/project/cqparts-fasteners/", "platform": "", "project_url": "https://pypi.org/project/cqparts-fasteners/", "project_urls": { "Homepage": "https://github.com/fragmuffin/cqparts/tree/master/src/cqparts_fasteners" }, "release_url": "https://pypi.org/project/cqparts-fasteners/0.1.0/", "requires_dist": [ "cqparts" ], "requires_python": "", "summary": "Nuts, Bolts and Screws content library for cqparts", "version": "0.1.0" }, "last_serial": 3683163, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "c453d94e4d92325a449cd8c99fb24faf", "sha256": "c97c3337a042595efa78b650dd7d4a5986ac315a3e09ced7b71357b9546dcd61" }, "downloads": -1, "filename": "cqparts_fasteners-0.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "c453d94e4d92325a449cd8c99fb24faf", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 206713, "upload_time": "2018-03-19T09:17:33", "url": "https://files.pythonhosted.org/packages/bb/34/de605a7c168c981b4779b4018ab3d9f1647851357f0f731323088c8461b3/cqparts_fasteners-0.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "34b32b2f07accb61b246d7361e8a1f4f", "sha256": "8c55fc3b7cc80d0359ed7d81e7cc79444d171c757abe8bff6c58093205f56333" }, "downloads": -1, "filename": "cqparts_fasteners-0.1.0.tar.gz", "has_sig": false, "md5_digest": "34b32b2f07accb61b246d7361e8a1f4f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 177047, "upload_time": "2018-03-19T09:17:38", "url": "https://files.pythonhosted.org/packages/bc/24/9aa58a4925414f4e1bf896b91967e3ef8401b4e15f20e94545ec3808bf9e/cqparts_fasteners-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c453d94e4d92325a449cd8c99fb24faf", "sha256": "c97c3337a042595efa78b650dd7d4a5986ac315a3e09ced7b71357b9546dcd61" }, "downloads": -1, "filename": "cqparts_fasteners-0.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "c453d94e4d92325a449cd8c99fb24faf", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 206713, "upload_time": "2018-03-19T09:17:33", "url": "https://files.pythonhosted.org/packages/bb/34/de605a7c168c981b4779b4018ab3d9f1647851357f0f731323088c8461b3/cqparts_fasteners-0.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "34b32b2f07accb61b246d7361e8a1f4f", "sha256": "8c55fc3b7cc80d0359ed7d81e7cc79444d171c757abe8bff6c58093205f56333" }, "downloads": -1, "filename": "cqparts_fasteners-0.1.0.tar.gz", "has_sig": false, "md5_digest": "34b32b2f07accb61b246d7361e8a1f4f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 177047, "upload_time": "2018-03-19T09:17:38", "url": "https://files.pythonhosted.org/packages/bc/24/9aa58a4925414f4e1bf896b91967e3ef8401b4e15f20e94545ec3808bf9e/cqparts_fasteners-0.1.0.tar.gz" } ] }