{"id":18772456,"url":"https://github.com/eftec/objdoctor","last_synced_at":"2025-12-12T20:30:15.722Z","repository":{"id":71041791,"uuid":"127569801","full_name":"EFTEC/ObjDoctor","owner":"EFTEC","description":"It is a library","archived":false,"fork":false,"pushed_at":"2018-05-03T13:33:44.000Z","size":1495,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-29T08:13:36.149Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.eftec.cl","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EFTEC.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2018-03-31T20:43:50.000Z","updated_at":"2024-09-23T21:03:40.000Z","dependencies_parsed_at":"2023-06-30T00:45:46.090Z","dependency_job_id":null,"html_url":"https://github.com/EFTEC/ObjDoctor","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EFTEC%2FObjDoctor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EFTEC%2FObjDoctor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EFTEC%2FObjDoctor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EFTEC%2FObjDoctor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EFTEC","download_url":"https://codeload.github.com/EFTEC/ObjDoctor/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239680808,"owners_count":19679505,"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":[],"created_at":"2024-11-07T19:29:09.867Z","updated_at":"2025-12-12T20:30:15.358Z","avatar_url":"https://github.com/EFTEC.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ObjDoctor\nObject Doctor is a small tool for open and edit Obj Wavefront 3d format files\n\nIt allows to open, edit and save it back 3d model stored in Obj Wavefront format by **retaining the original format and information of the source file**.   This program doesn't rebuild the OBJ file but it works based in the same file by only rebuilding the information VERTEX and NORMALS.\n\nSo, if a obj file contains 5000 lines, the result also contains 5000 files, even if the result was scaled or translated.\n\n![In action](https://raw.githubusercontent.com/EFTEC/ObjDoctor/master/docs/ObjDoctor.gif \"Object Doctor In Action\")\nIn this example, we have a obj file that it's correct but we want to move the model over the Y axis.  So, we open the file, and then we used the option of RESCALE to modify altitude (Y) of the mesh. Since we want to move over the Y axis, then the selected the option MinY to zero and the option ANCHOR Y, to anchor (freeze) this value.\n\nThis program solves the next problem:\n- It allows to scale the obj file without touching any other information of the OBJ file.\n- It allows to translate the obj file.   The translation could be done via ANCHORING a margin or via centering the object.\n\n## How to run\n\n- Net Framework 4.6 or higher is required.  [Net framework 4.6](https://www.microsoft.com/en-us/download/details.aspx?id=48130)\n- Download and execute the program [Release version](https://github.com/EFTEC/ObjDoctor/tree/master/ObjScaler/bin/Release) or [Debug version](https://github.com/EFTEC/ObjDoctor/tree/master/ObjScaler/bin/Debug)\n- Or you could compile the program from source (visual studio 2017 or higher)\n\n## Features:   \n- Compatible with 3dsmax, zbrush and Modo Obj Wavefront format, and may be another 3d program.  \n- It allows to rescale and translate a 3d model.\n- It shows statistics of the 3d object such as size, minimum, maximum, center and groups contained inside it.\n- It works using 64-bit float precision (15-16 digits precision).\n\n## How to use\n\n![image 1](https://raw.githubusercontent.com/EFTEC/ObjDoctor/master/docs/image1.jpg)\n\nIn the first screen, you can see the OBJ file loaded (if any), you could load a new one or you could save a new OBJ file. \n\nIt also shows statistics of the model such as GROUPS (if the model has one), the dimensions, minimum, maximum and center of the mesh.\n\n![image 2](https://raw.githubusercontent.com/EFTEC/ObjDoctor/master/docs/image2.jpg)\n\nIn the rescale screen, it's possible to rescale and translate the object.\n\n## Example of Usage\n\n### Move the figure over the Y axis.   \n\n- Check the option **ANCHOR MIN Y**\n- Select the **MIN Y** to 0.\n\n### Move the figure under the Y axis.   \n\n- Check the option **ANCHOR MAX Y**\n- Select the **MAX Y** to 0.\n\n### Center the figure in the X axis\n\n- Push the **Button CENTER X**\n\n### The figure is 500 wide (X) and I need to scale to 1300.\n\n- Change **Target Dimension X** to 1300.\n\n### The figure must be scaled 300%\n\n- Change the **Percentage** (at the right of Target Dimension) to 300.\n\n### The figure must be scaled until the max height is 1000.\n\n- Uncheck (if it's checked) **ANCHOR MAX Y** and select **MAX Y** to 1000. The figure will be rescaled according this value.\n\n## Todo\n\nMaybe it's not compatible with every single obj file. If you have problems, then send me a report with the file.  Right now, the program crashes when it founds an unknown line command.\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feftec%2Fobjdoctor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feftec%2Fobjdoctor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feftec%2Fobjdoctor/lists"}