[{"content":"Overview An open-source AutoCAD plugin that calculates the total length of selected objects (lines, polylines, arcs) instantly. Designed for AutoCAD 2024 and 2025.\nProblem Solved Measuring multiple lines, polylines, and arcs in AutoCAD manually is time-consuming and error-prone. This tool automates the entire process with a clean, dedicated interface.\nKey Features Object Filtering: Select specific types (Lines, Polylines, Arcs) or all at once Instant Calculation: Displays total length immediately Object Count: Shows how many objects were counted User-Friendly Interface: Simple, non-intrusive window Easy Command: Launch with ZLen command Technical Stack Language: C# / .NET Platform: AutoCAD 2024, 2025 API: AutoCAD .NET API UI: WPF Links GitHub Repository Blog Post Impact Saves hours of manual measurement work for CAD professionals working with complex drawings containing hundreds of linear objects.\n","permalink":"https://codehaks.github.io/projects/totallength/","summary":"\u003ch2 id=\"overview\"\u003eOverview\u003c/h2\u003e\n\u003cp\u003eAn open-source AutoCAD plugin that calculates the total length of selected objects (lines, polylines, arcs) instantly. Designed for AutoCAD 2024 and 2025.\u003c/p\u003e\n\u003cp\u003e\u003cimg alt=\"Main window\" loading=\"lazy\" src=\"/images/posts/total-main-window.jpg\"\u003e\u003c/p\u003e\n\u003ch2 id=\"problem-solved\"\u003eProblem Solved\u003c/h2\u003e\n\u003cp\u003eMeasuring multiple lines, polylines, and arcs in AutoCAD manually is time-consuming and error-prone. This tool automates the entire process with a clean, dedicated interface.\u003c/p\u003e\n\u003ch2 id=\"key-features\"\u003eKey Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eObject Filtering\u003c/strong\u003e: Select specific types (Lines, Polylines, Arcs) or all at once\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eInstant Calculation\u003c/strong\u003e: Displays total length immediately\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eObject Count\u003c/strong\u003e: Shows how many objects were counted\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eUser-Friendly Interface\u003c/strong\u003e: Simple, non-intrusive window\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eEasy Command\u003c/strong\u003e: Launch with \u003ccode\u003eZLen\u003c/code\u003e command\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"technical-stack\"\u003eTechnical Stack\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eLanguage\u003c/strong\u003e: C# / .NET\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePlatform\u003c/strong\u003e: AutoCAD 2024, 2025\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAPI\u003c/strong\u003e: AutoCAD .NET API\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eUI\u003c/strong\u003e: WPF\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"links\"\u003eLinks\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/codehaks/acad-TotalLength\"\u003eGitHub Repository\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"/posts/cad/calculate-total-length-in-autocad/\"\u003eBlog Post\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"impact\"\u003eImpact\u003c/h2\u003e\n\u003cp\u003eSaves hours of manual measurement work for CAD professionals working with complex drawings containing hundreds of linear objects.\u003c/p\u003e","title":"CodeHaks TotalLength"},{"content":"I\u0026rsquo;m Hakim Ghods — a senior software developer with a B.Sc. in Mechanical Engineering and 20+ years building custom plugins and automation for AutoCAD, SolidWorks, and Revit, with full-stack web and Autodesk cloud experience underneath.\nI read the engineering problem first, then design the right tool for it.\nWhat I do Custom plugins and add-ins. AutoCAD across all four stacks (ObjectARX C++, .NET, VBA, AutoLISP), SolidWorks API, Revit API. From a 2-day macro to a multi-month commercial product.\nAutodesk cloud integration. APS / Forge — Data Management, Model Derivative, Design Automation, Webhooks. ACC — Issues, Docs, Model Coordination, Tasks. Server-side batch processing without per-user desktop licenses. CAD desktops connected to ERP, PLM, and BI dashboards.\nCAD process automation. Batch exports (DWG → PDF, RVT → IFC/NWC, SLDDRW → PDF), bulk parameter updates, BOM generation, drawing-standard enforcement, file management — replacing hours of manual work with one click.\nEngineering domain tools. HVAC load calculations per ASHRAE, heat exchanger tube sheet layouts, isometric gas piping with longest-run detection, surveying point import.\nWeb and backend. ASP.NET Core, Blazor, microservices, real-time SignalR, message queues. Proven at 50,000+ concurrent users and 99.99% uptime. REST and GraphQL APIs over CAD data for mobile apps and 3rd-party integrations.\nTech stack Languages. C# (expert) · VB.NET / VB6 / VBA · AutoLISP / Visual LISP · JavaScript / TypeScript · Python · SQL · C++\n.NET ecosystem. .NET / .NET Core · ASP.NET Core (MVC, Razor Pages, Minimal APIs) · Blazor (Server + WASM) · WPF · WinForms · Entity Framework · Dapper · ML.NET · LLamaSharp\nCAD / BIM SDKs. AutoCAD .NET API · ObjectARX (C++) · AutoCAD VBA · AutoLISP · SolidWorks API · SolidWorks PDM · Revit API · APS (Forge) · ACC · Autodesk Desktop Connector\nCloud, DevOps, infra. APS · ACC · Google Cloud · Azure · Cloudflare · Docker · GitHub Actions · Azure DevOps · Jenkins · GitLab CI · Nginx · MinIO · Application Insights · Prometheus · Grafana\nData \u0026amp; messaging. SQL Server · PostgreSQL · MongoDB · SQLite · LiteDB · Redis · Elasticsearch · SignalR · RabbitMQ · ZeroMQ · MassTransit\nOpen to Custom Revit / AutoCAD / SolidWorks plugin projects APS / ACC integration consulting Architecture review, performance audits, code modernization (.NET Framework → .NET 6+) Reach me Email — hakim.ghods@hotmail.com GitHub — github.com/codehaks LinkedIn — linkedin.com/in/codehaks YouTube — Codehaks channel (.NET, in English and Farsi) For project work, see Services for engagement models and what I do/don\u0026rsquo;t take on.\n","permalink":"https://codehaks.github.io/about/","summary":"\u003cp\u003eI\u0026rsquo;m \u003cstrong\u003eHakim Ghods\u003c/strong\u003e — a senior software developer with a B.Sc. in Mechanical Engineering and 20+ years building custom plugins and automation for \u003cstrong\u003eAutoCAD, SolidWorks, and Revit\u003c/strong\u003e, with full-stack web and Autodesk cloud experience underneath.\u003c/p\u003e\n\u003cp\u003eI read the engineering problem first, then design the right tool for it.\u003c/p\u003e\n\u003chr\u003e\n\u003ch2 id=\"what-i-do\"\u003eWhat I do\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eCustom plugins and add-ins.\u003c/strong\u003e AutoCAD across all four stacks (ObjectARX C++, .NET, VBA, AutoLISP), SolidWorks API, Revit API. From a 2-day macro to a multi-month commercial product.\u003c/p\u003e","title":"About"},{"content":" Engineering-first. Software-driven.\nI specialize in CAD/BIM plugin development on a foundation of mechanical engineering — so the tools I build are shaped by real engineering workflows, not just clean architecture.\nProblems I solve CAD \u0026amp; BIM Engineering tasks that should take minutes consistently take hours. Hundreds of PDFs, IFCs, or NWCs need to be generated from a single CAD source. The same parameter must be updated across hundreds of Revit or SolidWorks files. Legacy AutoCAD VBA or VB6 plugins need to run on the current platform. A commercial plugin needs to ship to the Autodesk App Store. Engineering calculation Tunnel section calculations are still done on paper. HVAC load calculation tools the engineering team can trust. Heat exchanger tube sheets designed manually, costing days per project. Gas or process piping isometrics drawn by hand with recurring errors. Cloud \u0026amp; integration Revit or AutoCAD operations need to run server-side without per-user desktop licenses. Models live in ACC, but downstream processes still assume local storage. CAD data needs to be exposed via a REST API. Web \u0026amp; backend A legacy ASP.NET application has become slow and fragile. A real-time dashboard sourced directly from CAD or BIM systems. Short-term technical lead — someone who has shipped this kind of work before. What I build For CAD desktops.\nCustom plugins and add-ins, single-feature utilities to commercial products Custom commands, palettes, ribbons, and property panels Batch processors (DWG to PDF, RVT to IFC/NWC/DWF, SLDDRW to PDF) Title block, BOM, and annotation generators Drawing-standard auditors and bulk parameter updaters Block, family, and configuration libraries with auto-insertion Pattern generators (tube sheets, perforated plates, fastener arrays) For engineering calculations.\nMechanical design Stress, fatigue, and bolted joint analysis Pressure vessels (ASME VIII) Shell-and-tube components (TEMA) Fluid mechanics and hydraulics Pipe sizing and pressure-drop analysis (Darcy–Weisbach, Hazen–Williams) Pump and compressor selection Two-phase and compressible flow Heat transfer Heat exchanger sizing and rating (LMTD, NTU-effectiveness) Insulation and heat-loss calculations Thermal networks HVAC and building services Load calculations per ASHRAE Duct and pipe sizing Psychrometric analysis Process and piping Line sizing and isometric generation Stress and flexibility checks Valve and orifice sizing Geotechnical and civil cross-sections Tunnel profiles (horseshoe, box) Earthwork volumes Section properties for irregular shapes Custom calculation sheets that replace fragile Excel workbooks with auditable, versioned engineering tools For cloud and integration.\nAPS-driven server-side automation (batch RVT to NWC/IFC, PDF reporting) ACC issue, model, and task synchronization Custom REST and GraphQL APIs over CAD data Webhook-driven notifications and ERP/PLM/BI integrations Hybrid offline/online licensing, telemetry, and crash reporting For the web side of CAD.\nASP.NET Core and Blazor apps embedding the APS Viewer Real-time collaboration over SignalR Background-job pipelines (RabbitMQ, MassTransit) for long-running CAD ops Authentication (cookie, JWT, OAuth) and audit logging For broader software work.\nMicroservices and Dockerized backends High-traffic platforms (proven at 50,000+ concurrent users) Real-time dashboards (Grafana, custom Blazor) AI/LLM integration in .NET (LLamaSharp, ML.NET) For technical leadership.\nArchitecture and performance review of plugins or services API selection guidance (ObjectARX vs .NET, Dynamo vs C#, SolidWorks API vs EPDM) Modernization roadmaps (.NET Framework to .NET 6+) Hiring support and mentoring How I work Engineering problem first, code second. Iterative delivery. First working version in one to two weeks. Source code on delivery. You own what I build. Production-ready handover. Code, installer, licensing, docs, walkthrough. Async-friendly. Meetings reserved for decisions, not status. What I don\u0026rsquo;t take on Mechanical CAD drafting at scale. Pure Dynamo or Grasshopper visual scripting. CAD work without context. Get in touch A 30-minute discovery call is the best way to start.\nEmail — hakim.ghods@hotmail.com LinkedIn — linkedin.com/in/codehaks GitHub — github.com/codehaks ","permalink":"https://codehaks.github.io/services/","summary":"\u003cblockquote\u003e\n\u003cp\u003eEngineering-first. Software-driven.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eI specialize in CAD/BIM plugin development on a foundation of mechanical engineering — so the tools I build are shaped by real engineering workflows, not just clean architecture.\u003c/p\u003e\n\u003chr\u003e\n\u003ch2 id=\"problems-i-solve\"\u003eProblems I solve\u003c/h2\u003e\n\u003ch3 id=\"cad--bim\"\u003eCAD \u0026amp; BIM\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEngineering tasks that should take minutes consistently take hours.\u003c/li\u003e\n\u003cli\u003eHundreds of PDFs, IFCs, or NWCs need to be generated from a single CAD source.\u003c/li\u003e\n\u003cli\u003eThe same parameter must be updated across hundreds of Revit or SolidWorks files.\u003c/li\u003e\n\u003cli\u003eLegacy AutoCAD VBA or VB6 plugins need to run on the current platform.\u003c/li\u003e\n\u003cli\u003eA commercial plugin needs to ship to the Autodesk App Store.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"engineering-calculation\"\u003eEngineering calculation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTunnel section calculations are still done on paper.\u003c/li\u003e\n\u003cli\u003eHVAC load calculation tools the engineering team can trust.\u003c/li\u003e\n\u003cli\u003eHeat exchanger tube sheets designed manually, costing days per project.\u003c/li\u003e\n\u003cli\u003eGas or process piping isometrics drawn by hand with recurring errors.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"cloud--integration\"\u003eCloud \u0026amp; integration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRevit or AutoCAD operations need to run server-side without per-user desktop licenses.\u003c/li\u003e\n\u003cli\u003eModels live in ACC, but downstream processes still assume local storage.\u003c/li\u003e\n\u003cli\u003eCAD data needs to be exposed via a REST API.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"web--backend\"\u003eWeb \u0026amp; backend\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA legacy ASP.NET application has become slow and fragile.\u003c/li\u003e\n\u003cli\u003eA real-time dashboard sourced directly from CAD or BIM systems.\u003c/li\u003e\n\u003cli\u003eShort-term technical lead — someone who has shipped this kind of work before.\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr\u003e\n\u003ch2 id=\"what-i-build\"\u003eWhat I build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFor CAD desktops.\u003c/strong\u003e\u003c/p\u003e","title":"Services"},{"content":"Measuring multiple lines, polylines, and arcs in AutoCAD can be a repetitive task. Manually summing their lengths is not only time-consuming but also prone to errors.\nTo solve this, CodeHaks TotalLength offers a simple, dedicated interface to automate this process. It\u0026rsquo;s a lightweight add-on designed specifically for AutoCAD 2024 and 2025.\nWhat is CodeHaks TotalLength? CodeHaks TotalLength is an open-source AutoCAD plugin that calculates the total length of selected objects (lines, polylines, arcs) instantly. It provides a clean UI to filter object types, view the object count, and get the aggregated length — all with a few clicks.\nKey features Object filtering — select specific types (Lines, Polylines, Arcs) or all at once. Instant calculation — displays the total length of the selected set immediately. Object count — shows how many objects were counted in the selection. User-friendly interface — a simple, non-intrusive window that keeps you productive. Easy command — launch the tool using the ZLen command. Installation \u0026amp; setup Download the release. Go to the Releases section and download the latest .zip file. Extract the files. Unzip to a permanent location. Load the plugin in AutoCAD. Open AutoCAD 2024 or 2025. Type NETLOAD and press Enter. Browse and select CodeHaks.TotalLength.dll. Run the tool. Type ZLen and press Enter — the main window appears. How to use In the Object Types panel, check the boxes for the types to include (e.g., Lines and Polylines). Click Select Objects. In the AutoCAD drawing area, select the desired objects and press Enter. The Total Length panel instantly displays the total length and object count. Why use this plugin? Accuracy — eliminates manual calculation errors. Speed — cuts the time spent on quantity takeoffs or material estimations. Free \u0026amp; open source — MIT-licensed, contributions welcome. Requirements AutoCAD versions: 2024 or 2025 .NET Framework: 4.8 or later Get involved The project is actively maintained at github.com/codehaks/acad-TotalLength. Report issues, suggest features, or open a pull request.\nStreamline your AutoCAD measurements today with CodeHaks TotalLength.\n","permalink":"https://codehaks.github.io/posts/cad/calculate-total-length-in-autocad/","summary":"\u003cp\u003eMeasuring multiple lines, polylines, and arcs in AutoCAD can be a repetitive task. Manually summing their lengths is not only time-consuming but also prone to errors.\u003c/p\u003e\n\u003cp\u003eTo solve this, \u003cstrong\u003eCodeHaks TotalLength\u003c/strong\u003e offers a simple, dedicated interface to automate this process. It\u0026rsquo;s a lightweight add-on designed specifically for \u003cstrong\u003eAutoCAD 2024 and 2025\u003c/strong\u003e.\u003c/p\u003e","title":"Calculate Total Length in AutoCAD with CodeHaks TotalLength"}]