Jump to content
  • 0

Door Swings on lower levels


AlanW

Question

Hi, Is it possible to close the doors on the lower level design layer so they don't appear in the upper floor plan when multiple design layers are visible without masking them.

I can close them but when i need the lower floor plan the doors are closed when i need them to show open.?????

See attached

Thanks

Doors Below.jpg

Link to comment

5 answers to this question

Recommended Posts

  • 0

Take a look at Custom Modification. It will help you create a script so you can reuse the settings. Make 2 versions, 1 set all of the lower level doors Open, 1 to set all of the lower level doors open.

 

Once you make the scripts, you can also make Saved Views to take to you Sheet Layers where those settings are important and make the script part of the Saved View. If you navigate to the Sheet Layer manually, the settings will be whatever you left them. If you use the Saved View to get there the script will automatically run.

  • Love 1
Link to comment
  • 0

I should really stop trying to do things from memory and actually test them before I recommend them.   Line-weight's idea might be much easier.

 

The script automatically created by Custom Modification sets the criteria to pick the objects to be modified and open the Custom Modification dialog box, but it does not save the modification you want to make.  😞

 

So to show a door closed in a top/plan view you have to set the Angle parameters (under the 3D Open check box) to zero instead of just checking a box.

 

So since I lead you in the wrong direction, here are the scripts you need.  Change the "L='1-Floor Layout'" portion to match the exact name of the layer you want to manipulate the doors on.

 

Procedure CloseSomeDoors;

Procedure Execute(Hd1:Handle);
	BEGIN
		SetRField(Hd1, 'Door', 'OpenAngle', '0');
		ResetObject(Hd1);
	End;
	
BEGIN
	ForEachObject(Execute, ((L='1-Floor Layout') & (PON='Door')));
End;

Run(CloseSomeDoors);

 

Procedure OpenSomeDoors;

Procedure Execute(Hd1:Handle);
	BEGIN
		SetRField(Hd1, 'Door', 'OpenAngle', '90');
		ResetObject(Hd1);
	End;
	
BEGIN
	ForEachObject(Execute, ((L='1-Floor Layout') & (PON='Door')));
End;

Run(OpenSomeDoors);

 

Create a new Vectorscript from the Resource manager and paste in one of the scripts above. You can use any name you want, but I recommend that you use the name of the procedure to start with.

 

If you like the Saved View idea you don't even have to put the script into a new Vectorscript.  Save the view you want and then select it in the Organization Dialog Box.   Click the Edit button, then the Edit Script button and paste in one of the scripts from above.  Then when you activate the view the script will run.

 

You probably want to put the scripts into a palette anyway just in case you get your views out of sync and need the doors open or closed.

image.png

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