{"id":25906478,"url":"https://github.com/ad-si/luascad","last_synced_at":"2025-03-03T06:15:02.457Z","repository":{"id":280289393,"uuid":"941519492","full_name":"ad-si/LuaSCAD","owner":"ad-si","description":"Create OpenSCAD models via Lua","archived":false,"fork":false,"pushed_at":"2025-03-02T14:49:49.000Z","size":44,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-02T15:18:40.305Z","etag":null,"topics":["2d","3d","3d-model","3d-printing","cad","cam","cnc","dxf","geometry","laser-cutting","lua","maker","modeling","obj","openscad","parametric","stl","svg","wrl"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ad-si.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-02T13:45:04.000Z","updated_at":"2025-03-02T14:49:52.000Z","dependencies_parsed_at":"2025-03-02T15:28:47.511Z","dependency_job_id":null,"html_url":"https://github.com/ad-si/LuaSCAD","commit_stats":null,"previous_names":["ad-si/luascad"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ad-si%2FLuaSCAD","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ad-si%2FLuaSCAD/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ad-si%2FLuaSCAD/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ad-si%2FLuaSCAD/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ad-si","download_url":"https://codeload.github.com/ad-si/LuaSCAD/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241616678,"owners_count":19991543,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["2d","3d","3d-model","3d-printing","cad","cam","cnc","dxf","geometry","laser-cutting","lua","maker","modeling","obj","openscad","parametric","stl","svg","wrl"],"created_at":"2025-03-03T06:15:01.873Z","updated_at":"2025-03-03T06:15:02.449Z","avatar_url":"https://github.com/ad-si.png","language":"Lua","readme":"# LuaSCAD\n\nLuaSCAD is a scripting library which uses [OpenSCAD] as engine\nto create 2D and 3D objects.\n\n**Supported exports formats are:**\n\n- [DXF](https://en.wikipedia.org/wiki/AutoCAD_DXF)\n- [SVG](https://en.wikipedia.org/wiki/Scalable_Vector_Graphics)\n- [STL](https://en.wikipedia.org/wiki/STL_(file_format))\n- [OBJ](https://en.wikipedia.org/wiki/Wavefront_.obj_file)\n- [WRL](https://en.wikipedia.org/wiki/VRML)\n\nThe LuaSCAD library creates [OpenSCAD] code\nwhich is then used to create DXF, SVG, or STL files.\nIf the object should have a specific color then LuaSCAD can take an STL file\nand convert it to OBJ or WRL with color.\n\n**Main Features:**\n\n- Using CAD objects\n- STL to WRL converter with color\n- STL to OBJ converter with color\n\n**Installation:**\n\n- Clone the repository: `git clone https://github.com/ad-si/LuaSCAD`\n- Install [OpenSCAD] if not already installed\n- Add a new `.lua` file to the root directory of the repository\n- Implement your model\n- ```sh\n  lua your_model.lua\n  ```\n\n[OpenSCAD]: https://www.openscad.org/\n\n\n## Example\n\n**OpenSCAD:**\n\n```openscad\ncube([1,2,3]);\ntranslate([5,0,0]) sphere(r = 2);\n```\n\n**LuaSCAD:**\n\n```lua\nrequire \"lib_cad\"\n\nlocal cube = cad.cube(0,0,0, 1,2,3)\nlocal sphere = cad.sphere(5,0,0, 2)\n\nlocal model = cube + sphere\nmodel:export(\"temp/model.scad\")\n```\n\n\n## Why Lua?\n\n- Similar syntax as the OpenSCAD language, but better:\n  - More powerful\n  - More consistent\n  - Faster\n  - Easily embeddable and could therefore be directly integrated\n      into OpenSCAD or a fork\n- Already used in other CAD software like [LibreCAD] and [Autodesk Netfabb]\n\n[LibreCAD]: https://wiki.librecad.org/index.php/LibreCAD_3_-_Lua_Scripting\n[Autodesk Netfabb]:\n  https://help.autodesk.com/view/NETF/2025/ENU/?guid=GUID-93C06838-2623-4573-9BFB-B1EF4628AC4A\n\n\n## History\n\nThe initial work was done by Michael Lutz at\n[thechillcode/Lua_CAD](https://github.com/thechillcode/Lua_CAD).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fad-si%2Fluascad","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fad-si%2Fluascad","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fad-si%2Fluascad/lists"}