Skip to main content

Drawing tool that produces floor plans needed to renovate an apartment

Project description

Build Status Maintainability PyPI version

Renovation

Overview

This is a drawing tool that produces floor plans. It is controlled through YAML config files and has no built-in GUI (only CLI is provided). Although it may look like a drawback, people with technical background may find it more convenient. Compared with drag-and-drop tools, config-based interface:

  • simplifies fine-grained control
  • allows versioning projects with VCSs like Git
  • does not require any special MCPs for drawing with AI agents

The below figure demonstrates available elements.

individual_elements.png

Some other elements can be composed of them. For example, in the next section it is shown how to draw ventilation duct and French balcony.

Usage

To install a stable version, run:

pip install renovation

To generate floor plans, run:

python -m renovation -c /path/to/config.yml

Here, config in YAML is a custom file where properties of each element to be drawn are set. These properties include location, orientation, size, and so on.

Let us dive into details. Please look at a demo example as a reference while reading further explanations.

The section named project defines properties of output such as:

  • Extension (multi-page PDF document, directory with PNG images, or both)
  • Location
  • DPI (dots-per-inch, resolution)

In the demo config, only PNG output is requested and one of the generated images is shown below:

floor_plan_with_dimensions.png

In the section named default_layout, below parameters are set for floor plans that do not override them in their layout sections:

  • Dimensions of area to be drawn (in real-world meters, i.e., meters prior to scaling)
  • Scale
  • Grid settings

The section named reusable_elements is designed to store arbitrary collections of elements that can be used by individual floor plans. Demo example uses it to define walls, windows, and doors.

Finally, settings of individual floor plans are listed. These settings might include:

  • Title
  • Layout
  • Names of element collections to reuse
  • Extra elements

You may notice that the first demo config is quite low-level. Everything is set independently. However, the package provides a way to anchor an object to other objects. To get more insights, look at this demo example and an image rendered with it.

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

renovation-0.2.0.tar.gz (16.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

renovation-0.2.0-py3-none-any.whl (20.8 kB view details)

Uploaded Python 3

File details

Details for the file renovation-0.2.0.tar.gz.

File metadata

  • Download URL: renovation-0.2.0.tar.gz
  • Upload date:
  • Size: 16.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for renovation-0.2.0.tar.gz
Algorithm Hash digest
SHA256 7d29e0bcf54024de8fea65bac6414df93124ff398aea5858c3d1dfd4f425e0f9
MD5 5b4b5959e0e3fbc9ebcefae381c333ab
BLAKE2b-256 0c735d2133809e328763c1a50051e0c79cab6e5f646f6325fa778745f4add7a6

See more details on using hashes here.

File details

Details for the file renovation-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: renovation-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 20.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for renovation-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f498a8a95b1db161141d0a4b1eb18148fb24cd7b8f507fa3a4b5d93d8fc93a52
MD5 07c394af5e64f17c55f5cbe9d8fcfcea
BLAKE2b-256 2d3cb8c8d084875b457c66b139d9440cf5e9e0d2c13e2ed8e0901222d04eb699

See more details on using hashes here.

Supported by

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