Giter Club home page Giter Club logo

cad_canvas's Introduction

CAD Canvas is licensed under GPLv3. See the COPYING file for details.

CAD Canvas

A 2d CAD software for note taking, creating diagrams, and making logos.

Combine the precision drawing of 2d cad programs like Fusion 360's sketching, with note taking and coloring capabilities like Notability.

An SVG editor in the style of 2d CAD.

Useful for desktop(mouse and keyboard) instead of tablets(touch).

How is it different from inkscape?

  • Faster designing because of constraints and dimensions. Things snap to where they are supposed to be.
  • Can produce dimensionally accurate logos
  • Can produce logos which have each element constrained to one another
  • Can save and re-use components
  • Run on the web

Maybe focus more on making note taking diagrams rather than making logos/icons.

  • Would probably want to include some animation capabilities.

Final Product

  • Timeline of events that can be undone.
  • Tabs for different pages
  • Close without saving warning
  • Change color of lines when fully defined
    • Have a color view and a designing view
  • When you have 2 lines on top of each other you can right click and select which line you want
  • You can never have 2 or more points in the same position. They will be automatically joined.
  • Create animations with constraints
    • Maybe not include. Feature creep
  • Can have multiple layers and hide and un-hide different layers(Maybe not include. Is it really necessary?)
    • Can move components between layers
    • Maybe not include. Feature creep
  • Supports CMYK colors for print color accuracy
  • Used to make simple logos. Not really advanced features like with inkscape.
  • (Definitely include)variables for different dimensions

Drawing tools

  • Line
  • Rectangle
  • Rounded rectangle
  • Polygon
  • Circle
  • Circular arch
  • Slot
  • Ellipse
  • Elliptical arch
  • Text
  • Point
  • Freehand
  • Catmull-Rom spline
  • Natural cubic spline
  • B-spline
  • Equation
    • Type equation and it graphs it out. Define scale, constraints in x and y

Settings for all tools

  • Construction or not
  • Line width
  • Line styling
  • Line color
  • Rounded ends

Constraints

  • Angle
    • Parallel(Don't need to include)(0, 180, or 360 degrees)
    • Perpendicular(Don't need to include)(90 or 270 degrees)
  • X-axis/Horizontal
  • Y-axis/Vertical
  • Point to line
  • Point to point
  • Tangent
  • Equality
  • Dimension between points
    • X-axis/horizontal dimension between points
    • y-axis/vertical dimension between points
    • Radius/Diameter
  • Lock(Don't allow it to be dragged around)
  • Concentric(Align center of circles)
  • Colinear(Makes 2 lines parallel and in the same position)
  • Symmetric(Makes 2 objects symmetric across a line)
  • Curvature(G2 curvature)

Operations

  • Close loop nicely
  • Close loop with line
  • Fill selected area
  • Change text to lines
  • Chamfer
  • Fillet
  • Change segment
    • Split segment
      • 1/2, 1/3, etc
    • Extend edge
    • Trim edge
  • Modify operations
    • Rotate
    • Copy
    • Move
    • Scale
    • Mirror
  • Click to background grid or not
  • Color view or design view
    • Design view allows you to see constrains, construction lines, whether lines have any degrees of freedom, and defined dimensions.
    • Color view allows you to just see the line colors and filled in areas.

Components

Components are pages you can save and then be able to use in other pages. Like reusable parts.

  • Allow for text variables that get filled out when you place the component.
    • Like Sigma notation in math

File

  • Export
    • svg, pdf, png, jpeg
  • Save(Custom file type)
  • Open
  • Import image

Settings

  • Time interval to automatically save to database
    • Whenever there is a change
  • Background color
  • Page dimensions
    • Work done on canvas dimensions, but can click to page outline.
    • Used for exporting
  • Canvas dimensions
    • Not infinite, but very large
  • Default settings for tools
    • Default line width
    • Default line styling
    • Default line color
    • Default units
    • Default lines per round segment
  • Dark and light theme

Keyboard shortcuts

Minimum Viable Product 1

  1. Draw line
  2. Select lines
  3. Constrain the angle between lines
  4. Constrain a line to the X and Y axes

line colors

  • Fully constrained: black
  • Not constrained: gray
  • Selected: blue
  • Constructed: dashed 4 4

Should be able to replicate in software

poster_example

cad_canvas's People

Contributors

ryansheehy0 avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.