{"id":15136237,"url":"https://github.com/admesh/admesh","last_synced_at":"2025-10-24T04:49:50.883Z","repository":{"id":913435,"uuid":"13716161","full_name":"admesh/admesh","owner":"admesh","description":"CLI and C library for processing triangulated solid meshes","archived":false,"fork":false,"pushed_at":"2022-12-16T11:11:52.000Z","size":1826,"stargazers_count":214,"open_issues_count":22,"forks_count":76,"subscribers_count":28,"default_branch":"master","last_synced_at":"2024-10-29T20:55:26.667Z","etag":null,"topics":["c","edges","facets","meshes","repair","three-d-printing","vertices"],"latest_commit_sha":null,"homepage":"https://admesh.readthedocs.io/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/admesh.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog.old","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-10-20T09:01:33.000Z","updated_at":"2024-09-01T05:31:50.000Z","dependencies_parsed_at":"2023-01-13T11:45:11.504Z","dependency_job_id":null,"html_url":"https://github.com/admesh/admesh","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/admesh%2Fadmesh","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/admesh%2Fadmesh/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/admesh%2Fadmesh/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/admesh%2Fadmesh/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/admesh","download_url":"https://codeload.github.com/admesh/admesh/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247471517,"owners_count":20944158,"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":["c","edges","facets","meshes","repair","three-d-printing","vertices"],"created_at":"2024-09-26T06:04:39.592Z","updated_at":"2025-10-24T04:49:45.824Z","avatar_url":"https://github.com/admesh.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"About this release and repository:\n----------------------------------\n\nADMesh was released as an application in 1995/96. Not much happened since then.\nAs the code of this project might bring use for others, this \"fork\" was created\nto provide a shared library. Once done that, I've collected lots of bugfixes\nfrom the world around us.\n\nNo further development will be done, but bugs will be resolved, if possible.\n\nDon't patch this project downstream but use this code, so all can benefit from\nthe changes. Pull requests are welcome, but be sure to generate no warnings.\n\nGrab the 0.98.5 tarball:\nhttps://github.com/admesh/admesh/releases/download/v0.98.5/admesh-0.98.5.tar.gz\n\nAbout ADMesh:\n-------------\n\nADMesh is a program for processing triangulated solid meshes. Currently,\nADMesh only reads the STL file format that is used for rapid prototyping\napplications, although it can write STL, VRML, OFF, and DXF files.\n\nAdditional information regarding the underlying algorithms of ADMesh\ncan be found in Anthony Martin's Masters Thesis available from here:\n\nhttp://www.varlog.com/admesh-htm/ADMeshThesis.zip\n\nFeatures:\n---------\n\n * Read and write binary and ASCII STL files\n * Check STL files for flaws (i.e. unconnected facets, bad normals)\n * Repair facets by connecting nearby facets that are within a given tolerance\n * Fill holes in the mesh by adding facets.\n * Repair normal directions (i.e. facets should be CCW)\n * Repair normal values (i.e. should be perpendicular to facet with length=1)\n * Remove degenerate facets (i.e. facets with 2 or more vertices equal)\n * Translate in x, y, and z directions\n * Rotate about the x, y, and z axes\n * Mirror about the xy, yz, and xz planes\n * Scale the part by a factor\n * Merge 2 STL files into one\n * Write an OFF file \n * Write a VRML file \n * Write a DXF file \n * Calculate the volume of a part\n\nADMesh outputs the following statistics after processing:\n\n````\n================= Results produced by ADMesh version 0.98.5 =================\nInput file         : sphere.stl\nFile type          : Binary STL file\nHeader             : Processed by ADMesh version 0.98.5\n============== Size ==============\nMin X = -1.334557, Max X = 1.370952\nMin Y = -1.377953, Max Y = 1.377230\nMin Z = -1.373225, Max Z = 1.242838\n========= Facet Status ========== Original ============ Final ====\nNumber of facets                 :  3656                3656\nFacets with 1 disconnected edge  :    18                   0\nFacets with 2 disconnected edges :     3                   0\nFacets with 3 disconnected edges :     0                   0\nTotal disconnected facets        :    21                   0\n=== Processing Statistics ===     ===== Other Statistics =====\nNumber of parts       :     1        Volume   :  10.889216\nDegenerate facets     :     0\nEdges fixed           :    24\nFacets removed        :     0\nFacets added          :     0\nFacets reversed       :     0\nBackwards edges       :     0\nNormals fixed         :     0\n````\n\nThere are two different algorithms used for fixing unconnected facets.  The\nfirst algorithm finds an unconnected edge, and then checks nearby within a\ngiven tolerance for another unconnected edge.  It then fixes edges within\ntolerance.  Some meshes can be completely fixed just using this method.  If\nthere are still unconnected facets after this \"nearby check\" has been done,\nthen a second algorithm is used.  This algorithm just fills any holes in the\nmesh by adding facets until all of the holes are filled.  Using these two\nalgorithms, almost any imperfect STL file can be \"fixed\" 100% so that there\nare 0 unconnected facets.  Whether the resulting mesh is what you really\nwant is another question since there is no way for ADMesh to add information\nthat isn't there.\n\nAt this point ADMesh is only command-line driven and has no windowing\ncapabilities.  This should make it extremely easy to port to any UNIX-like\nsystem, and it shouldn't have any problems compiling on Windows NT, and some\npeople have had success compiling it under DOS or Windows using DJGPP.\n\nADMesh was developed on a 486/66 with 16Mb running the Linux operating system.\nIt has also been compiled and run on the following systems:\nSunOS 4.1.3\nIRIX  5.2\nPlease let me know about successes or failures with other systems.\n\nOn my Linux system with 16Mb of memory, I can easily process files that have\nup to about 200,000 facets.  Files larger than this can be processed, but\nthe system begins to slow down significantly due to swapping.  A system with\nmore memory will be able to process greater numbers of facets more easily.\nFollowing are some indications of process times:\n\n * 40,000  facets: 10 seconds\n * 80,000  facets: 20 seconds\n * 160,000 facets: 50 seconds\n * 320,000 facets: 13 minutes (heavy swapping occurred)\n\nNote that those times were calculated around 1996.\n\nADMesh is free but copyrighted software.  It is distributed under the terms\nof the GNU General Public License (GPL). Details of the GPL are in the file\nCOPYING that comes with the ADMesh software package.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadmesh%2Fadmesh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadmesh%2Fadmesh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadmesh%2Fadmesh/lists"}