Skip to main content

QSketchMetric logo

CI Documentation Status codecov PyPI - Downloads License: MIT PyPI Python 3 Checked with mypy

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

Demo GIF

⚙️ 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...

success error

🎯 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 using INSERT 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!

GitHub Contributors Image

Metadata

Release files for qsketchmetric 1.7.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for qsketchmetric 1.7.2
File Size Uploaded Provenance Actions
qsketchmetric-1.7.2.tar.gz 17.8 kB Without provenance Details for qsketchmetric-1.7.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for qsketchmetric 1.7.2
File Interpreter ABI Platform Actions
qsketchmetric-1.7.2-py3-none-any.whl Python 3 none any Details for qsketchmetric-1.7.2-py3-none-any.whl

Total release size: 35.5 kB

Release files / qsketchmetric-1.7.2.tar.gz

Download URL qsketchmetric-1.7.2.tar.gz
Size 17.8 kB
Tags Source
SHA-256 checksum
How to use checksums
75ad8b17931c393e98119accf078d46a25f5b1a8545d646cabb668299cde9fba
BLAKE2b-256 checksum
How to use checksums
909167d48ec5a6d7821c5c85e97b36fe9e9f7db6e05ca4a05a1970349d146f5b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.9.19

Release files / qsketchmetric-1.7.2-py3-none-any.whl

Download URL qsketchmetric-1.7.2-py3-none-any.whl
Size 17.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7d1378b5b3aa5b401b959280cd957c8bab76b5c1730a6fd0225328e4d409fe1c
BLAKE2b-256 checksum
How to use checksums
d57fdc0b1ca97fc22b1adc35ed1ae18a57578887f9574f258a1dc3a8b8c5a276
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.9.19

Security for qsketchmetric 1.7.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page