{"id":50932381,"url":"https://github.com/krutikmehtaa/meshr-relief","last_synced_at":"2026-06-17T05:31:19.812Z","repository":{"id":318062173,"uuid":"1069869226","full_name":"krutikmehtaa/meshr-relief","owner":"krutikmehtaa","description":"meshr-relief is a 3D geometry plugin that accelerates the creation of grooves and ridges with precise, optimized, mesh-level control.","archived":false,"fork":false,"pushed_at":"2026-01-27T06:12:11.000Z","size":8703,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-27T19:27:07.693Z","etag":null,"topics":["maxscript","ruby"],"latest_commit_sha":null,"homepage":"","language":"MAXScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/krutikmehtaa.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-04T19:30:18.000Z","updated_at":"2026-01-27T06:12:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"fcff6643-235d-49d7-81e9-63d9ec5fabdd","html_url":"https://github.com/krutikmehtaa/meshr-relief","commit_stats":null,"previous_names":["krutikmehtaa/open-source-plugins","krutikmehtaa/meshr-relief"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/krutikmehtaa/meshr-relief","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krutikmehtaa%2Fmeshr-relief","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krutikmehtaa%2Fmeshr-relief/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krutikmehtaa%2Fmeshr-relief/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krutikmehtaa%2Fmeshr-relief/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/krutikmehtaa","download_url":"https://codeload.github.com/krutikmehtaa/meshr-relief/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krutikmehtaa%2Fmeshr-relief/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34435978,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-17T02:00:05.408Z","response_time":127,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["maxscript","ruby"],"created_at":"2026-06-17T05:31:18.048Z","updated_at":"2026-06-17T05:31:19.803Z","avatar_url":"https://github.com/krutikmehtaa.png","language":"MAXScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## meshr-relief\n\n\u003e A cross-platform set of procedural groove-ridge generation tools for **Autodesk 3ds Max** and **SketchUp Pro**, designed to streamline surface detailing and modeling automation for both 3D artists and plugin developers.\n\n---\n\n### 🗂️ Repository Structure\n\n```\nmeshr-relief/\n│\n├── Autodesk 3ds Max/\n│   ├── utility_rectangular_grooves.ms\n│   ├── utility_rectangular_ridges.ms\n│   └── utility_startup.ms\n│\n└── SketchUp Pro/\n    └── groove-tool.rb\n```\n\n---\n\n## Overview\n\n### 🔹 Autodesk 3ds Max — **Grooves \u0026 Ridges Utilities**\n\n**Files:** \n* `utility_rectangular_grooves.ms` — Grooves Utility v2.3\n* `utility_rectangular_ridges.ms` — Ridges Utility v2.3\n* `utility_startup.ms` — Auto-loader for startup\n\n**Access:** Utilities Panel \u003e MAXScript \u003e Utilities dropdown \u003e \"Grooves\" or \"Ridges\"\n\n**Key Features:**\n\n* **Three-axis control:** Along X-Axis, Y-Axis, or Both Axes simultaneously\n* **Auto-center mode:** Automatically calculates optimal spacing and offsets\n* **Real-time calculation:** Live preview of spacing gaps and warnings\n* **Parameter persistence:** Settings are stored with the object via custom attributes\n* **Load From Selected:** Reload previous settings from grooved/ridged objects\n* **Safe undo system:** Built-in RESET button (avoids Ctrl+Z issues with boolean operations)\n* **Separate X/Y controls:** Independent settings for count, width, length, spacing, and offset per axis\n* **Automatic startup loading:** Both utilities load automatically when 3ds Max starts\n\n---\n\n### 🔹 SketchUp Pro — **GrooveTool**\n\n**File:** `SketchUp Pro/groove-tool.rb`\n\n* Adds a **context menu tool** for generating grooves on rectangular faces\n* Built using the **SketchUp Ruby API** for seamless integration and lightweight operation\n* Prompts for customizable groove width, depth, and spacing\n* Automatically creates groove geometry with push-pull operations\n* Designed for quick face-based modeling tasks with full undo support\n\n**Key Features:**\n\n* **Right-click workflow:** Appears in context menu when a face is selected\n* **Three configurable parameters:**\n  * Groove Width (mm) — default: 100mm\n  * Groove Depth (mm) — default: 200mm\n  * Spacing Between Grooves (mm) — default: 500mm\n* **Automatic validation:** Checks if face is large enough for specified grooves\n* **Persistent settings:** Remembers last-used parameters between sessions\n* **Full undo support:** Uses `start_operation` with commit for proper undo stack integration\n* **Lightweight module:** Single-file implementation, easy to extend or modify\n\n---\n\n## Demo\n\n### [Autodesk 3ds Max](https://github.com/user-attachments/assets/194c6730-26ab-429b-93ef-651eecbd1c66)\n\n---\n\n## Installation\n\n### Autodesk 3ds Max\n\n**Installation paths:**\n\nFor utilities (main scripts):\n```\nC:\\Users\\\u003cusername\u003e\\AppData\\Local\\Autodesk\\3ds Max\\\u003cversion\u003e\\scripts\\\n```\n\nFor startup script (auto-loader):\n```\nC:\\Users\\\u003cusername\u003e\\AppData\\Local\\Autodesk\\3ds Max\\\u003cversion\u003e\\scripts\\Startup\\\n```\n\n**Steps:**\n\n1. Copy `utility_rectangular_grooves.ms` and `utility_rectangular_ridges.ms` to the **scripts** folder\n2. Copy `utility_startup.ms` to the **scripts\\Startup** folder\n3. Restart 3ds Max\n4. Access the utilities via: **Utilities Panel** → **MAXScript** → **Utilities dropdown** → select **\"Grooves\"** or **\"Ridges\"**\n\n**Alternative (Manual Loading):**\n\nIf you don't want auto-startup, skip step 2 and manually run the utility scripts from the **MAXScript** menu → **Run Script**.\n\n\u003e 💡 The startup script automatically loads both utilities when 3ds Max starts, making them instantly available in the Utilities panel.\n\n---\n\n### SketchUp Pro\n\n**Installation path (Windows):**\n\n```\nC:\\Users\\\u003cusername\u003e\\AppData\\Roaming\\SketchUp\\SketchUp \u003cversion\u003e\\SketchUp\\Plugins\\\n```\n\n**Installation path (macOS):**\n\n```\n~/Library/Application Support/SketchUp \u003cversion\u003e/SketchUp/Plugins/\n```\n\n**Steps:**\n\n1. Copy `groove-tool.rb` into the **Plugins** folder.\n2. Restart SketchUp.\n3. Right-click any rectangular face and choose **“Create Groove”** from the context menu.\n\n\u003e 💡 The tool automatically loads at startup and appears in the right-click context menu for faces.\n\n---\n\n## Developer Notes\n\n### 3ds Max\n\n* Written entirely in **MaxScript** with no external dependencies\n* Custom attributes system (`grooveParamsCA`, `ridgeParamsCA`) for parameter persistence\n* Boolean operations for grooves, poly attachment for ridges\n* Auto-spacing calculations with real-time feedback\n* Startup automation via `utility_startup.ms`\n\n### SketchUp\n\n* Implemented in **Ruby** using native SketchUp API\n* Context menu integration for face-based workflow\n* Operation wrapper for proper undo/redo support\n* Single-file module design for easy extension\n\n---\n\n## License\n\n**Copyright © 2026 Krutik Mehta. All Rights Reserved.**\n\nThis software and associated documentation are proprietary and confidential. Unauthorized copying, distribution, modification, or use of this software, via any medium, is strictly prohibited without prior written permission from the copyright holder.\n\n---\n\n## Credits\n\nDeveloped and maintained by [**Krutik Mehta**](https://github.com/krutikmehtaa).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrutikmehtaa%2Fmeshr-relief","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkrutikmehtaa%2Fmeshr-relief","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrutikmehtaa%2Fmeshr-relief/lists"}