Schematic2D

a fully interactive canvas that provides tools to produce professional-looking schematic diagrams.
69 Downloads
Updated Tue, 13 Sep 2022 21:21:33 +0000

This is a MATLAB implementation of a drawing canvas which provides the tools needed to create professional-looking diagrams. The motivation of creating such a tool arose from the frustration of finding a suitable software that a) is simple to use (in the sense of containing no frills, just the absolute essential) and b) has the ability to have absolute control over the image output.

For this purpose, I have proposed a hybrid workflow in which creation-efforts can be shared by a combination of user-interaction with the canvas ( meaning, user creates the diagram interactively) and code-based editing work (users are able to manuipulate the underlying objects and modify their properties).

The implementation uses MATLAB's OOP and can be called from the command window by creating the Schematic2D object. Note if no input argument is passed to the constructor, the canvas will create a master folder on MATLAB's userpath to store the data. Moreover, three associated folders will also be created. These are used to store the auto-generated MATLAB function scripts, script-generated data and image output.

The main mode of interaction is with a series of keyboard presses, which serve to activate the various commands on the canvas. To see what these commands are, user can bring forth the 'key' pushbutton located at the top of the canvas. In addition of checking the various assigned keys, one can also remap those keys to meet their needs. However, care should be exercised to avoid duplicating keys for the same command.

In addition to the basic figure creation tools, the class also offers an image-digitising module, which include automated line tracing (note the algorithm used differs from that of 'DataThief', we used a combination of Gaussian weigthed function and linear regression to update the search direction. The end result is a simple and efficient routine that performs comparably in most situation).

Cite As

Ling Fang Cao (2024). Schematic2D (https://github.com/LingFCao/Schematic2D), GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2019b
Compatible with R2018b to R2019b
Platform Compatibility
Windows macOS Linux
Categories
Find more on Interactive Control and Callbacks in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

@AbstractSchematicComponent

@GUIOUTPUT

@GeneralManager

@Schematic2D

@SchematicCircle

@SchematicDestroyEventData

@SchematicImageProcessor

@SchematicImageProcessorHelper

@SchematicKeyMap

@SchematicLine

@SchematicShape

auxiliary

Versions that use the GitHub default branch cannot be downloaded

Version Published Release Notes
1.0.0

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.