Christiaan Posted January 17, 2020 Share Posted January 17, 2020 (edited) 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 January 17, 2020 by Christiaan Quote Link to comment
Christiaan Posted January 17, 2020 Author Share Posted January 17, 2020 Only thing I'm worried about is that I think I might have to delete top wall peaks first time round to remove any residual peak setting. Quote Link to comment
Pat Stanford Posted January 18, 2020 Share Posted January 18, 2020 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); 1 Quote Link to comment
Christiaan Posted January 19, 2020 Author Share Posted January 19, 2020 Thank you Pat 🙏🏼 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.