Jump to content
Sign in to follow this  
Robert Anderson

Script to "unfit" walls

Recommended Posts

The script shown will "unfit" selected walls that have had wall peaks added using the "Fit Walls to Roof" command in VectorWorks Architect.

This is an example of a "bare-bones" script. I leave it to others to add some niceties, such as error checking. For example, what should happen if nothing is selected?

Procedure Fix_Walls;

var desired_ht:REAL;

PROCEDURE HandleWalls(h:HANDLE);
VAR result:BOOLEAN;
BEGIN
ClearWallPeaks(h);
result := SetWallHeights(h,desired_ht,desired_ht);
END;

BEGIN

desired_ht := distdialog('Enter the desired height of the selected walls','10''-0"');
ForEachObject(HandleWalls,SEL);

END;

Run(Fix_Walls);

Share this post


Link to post

I'm not well versed in Vectorscripts, but I followed the instructions completely for the above unfit walls script & got an incredible mess. Most of the walls had odd angles at the tops, rather than returning to their original shapes.

This program really needs a 'unfit' walls command.

Share this post


Link to post

Yep.

The lack of this feature makes revising a preliminary design extremely cumbersome.

Edited by brudgers

Share this post


Link to post

A work around > set a 3d Poly at the appropriate height then use the FitToRoof to trim off the top parts. Next reset the wall heights via OIP, as required.

Share this post


Link to post

robert,

saved me hours fixing a terraced landscape where i started copying, many times, a wall i had added 5 height nodes to....

when i checked the 3d it looked like an ice castle!

the script worked perfectly

thanks

Share this post


Link to post

Here is an update to the script that no longer let's you set the height, but does remove all the wall peaks and resets the wall so the changes show.

The original script fails to function properly under VW2012.

Procedure Fix_Walls;

var desired_ht:REAL;

PROCEDURE HandleWalls(h:HANDLE);
VAR result:BOOLEAN;
BEGIN
ClearWallPeaks(h);
ResetObject(h);
END;

BEGIN

ForEachObject(HandleWalls,SEL);

END;

Run(Fix_Walls);

Share this post


Link to post

Looks like this thread pre-dates the VW2013 release; I just installed the script and tried it, but it doesn't seem to do anything under 13. Has anyone been able to modify it to work with VW2013 or come up with an alternative? Not being able to reset / level walls is very frustrating! Thanks in advance for any help!

Cheers,

Markus

Share this post


Link to post

I just tried the script (copied and pasted from above) in VW2013 SP2 and it worked fine.

Can you try it in a new blank file with a single wall and see what happens?

Share this post


Link to post

Hi Pat ??thanks for checking! Ok, it does seem to remove additional control points (peaks); what I guess it doesn't do is level the wall if it's sloped or fix it if it's been goofed up by, say, one of the top end control points being dragged below the end of the wall (a wall that's been tied into a knot?). Once something like that happens, it seems to be quite difficult to get it straightened out again (see the screen shot of the wall with the top middle handle floating somewhere near the center of the wall)... NNA should really implement a full wall reset function!

Cheers,

Markus

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

 

7150 Riverwood Drive, Columbia, Maryland 21046, USA   |   Contact Us:   410-290-5114

 

© 2018 Vectorworks, Inc. All Rights Reserved. Vectorworks, Inc. is part of the Nemetschek Group.

×