Skip to main content

Python 2D parametric DXF rendering engine.

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qsketchmetric-1.7.1.tar.gz (17.7 kB view details)

Uploaded Source

Built Distribution

qsketchmetric-1.7.1-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

File details

Details for the file qsketchmetric-1.7.1.tar.gz.

File metadata

  • Download URL: qsketchmetric-1.7.1.tar.gz
  • Upload date:
  • Size: 17.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for qsketchmetric-1.7.1.tar.gz
Algorithm Hash digest
SHA256 720ecc79477c29f55087b3e3828914b9002ac8c42bd9805e3160efcc6311a350
MD5 47f57645853e7132d1b7702a1f123df3
BLAKE2b-256 dafbc2a6d4a3cea79d13bc6670394cb65f1cf3746256043e755c78b3707d6ed8

See more details on using hashes here.

File details

Details for the file qsketchmetric-1.7.1-py3-none-any.whl.

File metadata

File hashes

Hashes for qsketchmetric-1.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b519772d0c30d968a408810fd553fc63dba17dbc20cb54d1115729fc0292dd99
MD5 7b52395c2ef7032cfd331beb1c9e5dd4
BLAKE2b-256 237c1d5ea68b12eb94e924caf770df17fb0299cb5b17470b6a4c555151630adf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page