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

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
qsketchmetric-1.7.2.tar.gz 17.8 kB Details

Built distribution (wheel)

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

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

Release history Release notifications | RSS feed

This release

1.7.2 This release

2 release files

1.7.1

2 release files

1.6.15

2 release files

1.6.14

2 release files

1.6.13

2 release files

1.6.12

2 release files

1.6.11

2 release files

1.6.10

2 release files

1.6.9

2 release files

1.6.8

2 release files

1.6.7

2 release files

1.6.6

2 release files

1.6.5

2 release files

1.6.4

2 release files

1.6.3

2 release files

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