Jump to content
Horst M.

Screen Plane Layer Plane Switching

Recommended Posts

Hi,

I've the Problem that Groups can't be switched from Screen Plane to Layer plane

I'm working with some Template FIles from our Venue that are created with Versions before Layerplane was introduced, and almost every Symbol contains

Groups. there are a whole lot of them.

Is there a way to convert these Symbols to accept LayerPlane without editing every Symbol and search for Groups?

Horst M.

Edited by Horst M.

Share this post


Link to post

Hallo to all.

As far as I see the "switch to Screen Plane" and "Switch to Layer Plane" Scripts seem to be broken for VW 2015

http://www.vectordepot.com/plug-ins/

It seems to be the case, that they don't convert the content of Symbols anymore.

Anybody else seeing this?

Regards

Horst M.

Edited by Horst M.

Share this post


Link to post

Hallo,

I had Contact with the Author of the Scripts.

Here is his response:

The scripts work in 2014 and earlier, but not in 2015. According to the VS documentation (http://developer.vectorworks.net/index.php/VS:Function_Reference_Appendix#miscpref), the relevant object variable (1160) has not been changed, so there is no explanation and no fix that I can implement.

If you wish, you have my permission to post the scripts there as there is no secret code in them. Someone might know what is going on.

PROCEDURE Objs2LayerPlane; { © Petri Sakkinen 2010 }

PROCEDURE DoIt (h : HANDLE);

BEGIN

SETOBJECTVARIABLEBOOLEAN(h, 1160, FALSE);

END;

BEGIN

FOREACHOBJECT(DoIt, ALL);

END;

RUN(Objs2LayerPlane);

PROCEDURE Objs2ScreenPlane; { © Petri Sakkinen 2010 }

PROCEDURE DoIt (h : HANDLE);

BEGIN

SETOBJECTVARIABLEBOOLEAN(h, 1160, TRUE);

END;

BEGIN

FOREACHOBJECT(DoIt, ALL);

END;

RUN(Objs2ScreenPlane);

Best regards,

It would be nice if someone from NEM could have look, as it seems to bee some

confilct inside of VW.

Regards

Edited by Horst M.

Share this post


Link to post

Petri's scripts do seem to work, but at least inside symbols the symbol definition does not update until you edit the symbol. In fact the first time you edit the symbol you won't be able to access the modified objects. Just edit and exit the symbol and you should be OK. If you need to make other changes, just edit it again and all should be well.

Inside symbols now does not offer the Layer Plane option. You now can set the objects inside symbols to Screen Plane, Symbol Definition or Working Plane.

Horst, can you please get this information to Petri since I don't think he follows here any more.

Pat

Share this post


Link to post

Ray Mullin has helped work out a workaround for the scripts. The problem appears to be the order that the "geometry" and "symbol header" get reset. If you manually reset the geometry before the header then all is OK. If done in the other order, then you get the weird results.

Revised code for the two scripts follows:

PROCEDURE Objs2LayerPlane; { © Petri Sakkinen 2010 } 
{Modifed 2014, Ray Mullin, Pat Stanford to work with VW2015}

Procedure DoIt (H : Handle); 
Begin
	SetObjectVariableBoolean(H, 1160, FALSE);
End; 

Function ResetDef(H :Handle) :Boolean;
Begin
	ResetObject(H);
End;

BEGIN 
FOREACHOBJECT(DoIt, INSYMBOL & ALL);
ForEachObjectinList(ResetDef, 0, 0, FSymDef);
Sysbeep;
END; 
RUN(Objs2LayerPlane); 

PROCEDURE Objs2ScreenPlane; { © Petri Sakkinen 2010 } 
{Modifed 2014, Ray Mullin, Pat Stanford to work with VW2015}

Procedure DoIt (H : Handle); 
Begin
	SetObjectVariableBoolean(H, 1160, TRUE);
End; 

Function ResetDef(H :Handle) :Boolean;
Begin
	ResetObject(H);
End;

BEGIN 
ForEachObject(DoIt, INSYMBOL);
ForEachObjectinList(ResetDef, 0, 0, FSymDef);
ForEachObject(DoIt, ALL);
Sysbeep;
END; 
RUN(Objs2ScreenPlane); 

Share this post


Link to post

I have the same problem in VW2015 with my PIO's who use this line of code. All PIO worked fine in VW2014 (SetObjectVariableBoolean(H, 1160, FALSE);)

one PIO was a label that we put in walls, when layerlevel is not 0, PIO crashes on this line of code (that sets the PIO itself to the layerplane)

another PIO use an "extrudeAlongPath" I used to set the profile of the extrusion to the layerplane. In VW2015 it crashes (sometimes,...)

SetObjectVariableBoolean (polyh, 1160, False);

extrudeh:=ExtrudeAlongPath(ash,polyh);

its seems a bug to me...

Share this post


Link to post

Pat

Thanks the first script worked a treat in 2015.

The second script made no difference.

Thank you very much.

Share this post


Link to post

These are handy little scripts. The only thing is they seem to operate on every object in a file correct?. It would be nice if they could be used on the current selection...

Cheers

Share this post


Link to post

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.


 

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.

×
×
  • Create New...