Coder Social home page Coder Social logo

Comments (7)

ksobon avatar ksobon commented on June 12, 2024

Mhmmm there is this method in Revit API: Document.NewRoom (Room, PlanCircuit).

Honestly I have never used a Plan Circuit class but it seems like its an enumerable object. The only question is how will i know which plan circuit is which area exactly. We might need to devise a method for checking if such circuit contains a point. Using a point and an existing unplaced room would be best for user experience. This seems like it will be an issue because Circuit class doesnt have any geometrical properties. It doesnt have boundaries or anything like that. It might have to be something like this:

get all circuits
for circuit in circuits:
place room into this circuit
retrieve new room bounding box
check if points is contained within
if true commit
else:
rollback

Ideas?

from clockworkfordynamo.

andydandy74 avatar andydandy74 commented on June 12, 2024

Actually I want to place unbounded rooms. A friend has 1000+ rooms in a project that were imported from Excel and placing them via the room dropdown in the Revit UI is not feasable as it involves too much scrolling. Now he just wants to place them in a grid next to the building on their respective levels with some tags so the users can just drag them to the correct locations. We may end up either removing all unplaced rooms and placing them directly from Excel or collect all unplaced rooms, gather their respective attributes, delete them all and place new rooms using Julien's node.
And I must confess I had never heard of plan circuits before today.

from clockworkfordynamo.

jbenoit44 avatar jbenoit44 commented on June 12, 2024

I did use plan circuit once. Let me have a quick look.

Julien BENOIT

Le 12 mars 2015 à 15:27, Andreas Dieckmann [email protected] a écrit :

Actually I want to place unbounded rooms. A friend has 1000+ rooms i a project that were imported from Excel and placing them via the room dropdown in the Revit UI is not feasable as it involves too much scrolling. Now he just wants to place them in a grid next to the building on their respective levels with some tags so the users can just drag them to the correct locations. We may end up either removing all unplaced rooms and placing them directly from Excel or collect all unplaced rooms, gather their respective attributes, delete them all and place new rooms using Julien's node.
And I must confess I had never heard of plan circuits before today.


Reply to this email directly or view it on GitHub.

from clockworkfordynamo.

jbenoit44 avatar jbenoit44 commented on June 12, 2024

I check an have a node that creates rooms for each Plancircuit. Plancircuit is a topology in a level than can host a room.
If you want to create unbounded rooms, it must be done with method NewRoom(level,UV) if I remember well. UV is a place on a grid.
Plancircuit could be useful but as Konrad said not sure we can get location or geometry from it.

Julien BENOIT

Le 12 mars 2015 à 15:27, Andreas Dieckmann [email protected] a écrit :

Actually I want to place unbounded rooms. A friend has 1000+ rooms i a project that were imported from Excel and placing them via the room dropdown in the Revit UI is not feasable as it involves too much scrolling. Now he just wants to place them in a grid next to the building on their respective levels with some tags so the users can just drag them to the correct locations. We may end up either removing all unplaced rooms and placing them directly from Excel or collect all unplaced rooms, gather their respective attributes, delete them all and place new rooms using Julien's node.
And I must confess I had never heard of plan circuits before today.


Reply to this email directly or view it on GitHub.

from clockworkfordynamo.

ksobon avatar ksobon commented on June 12, 2024

Andreas, your friend will have to back up a little bit. Create rooms from excel with method that julien mentioned. The gist of it is that you will create a new room with juliens advice so then capture it and assign name/properties from excel. Should be easy.

from clockworkfordynamo.

jbenoit44 avatar jbenoit44 commented on June 12, 2024

PC has Area property. Could be use to check program and create room type accordingly.
Or one can create rooms to PC, collect room location, and use this to place rooms from outside.

Thoughts?

Julien BENOIT

Le 12 mars 2015 à 15:27, Andreas Dieckmann [email protected] a écrit :

Actually I want to place unbounded rooms. A friend has 1000+ rooms i a project that were imported from Excel and placing them via the room dropdown in the Revit UI is not feasable as it involves too much scrolling. Now he just wants to place them in a grid next to the building on their respective levels with some tags so the users can just drag them to the correct locations. We may end up either removing all unplaced rooms and placing them directly from Excel or collect all unplaced rooms, gather their respective attributes, delete them all and place new rooms using Julien's node.
And I must confess I had never heard of plan circuits before today.


Reply to this email directly or view it on GitHub.

from clockworkfordynamo.

andydandy74 avatar andydandy74 commented on June 12, 2024

I always find it very frustrating when functionality that is available in the UI isn't exposed in the API. They've added a lot of stuff in recent years but there's still lots of functionality we can't use programmatically.
In this specific project some rooms have been placed already, so we can't start from scratch with a full Excel import. So it's probably going to be deleting all unplaced rooms and then doing a filtered import of only those rooms that aren't present in the project yet. I would have liked to re-use the rooms that are already present in the model (no new IDs), but since the rooms haven't been placed yet there's no harm in deleting them anyway. Thanks for your thoughts, guys.

from clockworkfordynamo.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.