Jump to content

Need script to uncheck Follow Top Wall Peaks in all wall components


Recommended Posts

Can any of you scripting gurus out there help me out with a script to uncheck Follow Top Wall Peaks in all wall instances on all layers (or a layer at a time)?

 

I'm experiencing a bug that stops wall heights from being updated when changing Story Level heights. I've found that I can avoid this if all wall components in each wall instance have the Follow Top Wall Peaks option unchecked before making the Story Level change. But I have a load of walls of many different Styles and many of them are Grouped, making it a huge task.

Edited by Christiaan
Link to comment

Here you go. This may be a case of be careful what you wish for. The following script clears the Follow Top Wall Peaks for every component of every Wall Style in the document. If you catch it immediately, Undo may work, but no promised.

 

Change the False at the end of Line 13 to True and edit the dialog message to create a version that Checks the box for all components of each Wall Style.

 

Good Luck.

 

Procedure ClearWallStyleComponentFollowTopPeaks;
{DATE GOES HERE}
{©2020 Patrick Stanford pat@coviana.com}
{Licensed under the GNU Lesser General Public License}

{Clears the Follow Wall Top Peaks check box for every component of every Wall Style in a document}
{}
{No Warranty Expressed or Implied. Use at your own risk. Backup. Backup. Bakcup. Then Backup again.}
{Very lightly tested. Do not use on irreplaceable data. Here by dragons. Do not drive or operate}
{heavy machinery while using this script. If symptoms last for more than 48 hour consult a doctor.}

Var	ListID, NumItems, L1:LongInt;

	Procedure ProcessStyle(TheStyle:Handle);
		Var		MaxComp, CompNumber:LongInt;
				B1:Boolean;
		
		Begin
			B1:=GetNumberofComponents(TheStyle,MaxComp);
			For CompNumber:=1 to MaxComp do 
				Begin
					B1:=SetComponentFollowTopWallPeaks(TheStyle,CompNumber,False);
				End;
		End;


Begin
	ListID:=BuildResourceList2(127,0,'',NumItems,False);
	
	For L1:= 1 to NumItems do ProcessStyle(GetResourceFromList(ListID,L1));
	
	AlrtDialog('Follow Top Wall Peaks cleared for all components of all Wall Styles.');
End;

Run(ClearWallStyleComponentFollowTopPeaks);

 

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