Skip to content

The "JS-Coord-Finder" is a dynamic web application designed to demonstrate the capabilities of the Three.js library in creating and manipulating a 3D scene. It allows users to interact with a 3D plane, adding and removing objects, calculating coordinates in real-time, and dynamically drawing and measuring shapes like lines and triangles.

Notifications You must be signed in to change notification settings

shliamin/JS-Coord-Finder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

54 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

3D CAD Designer - Professional Drawing & Measurement Tool

Version License Three.js

A comprehensive, professional-grade 3D CAD application built with Three.js for architects, engineers, designers, and anyone who needs precise 2D/3D drawing and measurement capabilities directly in the browser.

3D CAD Designer Screenshot

โœจ Key Features

๐ŸŽจ Professional Drawing Tools

  • Point Tool - Place precise points with coordinates
  • Line Tool - Draw lines with real-time length calculation
  • Polygon Tool - Create complex polygons with area and perimeter measurement
  • Circle Tool - Draw circles with radius and area calculation
  • Rectangle Tool - Create rectangles with dimensions and area calculation

๐Ÿ“ Advanced Measurement System

  • Real-time Coordinate Display - Live cursor position tracking
  • Automatic Calculations - Length, area, perimeter measurements
  • Total Statistics - Cumulative measurements across all objects
  • Object Properties Panel - Detailed information for selected objects

๐Ÿ—๏ธ Professional CAD Features

  • Layer Management - Organize objects in multiple layers with visibility controls
  • Grid Snapping - Precise positioning with customizable grid size
  • Undo/Redo System - Full history management (50 steps)
  • Multi-format Export - JSON, CSV, and high-quality PNG export
  • Project Save/Load - Complete project persistence

๐ŸŽฏ User Experience

  • Modern Dark UI - Professional interface optimized for extended use
  • Keyboard Shortcuts - Efficient workflow with hotkeys
  • Real-time Preview - Live preview while drawing
  • Responsive Design - Works on desktop, tablet, and mobile

๐Ÿš€ Quick Start

  1. Clone or Download the repository
  2. Open index.html in a modern web browser
  3. Start Drawing - Select a tool and click on the canvas
  4. Explore Features - Use the sidebar panels and toolbar

No installation required! The application runs entirely in the browser.

๐ŸŽฎ Controls & Shortcuts

Navigation

  • Mouse Drag - Rotate view
  • Mouse Wheel - Zoom in/out
  • Right Click + Drag - Pan view

Drawing Tools (Keyboard Shortcuts)

  • P - Point Tool
  • L - Line Tool
  • G - Polygon Tool
  • C - Circle Tool
  • R - Rectangle Tool

Actions

  • Ctrl+Z - Undo
  • Ctrl+Y / Ctrl+Shift+Z - Redo
  • Ctrl+S - Save Project
  • Ctrl+O - Load Project
  • Ctrl+E - Export Project
  • Delete - Delete Selected Objects
  • Escape - Cancel Current Drawing

Drawing Workflow

  1. Point Tool - Single click to place points
  2. Line Tool - Click start point, then end point
  3. Polygon Tool - Click to add vertices, click near start point to close
  4. Circle Tool - Click center, then click edge to set radius
  5. Rectangle Tool - Click one corner, then opposite corner

๐Ÿข Professional Use Cases

Architecture & Construction

  • Floor Plan Sketching - Quick layout creation with precise measurements
  • Site Planning - Plot boundaries and building positions
  • Area Calculations - Instant room and building area calculations

Engineering & Design

  • Technical Drawings - Precise geometric constructions
  • Measurement Verification - Validate dimensions and proportions
  • Design Iteration - Rapid prototyping with undo/redo

Education & Training

  • Geometry Teaching - Interactive geometric construction
  • CAD Training - Introduction to CAD concepts
  • STEM Projects - Mathematical and engineering projects

๐Ÿ”ง Technical Specifications

Built With

  • Three.js 0.160.0 - 3D graphics and rendering
  • Modern JavaScript (ES6+) - Object-oriented architecture
  • CSS Grid & Flexbox - Responsive layout system
  • Font Awesome Icons - Professional iconography

Browser Support

  • Chrome 80+
  • Firefox 74+
  • Safari 13.1+
  • Edge 80+

Performance

  • 60 FPS rendering on modern hardware
  • Efficient memory management with automatic cleanup
  • Responsive on mobile devices

๐Ÿ“Š Features Comparison

Feature Basic Version Professional Version (This)
Drawing Tools Points only 5 comprehensive tools
Measurements Basic coordinates Full measurement suite
UI/UX Simple overlay Professional interface
Export None JSON, CSV, PNG
Project Management None Save/Load projects
Undo/Redo None 50-step history
Layer System None Multi-layer support
Grid Snapping None Configurable precision
Keyboard Shortcuts None Full hotkey support

๐ŸŽฏ Roadmap & Future Features

Version 2.1 (Planned)

  • Object selection and editing
  • Dimension annotations
  • Advanced geometric constraints
  • Import from DXF/SVG files

Version 2.2 (Planned)

  • 3D drawing tools (boxes, spheres, cylinders)
  • Material and texture support
  • Animation and presentation mode
  • Collaborative editing features

Version 3.0 (Vision)

  • Cloud project storage
  • Real-time collaboration
  • Plugin system
  • Advanced rendering options

๐Ÿค Contributing

We welcome contributions! This project is perfect for:

  • Students learning web development and Three.js
  • Professionals needing CAD functionality in web apps
  • Open Source Enthusiasts interested in graphics programming

Development Setup

# Clone the repository
git clone [repository-url]
cd 3d-cad-designer

# Open in your favorite editor
# No build process required!

# Serve locally (optional)
python -m http.server 8000
# or
npx serve .

๐Ÿ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

  • Three.js Community - For the amazing 3D library
  • Font Awesome - For the professional icons
  • Original Creator - Efim Shliamin for the initial concept
  • Modern Web Standards - Making complex 3D graphics accessible

๐Ÿ“ž Support

  • Documentation - This README covers all features
  • Issues - Report bugs via GitHub issues
  • Feature Requests - Suggest improvements via GitHub discussions

Transform your ideas into precise digital drawings with 3D CAD Designer - The future of browser-based CAD is here! ๐ŸŽจโœจ

About

The "JS-Coord-Finder" is a dynamic web application designed to demonstrate the capabilities of the Three.js library in creating and manipulating a 3D scene. It allows users to interact with a 3D plane, adding and removing objects, calculating coordinates in real-time, and dynamically drawing and measuring shapes like lines and triangles.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •