Jump to content

Samuel Derenboim

  • Posts

  • Joined

  • Last visited

Posts posted by Samuel Derenboim

  1. @Nikolay Zhelyazkov Thank you again for your input. Just some notes if you are to help design a (perhaps) for reliable system for energy performance modeling....


    In terms of the element ID, I think youre right. Seems that the numbers displayed in the elements list display the information for that particular row.  For me there are two problems with that. Notwithstanding the surface area math and corner window improper area calculations, one would need to create a separate table column for every element ID in energos in the hopes that it will return the proper information. I suppose one could use a conditional statement along with a concat callout referencing a +1 sum starting from element 1 to try to display all of the fields, but it seems certainly counterintuitive. Only yesterday i learned of the concat command and how useful it can be.


    The second problem that i see is that the energos label records the information one time, and prints it out as editable text rather than something that's directly related to the wall , window, door etc. (correct me if I'm wrong, but the worksheet you sent showed the text as editable, therefor it wasn't a constrained record directly relating to a wall, window, etc...). the problem with that is it opens up potential user error should a user update the plan, but not the energos label.


    I also don't understand why energos does not record the wall, floor or roof type name in the name field along with doors and windows. Seems strange to me that it doesn't identify which walls are which should the situation arise that there are multiple wall types in one orientation. It also does not record the story on which the walls, slabs, windows or doors are located. The only clue you might get is the R value.


    I spoke to a representative yesterday regarding this issue because i had a separate problem from this one, but since energos came up in our conversation, i sent a sample file showing my attempt at getting live information from walls, curtainwalls, windows and doors. That will be the information I use for the local zoning ordinance for a tabular approach. Hope it helps.


    Thanks again.

  2. Thank you Pat,


    That's strange. I have VW2020 SP 3.1 as well, and it does not delete using the same method. Just in case, we're not talking about deleting the record from the resource manager, right?


    edit. Did hard reset, reset plugin objects and reset data manager. Still no luck ...

  3. I did do that.

    I got a single row returned for the south wall, without any understanding of the representation of the areas - which are windows, which are doors, or walls, etc...



    Here is actual building element list from PIO



  4. @Nikolay Zhelyazkov  Hm, I tried that. for some reason i can't get it to work.


    Also, since you submitted a bug report, just wanted to let you know, the areas for corner windows are inaccurate as well. If you take a look at a corner window - Dimensions are 6'5 1/8" x 5'6 (they are measured in the window PIO as 6'-0" by 5'6). In either situation, they do not amount to 66 s.f.



  5. Good Morning @Nikolay Zhelyazkov ,

    Thank you for your help.


    1. I've taken a look at the Energos label settings, and i noticed that it has some of the information, but I do not know how to extract it into the worksheets, namely Areas or orientation. I've added a space to the test drawing and it deduces North, East, West, South correctly, but getting that data out is the hardest part.


    Do you have a string or formula that I can enter to get area and orientation information for walls, windows, slabs, etc... in a worksheet?


    2. I'm attaching the test drawing with the data sheets inside. Compare the areas inside, they do not unfortunately calculate the outer wall area surface, or the net area. I'm not sure what they're calculating as the areas are off by 4-6 s.f. each. Here is an example screenshot for reference.


    Energy_Bim_Additional Wall Insulation test_Forum.vwx




    So in the screen shot are three windows that are important - 1 - energos building elements list, 2 - a worksheet that extracts wall area lengths, gross areas and net areas, and three, the extraction of geometry from the wall itself to calculate the true surface area.


    The west wall surface is extracted as 208.77 s.f. (not sure if this is gross or net) however, either the way the calculation doesn't work.

    Lets say for argument sake it is net. We have one window on that wall that is 25.67 s.f. in area. The actual wall height is 10'-0" by 21'5 1/8". The core is placed at the center of the stud side.


    208.77 + 25.67 = 234.44 s.f. / 10' height = 23.44 foot length. Actual wall length is 21'5 1/8". The area seems closest to sheet rock side (noted as 20'8 7/8" length x 10'-0" = 209 s.f. +-. I don't know why it doesn't calculate the outer surface area. See below for screen shot of wall style properties. (note: changing the insulation from outer finish to insulation doesn't change the area)




    If I extract the surface of the wall, I get 188.589 s.f. (net) + 25.67 s.f. window = 214.259 s.f. / 10'-0 Wall height = 21.4259 ft length or 21' 5.11" which is the correct length.


    This is not to say that the gross area and the length of the wall in the worksheet are grossly different - 20' 2 1/8" Length, and Area being 201.766 s.f, but at least I understand how Vectorworks PIO is getting that information.


    Thank you for your consideration and help once again.

  6. @Nikolay Zhelyazkov it seems you're right, energos has a different outer wall area, see below. My question is - how do i call out Energos version of the wall area & wall length? It seems that energos record can only be called out once the record is inside of the file.


    However, either way, even if i did want to call out it via IFC, there is no information that is see that i can reference the information shown in the Energos Project settings building Elements list. Perhaps there is something I am unaware of?



    Attached is a screen shot of energos wall record in IFCWallStandardCase. The information regarding Area, Uvalue, orientation, etc... is not filled in or referenced - which is why i wanted to somehow fix it using the DataManager





  7. 31 minutes ago, Nikolay Zhelyazkov said:

    Thank you @Nikolay Zhelyazkov ,

    1. Wall thickness isn't as important on the diagramatic drawings as areas area, thats the reason why i was curious, I will post this on the wish list as you mention. Thank you

    2. Energos records are in the resource manager library - see image below. What i want is to link the wall areas, location and u values using the data manager to the attached record. Is this possible?



    3. How do you reference the open side of the wall areas ? Compareabyname ? or is there another method? Something to note, length and area are only different on the open side of the wall if it has a corner connection that are joined in wall connection L mode.


    To get the outer areas only in that condition, one would need to specify the ( wall thickness + wall length ) * Height in order to get the outer area otherwise

    walloverallheight and =Length work. (Is there a conditional statement to callout L joined mode to calculate outer areas / dimensions?)

    i.e. - if ((insert condition of wall connected in L mode), Walloverallarea + (wallthickness*Walloverallheight), Walloverallarea)


    4. Same question applies to length - how do i reference length of open areas of wall? It will be different than the actual length of the wall?

    Note - same condition would apply to the application of length in outer areas - Outerlength in L joined mode = Length+wallthickness


    5. Is there a list of what the numbers mean? and how do i update the locations of the walls? do i move the holeidon tool in reference to those walls? Some of them do not match in terms of north, east, south, west, etc... See below



  8. Hi @Nikolay Zhelyazkov,


    1. Will functions like WALLAREA_GROSS, WALLAREA_NET, WALLTHICKNESS be added to tags? I thought about simply adding an energos record to a wall, but it does not fill in the properties set therein for U values, Gross areas, net areas, etc... is there a way to do this? (that would be my work around for using the information)


    The reason i need to call out these areas are for energy requirements reviewed at the local building department (NYC) and WallArea_NET or WallArea_Gross (that can be called out in worksheets) does not exist in the tag tool. I need to somehow show it in plan or elevation for clarity, and then calculation the UA averages for say, southern walls, northern walls, etc...per floor


    2. why create a separate energos label if windows, walls, floors and the like can be linked to energos via their properties?

    3. Is there a reason why energy calculations and dimensional measurements for wall areas are calculated based on centerline of wall?

    4. How do you call out energos wall orientation for a wall, window, door or curtainwall without manually attaching the energos record to the object?

    5. When some objects are called out via orientation, they are represented by numbers. How does one translate it to South, North, East, West etc...? Is there a way to set these parameters in the Data manager?

  9. Hi Everyone,


    Just curious, wanted to get a consensus on the forum, are there many here that use Vectorworks parametric capabilities to do zoning analysis and building code analysis as a tabulated resource? or do people generally do them by hand?


    The reason I'm asking this question is because the tools vectorworks provides, seem to me, are unlike any other in terms of the tools provided for custom parametric integration (i.e. custom records/fields via simple geometry or the like). I have been using these features for zoning, building code and energy code independently for the past 3 years, and i have found alot of benefits as well as a few difficulties in using systemic parametric integration for code or zoning analysis.


    For example, one of the difficulties i've faced is the way New York jurisdictions requires us to calculate zoning areas vs building code areas. Zoning areas, they ask us to provide area diagrams that are simple in geometry (i.e. squares, rectangles, trapezoids, etc..). If you have a few tenants, or many, rather than calculating each area and each space independently, one can use large geometric areas to describe a floor plate. I have used this for general zoning calculation.


    When analyzing for building code, however, it would be recommended to show every tenant space for analysis purposes. The building code isn't as closely monitored as zoning in terms of areas is in NYC, but they should be equal in area to avoid notice in deviations.


    Because larger buildings, especially with tenant build-outs can be asked by the client, having to separate building code analysis and zoning could prove to be tricky due to the different methods of analyzing the information simultaneously. That is the reason why I have separated them into separate area categories. Getting the floor plates to equal can sometimes be a pain because there can sometimes be elements that do not match, and troubleshooting the problems can be tedious. So I thought id bring up the question to the trusty vectorworks community, see if anyone else have found interesting techniques to perhaps marry the two components?


    Out of curiosity, has anyone tinkered with analyzing code and / or zoning using Vectorworks? what are you experiences like?

  10. Hi everyone, I noticed that the getlocation within a space name or space number works perfectly for any record that needs to be called out thats within a space. VW did a great first to show the space location for symbols located in a space....However, locating objects in space is half the battle until you need to calculate allowable wattage per room, or allowable illuminance, circuitry, or any information within a particular space entity.


    I noticed tags like =Getifcproperty() or =GetCOBieProperty(), but i don't know how to define them to call out areas. If it doesn't exist, would it be possible to include it in future generations of VW? 


    Also, is it possible to do the same with basic geometry? i.e. getobjname, getobjproperty, etc.... ? Below is an example worksheet where i would need to show the location and area of the location. The location column uses=GETSPACENAMEFOROBJ, the next column would ideally show area - then i can say whether or not that space is in compliance for wattage allowance based on the energy code.





  11. First Attempt.


    Procedure FillCountsRecord;

    Var    H1                :Handle;
        H2                :Handle;
        LocName            :String;
        LocName2        :String;
        RecName            :String;
        RecName2        :String;
        FieldName        :String;
        FieldName2        :String;
        CriteriaString    :String;
        CriteriaString2    :String;
        S1                :String;
        S2                :String;
        TheCount        :LongInt;
        Procedure Execute(H3:Handle);        {This is the procedure called by the ForEachObject command}
                SetRField(H1,RecName2,FieldName)); {Store the count in the record}

        If ((H1<>Nil) & (H2<>Nil) & (LocName<>'') & (LocName2<>'')) then
            RecName:='!Ltlegend';                {Enter the Record Name you want to store}
            SetRecord(H1, RecName);
            RecName2:='!Lights';                {Enter the Record2 Name you want write to}
            SetRecord(H2, RecName);
            CriteriaString1:='(((R IN ['!LtLegend']) & (ALL)))';   {Us the Criteria builder to generate the criteria string you want and store here}
            CriteriaString2:='(((R IN ['!Lights']) & (T=SYMBOL)))';   {Do not include the LOC criteria as that is defined by the named object}
                                            {selected when the script is run}

            S1:=Concat('((LOC=', LocName, ') & ', CriteriaString, ')');     {Do not change this line, only change Criteria String}
            S2:=Concat('((LOC=', LocName, ') & ', CriteriaString, ')');
            Else AlrtDialog('Something went wrong. Either no object was selected or the LOC object was not named in the OIP.');
            SetDSelect(H1);                {Forces Refresh of OIP}
            SetDSelect(H2);                {Forces Refresh of OIP}
            SetSelect(H2);        {Resets to original selection state}


  12. Wow, this is beautiful. Works like a charm.


    In order for this script to have integrated information, it would be easier to simply copy the zone information in an attached record from the boundary onto all symbols in that zone rather than counting the objects. That way, i know if the zone matches between the objects and the zone itself, they could be aligned in the worksheet easily and specify any required specific information about that zone (like wattage, lumens, etc..)


    there was a script you wrote once regarding counting the number of people in a space object  by using the space object area and dividing it by a separate record. maybe that can give me a hint as to how to take information from one record and copy it to all the objects (or symbols) with the LOC of the boundary.


  13. I think i understand. Sounds like LOC function would be easier to use using a marionette of scripting function rather than a worksheet callout. Seems like keeping track of the names of the boundaries can prove to be a hurdle.


    I'm trying to use that script you made to study it a bit, but i get this error :



    Would the right parenthesis go somewhere in here?


    S1:=Concat('((LOC=', LocName, ') & ', CriteriaString, '))');

  14. Pat, that's exactly it. it is a duplicate object, that wasn't renamed, but the object name was not there. VW picked up that it was the same name and it didn't rename it, it left it blank instead. It however, was in the same exact location as another LOC object, hence why it picks up the information. but i'm guessing this might lead to some problems down the road? Should i submit a bug report?


    Note - i duplicated the layer, and it didn't copy the name. If i copy and paste the object, then it auto renames

  15. I think i accidentally found a bug. i just noticed in the file attached above - the geometry  was duplicated from one floor to the next. However, the name of the boundary was not modified, yet it still calculates the correct number of objects on the 2nd story when moving the fixtures from one boundary to another


    correct me if I'm wrong?


    the downside to doing everything by LOC function , turns out that every boundary object has to be unique in the entire building, and then create a nested conditional script that computes all of them, unless of course, yes, certain operations would be done by class or operation.

    The kicker is this, i often use id's that can be identical to different spaces that use the same id tag so long as it is subdivided by the =story condition.

    so ID=1 between one and another story will be printed separately if I invoke the =story command that separates their conditions.


    Here, you cannot do this. but it accidently worked when a boundary object is duplicated. don't know why. ☹️



    Followup question - is it possible to simply list all the LOC zones and their names?

  16. I wrote the nested script in a matter of minutes once i figured out that i have to create a reference name for the zone name in the conditional statement...

    I'm thinking of just using an excel script to create a script for me that includes the maximum amount of zones the building house in one story. Turns out, it works on multiple stories !! I'm thinking about how i can do this in a simple manner and... will this crash VW?


    attached file below.


    Also, do you know if referencing the object name (=N) with a record using the datamanager would eliminate all these complications?


    count by zone nested-working.vwx

  17. yes, creating several database tables is possible for each zone. I thought it would be easier putting this in the criteria of the database, however, it isolates zones from the light fixtures in the space. So yes, the only other choice is to create a separate database for every zone, and thats only for one story. if i wanted to include a worksheet with all stories, and they had a different number of zones, thats when the worksheet will get a bit cumbersome to read as some stories that have less zones would return a blank record (unless database tables would be specified for every zone, and every floor).


    right now im working on a 5 story, 80 thousand square foot building, approximately 6-7 tenant spaces per story, and probably upwards of 5-6 lighting zones per tenant. it would be easier to match the name record between light fixtures and zones than to do it this way. or not use LOC altogether unfortunately.


    file attached is my second attempt. I tried to list all zones in one database row, and reference them for the zones and light fixtures in another. It separates the rows and the zones in the database row in the 1st one.

    count by zone test2.vwx

  18. I can see what you mean. With lighting you can have 10-20 zones easy (if i were to use the criteria energy code for example) per story, which is why i wanted to use a nested value rather than sorting it by different columns. Same goes for other criteria i wanted to list for 'building code' objects that would be located in separate tenant spaces. Those criteria can also exceed 20 objects per LOC....


    the way i wanted to get around it was to create a zone that didn't have anything in it and say LOC<>'Zone 3' to include all objects in all other zones, but alas it still reports an incorrect number.


    I'm guessing the script is the only other way to go? or to create a separate database table for each zone....which is also cumbersome

  19. regarding LOC='' in worksheets - the function only allows me to select one zone by name in the criteria selection, not all of them. Is there a criteria that can include all objects that have a record, and then print out all objects within them?


    i've tried multiple variable condition (if) statements without success. i've included a sample file with lighting zones with object names as Zone 1, 2, & 3, but the count reports the incorrect number of fixtures in each after moving them around.

    count by zone test1.vwx

  • Create New...