wingchudesign Posted May 4, 2017 Share Posted May 4, 2017 I was doing exit path diagram and i was just wondering if you could have vectorworks input all the lengths of the lines into a worksheet via a function. see below - for example, instead of dimensioning all the green segments to see the lengths and adding them up after dimensioning all the segments. is there a function in vectorworks that i can just put down that will automatically list out all the length automatically? Of course, i know how you could automatically add all the segments already via function on worksheets but to input each dimension of the line segments is a pain for a big building with multiple units. thanks Quote Link to comment
wingchudesign Posted May 4, 2017 Author Share Posted May 4, 2017 also, no copyright infringement intended by the upload of above plan. i merely wanted to illustrate something and pulled it off of Google images. Quote Link to comment
bcd Posted May 4, 2017 Share Posted May 4, 2017 (edited) Draw a polygon for the entire exit path for each route & give it a name. eg Exit Path-1, Exit Path-2 Create a Database of all such named polygons =N will return the Name =L will return the Length for each. Edited May 4, 2017 by bcd Quote Link to comment
ericjhberg Posted May 4, 2017 Share Posted May 4, 2017 37 minutes ago, bcd said: =L will return the Length for each. Actually =L will not return the length, it will return the layer. =length will return the length... 1 Quote Link to comment
wingchudesign Posted May 4, 2017 Author Share Posted May 4, 2017 thanks y'all. now i'm struggling to know how exactly to create a database. i'm a relatively new user so much of this is new to me. Quote Link to comment
wingchudesign Posted May 4, 2017 Author Share Posted May 4, 2017 i guess my confusion lies in the fact that I not only want the TOTAL LENGTH of the entire polygon but also the INDIVIDUAL LENGTHS automatically displayed. The only thing that comes close to this is the "generate report" command but i'm not sure how to do this. Can anyone direct me to a tutorial or explain to me how to do this? Quote Link to comment
ericjhberg Posted May 4, 2017 Share Posted May 4, 2017 The trick here will be with Annotations... 1. You will want to draw lines, or individual polygons, for each length. Make sure that they are placed in a class or layer that will serve for database isolation. 2. As suggested above, give each line/poly a name (i.e. Exit Path 1, Exit Path 2, etc.) 3. Create a worksheet for your Length Report (you could also use the Create Report... tool for this, but it will require similar steps and customization as the create worksheet method anyway) 4. Select a row and switch it to a database header instead of a spreadsheet. 5. In the criteria, use it to isolate the location/name of your items (i.e. class = 'chosen class name', or layer = 'exit paths', etc.) 6. The resulting numbers should equal the number of individual paths drawn 7. In one the column you decide to be the NAME column, enter the formula =N 8. In the column you decide to be the LENGTH column, enter the formula =length, plus format the database header cell to be a number with chosen decimal precision, and if you decide to have a unit, add it to the suffix 9. Format worksheet around chosen organization 10. Annotate drawing to correlate line names with graphic (this is the unfortunate part of this workflow, I wish there were a way to annotate objects with their name or other record attributes) Hope this helps. 1 Quote Link to comment
rDesign Posted May 4, 2017 Share Posted May 4, 2017 (edited) 28 minutes ago, wingchudesign said: i guess my confusion lies in the fact that I not only want the TOTAL LENGTH of the entire polygon but also the INDIVIDUAL LENGTHS automatically displayed. The only thing that comes close to this is the "generate report" command but i'm not sure how to do this. Can anyone direct me to a tutorial or explain to me how to do this? I would think that Marionette would be perfect for this (of course, I would have no idea of how to do it). @MarissaFworked up something somewhat related over in this thread. Edited May 4, 2017 by rDesign Quote Link to comment
wingchudesign Posted May 4, 2017 Author Share Posted May 4, 2017 (edited) Yikes, marionettes sounds super daunting. i'll pass for now. I tried Eric's method and it works fine (see attached). The thing that i dislike is that vectorworks places the total length on the top and all the subsequent lengths of lines at the bottom. If there was more control with editing these fields, this method would be perfect (perhaps i'm missing something from Eric's post).... Furthermore, i can't input anything on the left or right of the column. As much as I would like to put "total length" next to 1 1-7/8", it seems that I can't. I suppose i just have to think about this a bit more or if you guys have any input, that'd be appreciate as well. Thanks for your help Edited May 4, 2017 by wingchudesign Quote Link to comment
Marionette Maven Marissa Farrell Posted May 4, 2017 Marionette Maven Share Posted May 4, 2017 @wingchudesign I promise Marionette really isn't that terrifying! And I am always available as a helping hand if you need it. I'll probably look into an approach even if you aren't currently interested 2 Quote Link to comment
Pat Stanford Posted May 5, 2017 Share Posted May 5, 2017 If each "segment" is a separate object, it will be relatively easy to get the data from each into a database in a worksheet. You just have to find the right criteria to use. The hard part will be getting the data to sort into an order that makes sense. In this case it looks like you might be able to use the "Room Numbers", but unless you manually go through and add a record with the room number to each "segment", I don't think you will be able to get a database to tell you what room it is in. I could be wrong and there might be a way to use the LOC command, but then each room would need to be a named polygon. Or possibly a Space object. If they are polylines and you want the length of the different "sides", that is going to be hard to do (as in I have no idea how to do it) in a database. Quote Link to comment
bcd Posted May 5, 2017 Share Posted May 5, 2017 23 hours ago, ericjhberg said: Actually =L will not return the length, it will return the layer. =length will return the length... Of course, thanks Eric, what I meant. Quote Link to comment
bcd Posted May 5, 2017 Share Posted May 5, 2017 (edited) Unless I'm misunderstanding the problem here's a straightforward solution: Draw each path as a polygon to the exit Give it a name in the OIP Pull it into a Worksheet and display each path length, name & total length. As Peter says this can be further refined by creating a different polygon for each room and giving it a name, then filtering by Location. I've attached the vwx file below. Note all paths go to the (congested?) door Exit Paths.vwx Edited May 5, 2017 by bcd 2 Quote Link to comment
bcd Posted May 5, 2017 Share Posted May 5, 2017 21 hours ago, wingchudesign said: The thing that i dislike is that vectorworks places the total length on the top and all the subsequent lengths of lines at the bottom. The total of the rows is always displayed in the Header Row. In the worksheet you can reference this cell as I did in my example and then turn off the Header Row. (View>Header Row while the Worksheet is open) Quote Link to comment
Pat Stanford Posted May 5, 2017 Share Posted May 5, 2017 Actually @bcdI think we probably need to go back to @wingchudesignand let him give us a better problem definition. When I look at your sample, I immediately think how do you get the topmost segment shared by 2 and 3 to be counted in the path length for both objects without having to draw it double. And giving them names is probably OK when you have three objects, but what about 300. And then with 300, how do you sort them in the table so the proper paths are grouped together. I think this is probably like the Traveling Salesman problem in programming. There is no absolute answer, but probably a good enough approximation. And as you said, you can certainly hide the database header row. But even with it hidden, you can still use those cells in formulas so you can display the data where you want it. Quote Link to comment
bcd Posted May 5, 2017 Share Posted May 5, 2017 1 minute ago, Pat Stanford said: without having to draw it double. Just draw it double Name the 300 P1....P300. 20mins done Loc for each of the Rooms You could script the name to appear on the Polygon, but that's phase II Quote Link to comment
bcd Posted May 5, 2017 Share Posted May 5, 2017 Or draw a single path and Name it. Duplicate it and the name iterates +1 Reshape Quote Link to comment
wingchudesign Posted May 5, 2017 Author Share Posted May 5, 2017 Brilliant! This discussion has definitely expanded my knowledge of Vectorworks and will definitely speed up my production quite a bit. Thanks all for contributing to the growth of this budding vectorworks user! As for my actual problem, I"m working in residential single family dwellings so the max # of exit paths will probably not exceed 4. What @bcd described and the file attached best fits my problem. Thanks to all who chimed in.... Now, on to learning about scripting and marionettes! Quote Link to comment
bcd Posted May 5, 2017 Share Posted May 5, 2017 Glad to help. If working on multi-levels the paths can be Nurbs curves (degree = 1 for corners) instead of Polygons. This will allow inhabitants to escape even if they find themselves upstairs. 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.