sunil-sopho / Cop290

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Engineering Drawing software

This repository contains the mathematical model, documentation, functional descriptions and source files of the Engineering Drawing as a part of COP290 Course at IIT Delhi.
Team Members: Anubhav Palway (2016CS10368), Sunil Kumar (2016CS10314).

Aim

Design and implement a software package for Engineering drawing with the following functionalities:

  • We should be able to interactively input or read from a file either
    i) an isometric drawing and a 3D object model or
    ii) projections on to any cross section.
  • Given the 3D model description we should be able to generate projections on to any cross section or cutting plane.
  • Given two or more projections we should be able to interactively recover the 3D description and produce an isometric drawing from any view direction.

How to use:

Input Format:

  • To Draw the 3d object:

    • Press n.
    • Press 'u' for positive x-axis and 'j' for negative x-axis.
    • Press 'i' for positive y-axis and 'k' for negative y-axis.
    • Press 'o' for positive z-axis and 'l' for negative z-axis.
  • Using text file:

    • To generate projections from 3d object:
      • First line gives type i.e, zero for 3d to 2d
      • Next line gives n, number of shapes.
      • Next n lines gives the points for basic shapes in the following format:
        Basic shapes include point(1), line(2), triangle(3) and quadrilateral(4)
        First the number of points according to the shape and then the x,y,z coordinates.
        E.g.- 3 (1,1,0) (0,0,0) (0,1,0) //This is for a triangle
    • To generate 3d object from 2d projections:
      • First line gives type i.e., one for 2d to 3d
      • Next line gives n, number of points for top projections.
      • Next n lines gives the points (x,y,z coordinates with spaces in between them)
      • Next line contains e, number of the edges in top projection.
      • Next e line should contain 2 integers, i, j, denoting an edge between vertex i and vertex j as per the order of input of vertices (order starting from 0)
  • Executing the code:

    cd Cop290/codes/src/
    
    make
    

    Without any file

    ./cadmake 
    

    With File

    ./cadmake <input.txt>
    
  •   Additional Commands: </br>
      't' to save.
      'w' to zoom out.
      's' to zoom in. 
      Arrow keys to rotate.
      'x' and 'y' to reset x and y rotation respectively.
    

About


Languages

Language:C 96.8%Language:C++ 2.9%Language:Objective-C 0.3%Language:Makefile 0.0%