Jump to content
  • 1

Window Schedule Report: how to call up thickness of wall


Christiaan

Question

5 answers to this question

Recommended Posts

  • 0

The only "easy" way to do this would be to turn on the Use Wall Depth for the Jambs and then report the Jamb Depth.

 

IF this is for just your use, a worksheet script could be written that would find the parent of each window (the wall) and return the width. The problem is the script will have to live in every file OR will have to be installed on every VW installation that will ever recalculate the worksheet.

 

Alternatively, you could use a simple script to store the value of the wall thickness into one of the User Fields (or a custom record) and then use the standard worksheet functions to report it. But if you change a wall thickness and forget to run the script, then the data will be wrong.

 

To implement for an entire office is probably more trouble than it is worth. To implement for yourself might be reasonable.  

 

Let me know if you want help in making either of these options happen.

  • Like 1
Link to comment
  • 0

Thanks Pat, I knew you'd probably have the answer to this one.

 

4 hours ago, Pat Stanford said:

The only "easy" way to do this would be to turn on the Use Wall Depth for the Jambs and then report the Jamb Depth.

 

Not an option because jambs need to be set to real-world parameters.

 

4 hours ago, Pat Stanford said:

IF this is for just your use, a worksheet script could be written that would find the parent of each window (the wall) and return the width. The problem is the script will have to live in every file OR will have to be installed on every VW installation that will ever recalculate the worksheet.

 

I'm fine with that as we already use Workgroup folders to share resources, but putting in the file seems like a no brainer. 

 

4 hours ago, Pat Stanford said:

Alternatively, you could use a simple script to store the value of the wall thickness into one of the User Fields (or a custom record) and then use the standard worksheet functions to report it. But if you change a wall thickness and forget to run the script, then the data will be wrong.

 

That's also an interesting option, but probably better to go with the previous option.

 

4 hours ago, Pat Stanford said:

To implement for an entire office is probably more trouble than it is worth. To implement for yourself might be reasonable.  

 

Let me know if you want help in making either of these options happen.

 

A script to find the parent of each window and return the width would be hugely appreciated, thanks Pat.

 

It needs to look on the following design layers only:

4-Floor C1

3-Floor C1

2-Floor C1

1-Floor C1

G-Floor C1

3-Floor C2

2-Floor C2

1-Floor C2

G-Floor C2

Link to comment
  • 0

Try this script.  What shall we name it? I recommend naming it PIOWallThickness, but Bob is also nice. Let's use Bob.

 

Create a script Palette (probably one that will never be open and will just serve as a holding place in the file for worksheet scripts) it does not matter what the palette is named.  Create a new script in the palette and name it Bob. Copy the entire script from the code block below and paste it into Bob.

 

Go to your window schedule and add a new column.  Enter a formula of =RunScript(Bob). You will get a dialog box asking for permission to run scripts. Click Allow or Always Allow. I recommend Always Allow or else Bob will drive you crazy every time you recalculate the worksheet.

 

You should now end up with the thickness of the wall that the window (or any other PIO inserted in a wall) is inserted into. It will also tell you if a PIO is not inserted in a wall.

 

Procedure PIOWallThickness;

{January 22, 2020}
{©2020 Patrick Stanford pat@coviana.com}
{Licensed under the GNU Lesser General Public License}

{Worksheet Script to return the thickness of the wall an object is inserted into}
{No warranty expressed or implied. Use at your own risk.}
{Backup and test for suitabilty for your use.}
{There be Dragons. Disconinue use if headache of more than 4 hours occurs.}


Var	H1,H2		:Handle;
	R1			:Real;
	B1			:Boolean;
	
Begin
	H1:=WSScript_GetObject;			{Handle to object specified by database row}
	H2:=GetParent(H1);				{Handle to the parent of the H1 object}
	If GetTypeN(H2)=68 then 
		Begin
			B1:=GetWallThickness(H2,R1);
			WSScript_SetResReal(R1);
		End
	Else
		WSScript_SetResStr('Not in Wall');
End;

Run(PIOWallThickness);

 

 

 

 

  • Love 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
Answer this question...

×   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...