Convert DGPS/Total Station survey data to professional AutoCAD DXF drawings. Built for civil engineers who need quick, accurate CAD outputs from field survey data.
| Mode | Description |
|---|---|
| 🗺️ Plot Boundaries | Convert survey points to boundary drawings with dimensions, area labels, and summary tables |
| 📈 Contour Map | Generate contour lines from elevation data with customizable intervals |
| ⛏️ Cut/Fill Volume | Calculate earthwork volumes for grading with visual cut/fill zones |
| 🏗️ Subdivision | Auto-subdivide land into plots with road layouts |
# Clone the repository
git clone https://github.com/vaibhav-2703/scad.git
cd survey-to-cad
# Create virtual environment
python -m venv .venv
# Activate virtual environment
# Windows:
.venv\Scripts\activate
# Linux/Mac:
source .venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Run the app
streamlit run app.py- Fork this repository
- Go to share.streamlit.io
- Sign in with GitHub
- Click "New app" → Select your forked repo
- Set main file path:
app.py - Click "Deploy"
Your app will be live at: https://your-username-survey-to-cad.streamlit.app
| Format | Description |
|---|---|
.DAT |
DGPS/Total Station format (Point_ID, Description, Easting, Northing, Elevation) |
.CSV |
Standard CSV with header row |
.TXT |
Text files with comma/space separated values |
Point_ID, Easting, Northing, Elevation, Description
a001, 500100.000, 2850100.000, 150.25, Corner
a002, 500150.000, 2850100.000, 150.30, Corner
a003, 500150.000, 2850150.000, 150.15, Corner
survey-to-cad/
├── app.py # Main Streamlit application
├── parsers.py # Survey data file parsers
├── utils.py # Geometry calculations & coordinate transforms
├── cad_generator_pro.py # DXF generation for plot boundaries
├── contour_generator.py # Contour map generation
├── volume_calculator.py # Cut/fill volume analysis
├── subdivision_planner.py # Land subdivision planning
├── requirements.txt # Python dependencies
├── .streamlit/config.toml # Streamlit configuration
└── LICENSE # MIT License
- Python 3.10+
- Dependencies: streamlit, pandas, numpy, scipy, ezdxf, pyproj, matplotlib
- Open the app in your browser (localhost:8501 or deployed URL)
- Select processing mode from the sidebar (Boundaries, Contour, Volume, Subdivision)
- Configure settings (scale, intervals, project details, etc.)
- Upload one or more survey files (.DAT, .CSV, .TXT)
- Click "Generate" and download your DXF files
Contributions are welcome! Feel free to:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Made with ❤️ for Civil Engineers