Skip to main content

BatchPlan

About

BatchPlan as a robust large-scale floor plan extraction tool designed to be highly customizable, extensible, and pluggable in various capacities. The design decisions are meticulously crafted, particularly for the processing of extensive BIM data stored in IFC files.

Installation

BatchPlan is dependent to pythonocc-core which is curretly only available as conda package. Thus we need to create a conda environment as follows:

First we need to copy environment.yml to your machine and run the following command to create the environment with needed dependencies:

conda env create -f environment.yml

Now we need to install BatchPlan. There is two ways:

  1. Building from source (recommended):
git clone https://github.com/byildiz/BatchPlan.git
cd BatchPlan
pip install .
  1. Installing with pip:
pip install BatchPlan

Usage

Extract Floor Plan

extract_floor_plans module is used to extract floor plans.

% python -m batchplan.extract_floor_plans --help
usage: extract_floor_plans.py [-h] [--output OUTPUT] [--use-storey] [--load-plugin] [--formatter FORMATTER] [--filter-fn FILTER_FN] [--filter FILTER] [--color-fn COLOR_FN] [--skip-colorless]
                              [--width WIDTH] [--height HEIGHT]
                              ifc_paths

positional arguments:
  ifc_paths

options:
  -h, --help            show this help message and exit
  --output OUTPUT       output directory
  --use-storey          use IfcBuildingStorey elements to infer floors
  --load-plugin         load plugin module (plugin.py)
  --formatter FORMATTER
                        selected formatters
  --filter-fn FILTER_FN
                        filter function for filter out elements
  --filter FILTER       filter string to filter aout elements using IfcOpenShell's builtin filtering feature
  --color-fn COLOR_FN   color function to determine elements' colors in floor plan
  --skip-colorless      skip elements if the color function doesn't return a color for an element
  --width WIDTH         floor plan width
  --height HEIGHT       floor plan height

Extract floor plans in PNG format

python -m batchplan.extract_floor_plans examples/data/Shependomlaan/IFC\ Schependomlaan.ifc --output output

After the above command successfully runs, an output directory will be created with the following structure and content:

output
└── IFC Schependomlaan
    ├── -1 fundering_3D.png
    ├── -1 fundering_floor_plan.png
    ├── 00 begane grond_3D.png
    ├── 00 begane grond_floor_plan.png
    ├── 01 eerste verdieping_3D.png
    ├── 01 eerste verdieping_floor_plan.png
    ├── 02 tweede verdieping_3D.png
    ├── 02 tweede verdieping_floor_plan.png
    ├── 03 derde verdieping_3D.png
    ├── 03 derde verdieping_floor_plan.png
    └── 3D.png

Extract floor plans in WTK format

python -m batchplan.extract_floor_plans examples/data/Shependomlaan/IFC\ Schependomlaan.ifc --formatter FloorWKTFormatter --output output

After the above command successfully runs, an output directory will be created with the following structure and content:

output
└── IFC Schependomlaan
    ├── -1 fundering.csv
    ├── 00 begane grond.csv
    ├── 01 eerste verdieping.csv
    ├── 02 tweede verdieping.csv
    ├── 03 derde verdieping.csv
    └── 3D.png

Mark Floors

mark_loors module is used to mark floors and save them in csv file.

% python -m batchplan.mark_floors --help
usage: mark_floors.py [-h] [--use-storeys] root

positional arguments:
  root

options:
  -h, --help     show this help message and exit
  --use-storeys  pre-fill floors using IfcBuildingStorey elements

Example usage:

python -m batchplan.mark_floors --use-storeys examples/data/Shependomlaan

If you run the above command, you will see a GUI like the one below:

mark_floors

Known Issues and Limitations

  • There is memory leakage which makes processing huge projects hard.
  • BatchPlan currently can't run on a machine without a GUI environment.

Release files for BatchPlan 0.1.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 BatchPlan 0.1.2
File Size Uploaded
batchplan-0.1.2.tar.gz 9.4 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for BatchPlan 0.1.2
File Interpreter ABI Platform
BatchPlan-0.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
BatchPlan-0.1.2-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
BatchPlan-0.1.2-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details

Total release size: 57.9 MB

Release files / batchplan-0.1.2.tar.gz

Download URL batchplan-0.1.2.tar.gz
Size 9.4 MB
Tags Source
SHA-256 checksum
How to use checksums
2052ea4e7c0a8106ab4954e7b890dda1025c246298075d2e36cdd7c2b21e0c88
BLAKE2b-256 checksum
How to use checksums
e9a6f2340ba0899b6ec2adf0ccbd444570dd890929c980c8d0b52f283d8a0310
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / BatchPlan-0.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL BatchPlan-0.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 17.2 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
f6bd1ccd88021b0d2241daf80119686f2972cc254cc34235880f9037235c6073
BLAKE2b-256 checksum
How to use checksums
a3be06458d6a1a535c6ae3a972e8e02556077ab6fbc1fc1436eff4f17ff35e3d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / BatchPlan-0.1.2-cp310-cp310-macosx_11_0_arm64.whl

Download URL BatchPlan-0.1.2-cp310-cp310-macosx_11_0_arm64.whl
Size 15.0 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
bcae0d685f6da14c42c71a4de37523a90dc219f108823512596cbfe4901e8d77
BLAKE2b-256 checksum
How to use checksums
a5bdfe1ff7128071dd4aa750df0ad5b0d28d6a27e6db0c1b8aa27eee6d719ccf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / BatchPlan-0.1.2-cp310-cp310-macosx_10_9_x86_64.whl

Download URL BatchPlan-0.1.2-cp310-cp310-macosx_10_9_x86_64.whl
Size 16.4 MB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
d91204d86beb6396ac0075e5b16bd9ad0d100810e3f95aedd439900dbdea2a3d
BLAKE2b-256 checksum
How to use checksums
f57c17a3622f746236d51db1a82ca3ab0b46e86ba02334caa996580640e63adc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

0.1.2 This release

4 release files

0.1.1

4 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