I would like to test the room configuration in the office. I thought to use Refinery Space Planning Toolkit.
I have four departments (highlighted in different colours). I have also a list of rooms (rectangles) that I want to pack in a department (my container). The containers are not rectangular.
I think the Packing.PackRectangles node is working with the rectangular container. May I ask you to suggest the best approach for packing rectangles in a not regular container?
Could you please suggest to me which Dynamo package I should use to play around with room and desks layout when I change the room position or neighbourhood size?
I would be very grateful for some ideas!
First up, space planning is a wicked problem (thatâs not my Boston personality shining though, but a real thing worth a googling), and as such you could spend your entire life defining layout generation methods, with each one being better or worse in a given condition. The key is to be develop a means of doing the layout which would produce something which utilizes the logic you might; otherwise the results will be second guessed into oblivion.
Donât try and boil the ocean right away. Start by placing the neighborhoods (departments) first. Make sure this is completely flexible with changes flexible all around. Once you manage that placing the rooms becomes easier to comprehend. Isocurves on the surface can help, or just placing boxes and intersecting them with the surface of the building.
Placement of objects and elements is generally easiest to do with coordinate systems and parameterization of the âhostâ object, be it a curve, a surface, or just 3D space. This allows flexing the object being placed, the host, and the location concurrently. Look into the nodes Curve.CoordianteSystemAtParameter, Surface.CoordinateSystemAtParameter, and CoordinateSystem.Rotate. Mastering these outside of the context of a generative problem will make generative design a LOT easier to grasp.
Confirm that your precedent places rooms the way youâd want to; itâs possible (if not likely due to the many other goals they had in project Discover - what project Rediscover was based on) that this example office isnât the type youâd use at your firm, and therefore the generation method wonât make sense to you. If youâd pack rooms around the interior and/or exterior perimeter take that into account and work out how to do so. I often use a combination of Curve.Offset to find the âother wallâ of the rooms from your perimeter curve, Curve.PointAtSegmentLength to find the location of demising walls along the original or offset curve, Geometry.ClosestPointTo to find the point on the offset or original curve, Line.ByStartPointEndPoint to draw the demising walls.
Only consider desks after you have a strong understanding on how your rooms work (and remember rooms only get started after departments); if you are placing cubicles in open office consider defining ârowsâ via isocurves offsetting a REALLY BIG line defined by a origin point on the surface and a rotation value, or by using a tangent vector to a selected edge of the room. Once you have those curves you can pull coordinate systems along those edges at a consistent distance to define your desk locations. If youâre just looking to put stuff into space more randomly, consider creating coordinate systems on the surface defined by the âroomâ (Surface.CoordinateSystemAtParamter > CoordinateSystem.Rotate).
When it comes time for analysis, consider moving to the VASA package, which youâll find faster and more versatile than the analytical toolset built for Project Rediscover. The team developing VASA has incorporated and improved upon many of the capabilities exposed by the Space Analysis package, including lighting.
For other precedents, there will be some good stuff coming at AU in about a month, including a session Iâm cospeaking in with my colleague @Dieter_Vermeulen. Because itâs for a coming conference I canât share anything yet, but âHow Generative Design Can Help Optimize New Neighborhoodsâ just had a repeat session added, so if youâll be at the conference you might want to consider attending. Weâll be covering a good bit of generation stuff with indirect ties to the sort of stuff youâre after (ie; âlotsâ instead of rooms, blocks instead of âneighborhoodsâ, and âbuildingsâ instead of desks). If you wonât be there, the recordings and other content will be posted online sometime after the conference wraps up.
thank you very much for a such detailed explanation. It would be very helpful to start approaching my project.
I will start analysing your tipis:)
By the way, I checked and this session is not available for a digital pass. Unfortunately, I cannot be there in person. I will wait for the recordings after the conference.