Interactive canvas for editing 3D geometry, using matplotlib.pyplot
Project description
xyz_canvas
Interactive canvas for editing 3D geometry, using only matplotlib.pyplot
This is a demo of xyz_canvas (pre-release, V0.3.0), a Python library intended to add, edit, and connect 3D wire-frame objects using only Matplotlib.
The idea is that this will be called by code that needs the user to define / edit these objects in 3D space.
Currently, objects consist only of lines, which may be disconnected. An object consists of one or more lines.
Pressing 'save' fires the callback with the set of added lines as an argument.
To add a line, click two points within the axis space. The view may be rotated at any time by clicking and dragging just oustide the axis space.
Known issues
Currently, when you add a line, both ends are pinned to the 'closest' backplane (shaded & gridded areas). You may add a line from one backplane to another.
I'm experimenting with ways to overcome this without making the UI clunky. The current version here achieves this by allowing line ends to be picked up (click on them) and dragged away from their plane. However, once 'dropped', if they are dropped away from all three backplanes, they can't be selected again.
More trivially, I need to add a 'delete most recent' button alongside the 'clear' (all) button.
Installation
Install with pip:
pip install xyz_canvas
Demo Screenshot
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file xyz_canvas-0.3.0.tar.gz.
File metadata
- Download URL: xyz_canvas-0.3.0.tar.gz
- Upload date:
- Size: 5.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
842490c4409eecfef22e97c18e51e717e0ff772cff0311e27aaac975dbc64d9e
|
|
| MD5 |
3aef29e5fafa66fab12a34af8a1a0bb5
|
|
| BLAKE2b-256 |
25987e3cb4c3d99811c084963814e159f58fdc6a5691ca7b9526bd04e8360864
|
File details
Details for the file xyz_canvas-0.3.0-py3-none-any.whl.
File metadata
- Download URL: xyz_canvas-0.3.0-py3-none-any.whl
- Upload date:
- Size: 5.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d631eeadbd5befb9ebaf5501047484f0275ce8e4a06a0d30d6a4e5359c7fb033
|
|
| MD5 |
25392367186c86a958d1106ac11e153d
|
|
| BLAKE2b-256 |
8968151e6740707ec126da0680373adcc3170ebf2180a16ffe839618e007fb3b
|