Matt Overton Posted April 4, 2022 Share Posted April 4, 2022 (edited) Is it possible to schedule items (symbols, windows, doors, smaller spaces) by what space they are within the boundary or touching the boundary of? The more we get information in models that we want to schedule the more I realise this is the way I want to group them. Doors schedules - what spaces do they service. Bathrooms/Kitchen - modelled in 3D with each fixture a symbol - would love to schedule the fixtures by room. Apartment schedule - how big the balcony, bedroom, kitchen space associated with the apartment space. Yes realise I could have a layer per room but that when seems like double handling would be great if someone has found away to test what space the item is in. edit to note: this is post 777 Edited April 4, 2022 by Matt Overton Quote Link to comment
Christiaan Posted April 4, 2022 Share Posted April 4, 2022 (edited) I have a thread on this topic somewhere, but I can't find it. This will offer you some clues though: Edited April 4, 2022 by Christiaan 1 Quote Link to comment
markdd Posted April 4, 2022 Share Posted April 4, 2022 (edited) There is a GetSpaceNameForObj function which you can add to a worksheet that will do this. Here is a very quick example with 7 named rectangles and 2 space objects. SPace Worksheet.vwx Edited April 4, 2022 by markdd 3 Quote Link to comment
Matt Overton Posted April 5, 2022 Author Share Posted April 5, 2022 23 hours ago, markdd said: There is a GetSpaceNameForObj function which you can add to a worksheet that will do this. Here is a very quick example with 7 named rectangles and 2 space objects. SPace Worksheet.vwx Thanks This is looking very promising indeed. Quote Link to comment
Christiaan Posted May 10, 2022 Share Posted May 10, 2022 (edited) When using the GetSpaceNameForObj function, what does it mean when I get ", 1" showing up after my Space numbers in the worksheet. Edited May 10, 2022 by Christiaan further example added Quote Link to comment
Pat Stanford Posted May 10, 2022 Share Posted May 10, 2022 Show use the formula in the header row. My guess is that you have an extra parameter in the function that is showing up in the result. 1 Quote Link to comment
Christiaan Posted May 11, 2022 Share Posted May 11, 2022 (edited) Quote =DATABASE(((R IN ['Door']) & ('Door'.'IDPrefix'='D') & ((L='G-Layout C1') | (L='1-Layout C1') | (L='G-Floor C1') | (L='1-Floor C1') | (L='G-Layout C2') | (L='1-Layout C2') | (L='G-Floor C2') | (L='1-Floor C2')))) Edited May 11, 2022 by Christiaan Quote Link to comment
Pat Stanford Posted May 11, 2022 Share Posted May 11, 2022 That looks like the database criteria, not the formula for the column showing the wrong results. Quote Link to comment
Christiaan Posted May 11, 2022 Share Posted May 11, 2022 Oops, yes, how do I show the formula Pat? Pretty sure it's just this: =GETSPACENUMFOROBJ Quote Link to comment
Pat Stanford Posted May 11, 2022 Share Posted May 11, 2022 With the worksheet open and the database header row showing (check the Database Headers in the Worksheet View menu), select the cell in the database header row (ie 3, not 3.1, 3.2), you want. the formula will display in the formula bar. Quote Link to comment
Matt Overton Posted May 12, 2022 Author Share Posted May 12, 2022 On 5/10/2022 at 8:53 PM, Christiaan said: When using the GetSpaceNameForObj function, what does it mean when I get ", 1" showing up after my Space numbers in the worksheet. Do you have another larger spaces called 1? I've found the function returns an array of spaces in that location anywhere vertically in the file. 3 Quote Link to comment
Christiaan Posted May 12, 2022 Share Posted May 12, 2022 10 hours ago, Pat Stanford said: With the worksheet open and the database header row showing (check the Database Headers in the Worksheet View menu), select the cell in the database header row (ie 3, not 3.1, 3.2), you want. the formula will display in the formula bar. =GETSPACENUMFOROBJ Quote Link to comment
Christiaan Posted May 12, 2022 Share Posted May 12, 2022 (edited) 3 hours ago, Matt Overton said: Do you have another larger spaces called 1? I've found the function returns an array of spaces in that location anywhere vertically in the file. Oh duh! Of course. It's picking up all my internal room Spaces, which I haven't numbered. I only display their Space Name on plan. But they all have the Space Number 1 by default! So I need to exclude them. All I want on my schedule is the Space Number for each flat. What's the best way to exclude the internal room Space objects? Can I do that in the formula for that column rather than trying to do it in the Database Criteria? Edited May 12, 2022 by Christiaan Quote Link to comment
Pat Stanford Posted May 12, 2022 Share Posted May 12, 2022 Easiest would be if the Flat spaces are in a Layer or Class that is different than the internal spaces then just require that Class or Layer as part of the criteria. Second easiest would be to exclude the Class or Layer of the internal spaces. Third easiest would be to use one of the Space fields to indicate which are internal spaces and which are flat spaces. Perhaps one of the Additional Info fields? Then include or exclude that field data as appropriate. Ask again if you need more information. @Matt Overton Great catch on the problem!! 👍 1 Quote Link to comment
Christiaan Posted May 12, 2022 Share Posted May 12, 2022 (edited) They're on the same Class but they are on different layers. However they're on the same same layer as the door objects I'm scheduling. Does that matter or can I specify criteria that excludes Space objects if they're on certain layers, without excluding the doors? Maybe the third is easiest, because the only Spaces I want to reference have "UNIT" as their Custom Space Name. But how do I add the Custom Space Name to my criteria? Keeping in mind that I want to schedule all doors with ID Prefix "D" and simply cross reference them to the Space they're associated with (with Custom Space Name "UNIT") Edited May 12, 2022 by Christiaan Quote Link to comment
Pat Stanford Posted May 12, 2022 Share Posted May 12, 2022 This actually might be trickier than I thought. Let me think on this for a while and see what I can come up with. The workaround (or maybe the final answer), since the primary Space seems to always be first in the list, would be to use a Substring. =SUBSTRING(GetSpaceNumForObject, ',', 1) as the column header formula. the end of the above is: Comma; Single Quote; Comma; Single Quote; Comma; 1. The comma inside the quotes is the delimiter character. The 1 is which occurrence in the string are you interested in. In this case 1 specifies the part before the first comma. 1 Quote Link to comment
Christiaan Posted May 13, 2022 Share Posted May 13, 2022 (edited) Thanks Pat. I'm getting "GetSpaceNumForObject" returned, with any of the following formula: =SUBSTRING(GetSpaceNumForObject,',',1) =SUBSTRING(GetSpaceNumForObject, ',', 1) =SubString('GetSpaceNumForObject', ',', 1) Edited May 13, 2022 by Christiaan Quote Link to comment
Christiaan Posted May 13, 2022 Share Posted May 13, 2022 (edited) Oh, this worked though!! Seems the getspacenumforobj needs to be in caps. Knew you'd come up with the goods! Thank you 🙂 =SubString(GETSPACENUMFOROBJ, ',', 1) 8 hours ago, Pat Stanford said: since the primary Space seems to always be first in the list. I'm curious to know why this is the case. Any ideas? Edited May 13, 2022 by Christiaan Quote Link to comment
Christiaan Posted May 13, 2022 Share Posted May 13, 2022 (edited) Don't suppose you know any Vectorscript magic for this problem do you? Edited May 13, 2022 by Christiaan Quote Link to comment
Pat Stanford Posted May 13, 2022 Share Posted May 13, 2022 7 hours ago, Christiaan said: Oh, this worked though!! Seems the getspacenumforobj needs to be in caps. Knew you'd come up with the goods! Thank you 🙂 =SubString(GETSPACENUMFOROBJ, ',', 1) I'm curious to know why this is the case. Any ideas? I have no idea why the spaces are showing in the order they do. My guess is that is has to do with stacking order and the order that the objects were drawn in. If you come across one that doesn't work, try Send to Front or Send to Back and see if that fixes it. Glad we were able to come up with a solution. 🙂 1 Quote Link to comment
Dylan Posted October 12, 2023 Share Posted October 12, 2023 On 5/12/2022 at 10:25 AM, Pat Stanford said: Easiest would be if the Flat spaces are in a Layer or Class that is different than the internal spaces then just require that Class or Layer as part of the criteria. Hi @Pat Stanford, I know this is an older thread but I figure I'll ask anyway. In one of your earlier responses you mentioned that the easiest way would be if the spaces were on different classes / layers. I'm in the same boat at Christiaan with my door schedule reporting the name of every space that's in the drawings. I have a few different space objects (total building area, each suite area and each room in the suites, exterior spaces) and ideally I'd like the door schedule to report only the individual room spaces on a class called "ANNO-SPACE DTL". I have tried =GETSPACENAMEFOROBJ(CLASS='ANNO-SPACE DTL') but the worksheet returns "False" for each door. I've also tried excluding the other space classes in the database criteria to no avail. Any idea how I would be able to specify the GETSPACENAMESFOROBJ to only look at the one space class? Thanks Pat (and everyone else!), have a wonderful day. -Dylan Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.