Python 2D parametric DXF rendering engine.
Project description
QSketchMetric is a Python 2D parametric DXF CAD rendering engine. Parametrization is done using QCAD Professional software
⚡️ Quickstart
from qsketchmetric.renderer import Renderer
from ezdxf import new
from ezdxf import units
output_dxf = new()
output_dxf.units = units.MM
input_parametric_dxf_path = 'tutorial.dxf'
input_variables = {"h": 50}
renderer = Renderer(input_parametric_dxf_path, output_dxf,
variables=input_variables)
renderer.render()
output_dxf.saveas('tutorial_rendered.dxf')
📷 Demo showcase
⚙️ Installation
The most common case is the installation by pip package manager:
pip install qsketchmetric
📐 DXF Parametrization
Parametrization is done using QCAD Professional software. You can download the free trial version of the software and use it for parametrization of your DXF files. We need to use it because it is the only software that supports adding custom data to DXF entities. See docs to learn more...
✅ QSketchMetric Validator
To verify the proper parametrization of a DXF file during parametrization process, use the QSketchMetric Validator. It is a web application that allows you to upload DXF file and check if it is properly parametrized. In the event of an error, the app will give you full debug report. Including place where the error occurred in the DXF file and the error message. See docs to learn more...
🎯 Features
- Parametric DXF rendering
- Easy dxf files parametrization using QCAD Professional software
- Explicit support for parametrization of
LINE
,CIRCLE
,ARC
,POINT
entities - Support for parametrization of
LWPOLYLINE
,POLYLINE
,SPLINE
,ELLIPSE
,MTEXT
,TEXT
etc. entities usingINSERT
entity. - Open source and daily maintained
📚 Documentation
Documentation is available at QSketchMetric docs
📈 Roadmap
Explicit support for more entities is planned in the future. If you have any suggestions, please create an issue. If you want to contribute, see How to contribute section in the documentation. I am open to any suggestions and waiting for your pull requests!
⚠️ License
QSketchMetric is licensed under the MIT license. When using the QSketchMetric in your open-source project I would be grateful for a reference to the repository.
🏆 Hall of fame
This project exists thanks to all the people who contribute. Thank you!
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
File details
Details for the file qsketchmetric-1.7.2.tar.gz
.
File metadata
- Download URL: qsketchmetric-1.7.2.tar.gz
- Upload date:
- Size: 17.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75ad8b17931c393e98119accf078d46a25f5b1a8545d646cabb668299cde9fba |
|
MD5 | bc2d5d5ab771688c07f26cfe7c35fec9 |
|
BLAKE2b-256 | 909167d48ec5a6d7821c5c85e97b36fe9e9f7db6e05ca4a05a1970349d146f5b |
File details
Details for the file qsketchmetric-1.7.2-py3-none-any.whl
.
File metadata
- Download URL: qsketchmetric-1.7.2-py3-none-any.whl
- Upload date:
- Size: 17.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d1378b5b3aa5b401b959280cd957c8bab76b5c1730a6fd0225328e4d409fe1c |
|
MD5 | e16e533c824e9fb11c4b8366303b8cef |
|
BLAKE2b-256 | d57fdc0b1ca97fc22b1adc35ed1ae18a57578887f9574f258a1dc3a8b8c5a276 |