Jump to content

Wall and slab style schedules


taavilooke

Recommended Posts

Hi!

 

Does anyone have recommendation how to make automatically updating wall and slab style schedules? Yes there is a default schedule for wall styles, but that doesn't really do all the things that we need. We are doing it manually at the moment, but I'm wondering if there's any way to automate it.

 

I need a schedule that includes at least

  • an image of the style as it would appear on the drawings (short section of the style in 2d plan view with hatches in the right scale). I can put an image of wall styles in the schedule (but not slab styles), but the hatches are not scaled right and it doesn't look like the walls in the drawings.
  • a field describing all the component names and thicknesses in the wall/slab

 

Has anyone tried making anything like this?

 

At the moment we are manually placing a section of all styles somewhere in the model and creating viewport of them to annotate and place them on the drawing. I'm wondering if there is a way to automate this or is it better to do it through worksheets. Can more detailed images of the elements be placed in worksheets somehow?

 

For the components I imagine I have to write a short script to extract all the information?

 

Thanks,

Taavi

 

 

 

 

 

 

 

 

Link to comment

I haven't yet worked out how to use worksheets for legends yet. I 'm interested in how others do this too as I have just been tidying my own system.

I have a set of legend symbols in my symbol library. I insert the legends into viewport annotations and it seems to work pretty well. The legend symbols usually only need a little bit of tweaking to suit different projects.

 

i typically use "by class" attributes for pretty much everything. So with my wall/slab style components set to "by class", in my legends I can just use a rectangle to represent the slab or wall (the same width of the wall or slab) and set it to the slab or wall component class with attributes also set to "by class".

I prefer placing my legend symbols in the viewport annotations rather than on design layers. This means less viewports plus being in the annotation layer the legends can be at 1:1 scale (I.e scaled by the viewport to the same size as the design layer objects ). Hatches will be the same scale and also viewport class overrides will effect both annotation and viewport objects the same.

As the legends are typically symbols they can be placed on different sheets if required and when edited all update the same.

 

Gets a bit tricky if I have different floor plans or sections at different viewport scales but typically all my floor plans and sections are the same scale (1:50 or 1:25).

 

Link to comment

Aren't we talking about different things? I want to make a schedule describing styles (see the image that I attached). Now we are placing a piece of the wall into the model space and making a viewport out of that. That at least saves us the hassle of redrawing all the styles, but we still have to add the text by hand. But since we have about 90 different wall styles in the project, it is a lot of work to update the annotations if we change something.

Screen Shot 2018-01-12 at 14.13.24.png

Link to comment

I'd like to know how to better approach all standard schedules. Walls specifically we delete all the walls not being used from the Resource Browser of the file & I've customized the standard Report. I've not been able to figure out how to get the assembly information into the Worksheet's Data base. My work-a-round is to duplicate the Definition information into the Data fields. (There has to be a way to achieve this without the copy paste but I've not figured it out). It's also a pain to have to copy the Name of a wall. W1 & its description for example, that is already contained in the Wall's Title.

I also include a blank worksheet next to the Report for a NOTES column.

 

I've approached the Door Report in a similar way as I need to state the direction from & to (for example D67 is FROM Corridor #1 TO Office #107  ) so I rely on a worksheet that I manually type that information. Also included is an imperial size conversion so that gets added to the additional spread sheet and I don't know how to do that other than to do this manually. 

Edited by Jim Smith
Link to comment

Maybe this is something you are after:

 

First, have a look at worksheet functions and the wall component related stuff there (help file - worksheet functions). Look for keyword "comp" on the page. There are a lot of options - also for component thicknesses etc.

 

To easily get an idea what's there and to get a sample formula for each of these functions, go to Tools - create report- select wall as basic criteria - add columns you are interested in. Thus a sample report is created.

 

Basically you need "WallStyleName" and "ComponentName".

 

This will give you the wall styles included in the drawing, and their first component. You'll need to add the rest of the columns for the rest of the wall components (as many as you have, at maximum).

 

You probably also want to draw samples of the wall styles you want to include in the schedule, on a separate design layer in order to avoid including all wall objects. There are probably other ways to limit this as well.

 

I've enclosed a screenshot, a sample file and a sample worksheet.

 

As to the image function, right click the column and set the scale to eg. 1:20, if that is what you wish to present in. In the worksheet file menu/preferences, set the resolution to 300DPI at least.

 

As to the sheet layer the worksheet is on, right click on the navigation palette and set the dpi to 300DPI at least.

 

How to make the image black and white, I haven't figured out yet. Wishlist item?

 

@Taavilooke - I can actually understand your component list (I'm in Finland)

 

:-)

 

 

 

 

 

wall schedule data selection.PNG

Wall_schedule_sample.vwx

Wall components.pdf

Link to comment

@JMRI actually figured out an even better way. In the Format Cells > Images dialog you can change the Image Type to Thumbnail. Then you get an image of the same length in the same scale for all the walls. It even works for slabs as well, you get a section of the style.

 

There is a weird problem though: the worksheets mess up the scale of the hatches that are set to page units. The hatches are way too small for the rest of the geometry. It seems to display these hatches as if they were in 1:1 scale. Does anyone have an idea how to change that?

 

For the component list, I'll try to create a better solution that would list all the components automatically in one cell. 

Screen Shot 2018-01-15 at 16.36.46.png

Screen Shot 2018-01-15 at 16.38.33.png

Link to comment

That was actually quite easy. This script will output all the wall or slab component names and widths to one cell. It is run with =RUNSCRIPT('ScriptName') in the worksheet header. There is a weird problem though: all the components are on one line when the worksheet is place on a sheet layer. Any thoughts how to fix that?

 

EDIT: the line wraps work if the line break character is "\r" and Wrap Text is check for this column. See the next post.

wallObj = vs.WSScript_GetObject()

(a, numComp) = vs.GetNumberOfComponents(wallObj)

comps = []

for x in range(1, numComp+1):
	name = vs.GetComponentName(wallObj, x)
	(a, thickness) = vs.GetComponentWidth(wallObj, x)
	comp = name + " " + str(thickness)
	comps.append(comp)

str = "\r".join(comps)
vs.WSScript_SetResStr(str)

Screen Shot 2018-01-15 at 17.33.46.png

Screen Shot 2018-01-15 at 17.34.14.png

Edited by taavilooke
  • Like 2
Link to comment
  • 2 weeks later...

I got in touch with the local support and figured out a solution for one of the problems: It is possible to add line breaks to worksheets as carriage return characters ("\r") and they will show correctly if Wrap text checkbox is checked in the Format Cells dialog for this column.

 

Does anyone have recommendations about the hatches and world units? Is it possible to scale the hatches inside viewports in any way, to allow creating drawings in different scales?

 

5a69fe1677ac7_ScreenShot2018-01-25at17_49_32.thumb.png.df70821e2347848d8235c1516f73142a.png5a69fe13e00eb_ScreenShot2018-01-25at17_47_14.thumb.png.3fb8db2097d5c16b894ee864379314a1.png

Edited by taavilooke
  • Like 1
Link to comment
  • 2 weeks later...
  • 1 year later...
  • 7 months later...

A great help @taavilooke  Thanks for this! 
As a total Scripting beginner it would be helpful for us to separate the Wall component from the components thickness into individual columns. I thought that duplicating the script and adjusting the 'Get' info would make sense, but I#ve reached a roadblock in my already limited knowledge that prevents me getting further. Would you have a trick here? 
 

@Sky Change the Script Language from 'Vectorscript' to 'Python Script'.  That should solve it (assuming you haven't already made that step)


EDIT:
sent too quickly. The solution was easier than I thought and is here in case people are interested.

Component:

wallObj = vs.WSScript_GetObject()

(a, numComp) = vs.GetNumberOfComponents(wallObj)

comps = []

for x in range(1, numComp+1):
    name = vs.GetComponentName(wallObj, x)
    (a, thickness) = vs.GetComponentWidth(wallObj, x)
    comp = name + " "
    comps.append(comp)

str = "\r".join(comps)
vs.WSScript_SetResStr(str)


Thickness:

wallObj = vs.WSScript_GetObject()

(a, numComp) = vs.GetNumberOfComponents(wallObj)

comps = []

for x in range(1, numComp+1):
    name = vs.GetComponentName(wallObj, x)
    (a, thickness) = vs.GetComponentWidth(wallObj, x)
    comp = " " + str(thickness)
    comps.append(comp)

str = "\r".join(comps)
vs.WSScript_SetResStr(str)

 

Edited by denleyandr
  • Like 1
Link to comment
Guest Wes Gardner

I think of these things as Legends - be they window types, door leaf types, door frame types, wall (partition) types (both plan and section), etc, etc.  There is a workflow that uses viewports and places an object whereupon you can both dimension it and add notes (required and something the "Images in worksheets" isn't capable of).  It's a bit manual ....

 

It's a good one for the WISH LIST

 

Wes

 

 

 

Screen Shot 2019-11-04 at 9.20.17 AM.png

Link to comment

@Wes GardnerHi this Marionette scripts takes the windows you have on a building (as long as you have then in a folder in the resource browser and lays then out in a design layer, You then create a viewport to them and dimension and notes in annotations. (Marissa was a great help in creating this network)

Maybe someone can use this. Just number your windows in the order you want them to layout.

Window_Schedule_171213_v2020.vwx

Window_Schedule_171213_v2020_v2018.vwx

Capture.JPG

Capture_01.JPG

Edited by Alan Woodwell
  • Like 1
Link to comment
  • 4 months later...
On 11/1/2019 at 12:27 PM, denleyandr said:

A great help @taavilooke  Thanks for this! 
As a total Scripting beginner it would be helpful for us to separate the Wall component from the components thickness into individual columns. I thought that duplicating the script and adjusting the 'Get' info would make sense, but I#ve reached a roadblock in my already limited knowledge that prevents me getting further. Would you have a trick here? 
 

@Sky Change the Script Language from 'Vectorscript' to 'Python Script'.  That should solve it (assuming you haven't already made that step)


EDIT:
sent too quickly. The solution was easier than I thought and is here in case people are interested.

Component:

wallObj = vs.WSScript_GetObject()

(a, numComp) = vs.GetNumberOfComponents(wallObj)

comps = []

for x in range(1, numComp+1):
    name = vs.GetComponentName(wallObj, x)
    (a, thickness) = vs.GetComponentWidth(wallObj, x)
    comp = name + " "
    comps.append(comp)

str = "\r".join(comps)
vs.WSScript_SetResStr(str)


Thickness:

wallObj = vs.WSScript_GetObject()

(a, numComp) = vs.GetNumberOfComponents(wallObj)

comps = []

for x in range(1, numComp+1):
    name = vs.GetComponentName(wallObj, x)
    (a, thickness) = vs.GetComponentWidth(wallObj, x)
    comp = " " + str(thickness)
    comps.append(comp)

str = "\r".join(comps)
vs.WSScript_SetResStr(str)

 

 

Hi,

Thanks for the help ! 

I've another request, I'm using this script but I'd like to include U value for each components, is it possible?

Thanks

Link to comment
  • 1 month later...

Hi @Guillaume H, Sorry for the very late reply.

In the procedures that I've seen, the U-Value of individual components wasn't available (For individual components, you can just write '=componentUValue(1)' in the list header, where 1 is the component number 1,2,3...in the wall build-up), but I also have very little Scripting experience.

Someone like Mod Pat Stanford could have an idea.

 

D.

Edited by denleyandr
  • Like 1
Link to comment

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...