Skip to main content

Description

The project simplifies data extraction from Revit model in ACC using the Model Derivative API. Leveraging powerful Python libraries, it enables efficient visualization and analysis of Revit data. The api released long time but quite complex and hard to use, this is library to help you access with easier way.

Installation

pip install revit_meows --upgrade

Requirements

  • Python 3.9+

  • Setting Environment Variables, see Tutorial Create an App

APS_CLIENT_PKCE_ID=your_client_id
APS_CLIENT_ID=your_client_id
APS_CLIENT_SECRET=your_client_secret

Simple Usage

  • Get All Categories
from revit_meows import APSRevit
from aps_toolkit import Auth

token = Auth().auth3leg()
urn = "<urn of item version>"
revit_meows = APSRevit(urn, token)
categories = revit_meows.get_all_categories()
print(categories)
  • Export All Revit Data To CSV
from revit_meows import APSRevit
from aps_toolkit import Auth

token = Auth().auth3leg()
urn = "<urn of item version>"
revit_meows = APSRevit(urn, token, region="US")
df = revit_meows.get_all_data()
df.to_csv("revit_data.csv")
  • Export All Data Include Boundingbox To CSV
from revit_meows import APSRevit
from aps_toolkit import Auth

token = Auth().auth3leg()
urn = "<urn of item version>"
revit_meows = APSRevit(urn, token, region="US")
df = revit_meows.get_all_data_bbox(project_id="<project_id>", 
                                   model_guid="<model_guid>", 
                                   is_field_param=False,
                                   is_include_category=True)
df.to_csv("revit_data_bbox.csv")

Explore more in the Examples.

Features

  • Get All Revit Categories
  • Get Revit Data By Categories
  • Get All Revit Data From Model In ACC
  • Get Bounding Box of Revit Element data

Development Usage

pip install -e .

License

This project is licensed under the Apache License - see the LICENSE file for details.

Contributing

This is project just research in my free time and don't have any power to keep it up to date. If you want to contribute, please feel free to fork and submit a pull request.

Learning Resources

Q&A

How can I get URN input?
  1. You can use aps-toolkit library to get URN of the item latest version.
from aps_toolkit import *

token = Auth().auth2leg()
bim360 = BIM360(token)
urn = bim360.get_latest_derivative_urn("<project_id>", "<folder_id>")
  1. You can batch report urn to dataframe from BIM360 class in aps-toolkit library.
from aps_toolkit import BIM360
from aps_toolkit import Auth

token = Auth().auth3leg()
bim360 = BIM360(token)
df = bim360.batch_report_items("<project_id>", "<folder_id>", ['.rvt'], is_sub_folder=False)
What is Meows? Oh, my girlfriend told me the cat is so cute, Meows is the sound of the cat. So, I named it.

Metadata

Release files for revit-meows 0.1.7

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

Source distribution (sdist)

Source distribution for revit-meows 0.1.7
File Size Uploaded
revit_meows-0.1.7.tar.gz 8.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for revit-meows 0.1.7
File Interpreter ABI Platform
revit_meows-0.1.7-py3-none-any.whl Python 3 none any Details

Total release size: 16.2 kB

Release files / revit_meows-0.1.7.tar.gz

Download URL revit_meows-0.1.7.tar.gz
Size 8.5 kB
Tags Source
SHA-256 checksum
How to use checksums
c18651421412d2e650280e4342c855fede3f85e1d0a94aeb2184bfc0bd5f70bf
BLAKE2b-256 checksum
How to use checksums
46e26a0d024cac9ea866717a88461bc2e5e134e19fdd9a776408bb35c0c617f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / revit_meows-0.1.7-py3-none-any.whl

Download URL revit_meows-0.1.7-py3-none-any.whl
Size 7.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8e5309086759b40a6cfdb8158d9b3172b8018d7b7918d02502d369c52bb8f568
BLAKE2b-256 checksum
How to use checksums
c1c4a1efac1f57cf7e522094ed6344ea93e0bec42d355e07d1d33bba5bdb7bc7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release history Release notifications | RSS feed

This release

0.1.7 This release

2 release files

0.1.6

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

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