Jump to content
  • 0
Sign in to follow this  
Francois Levy

3d locus (in)visibility in rendered mode

Question

3D loci (often artifacts of PIOs like fireplaces) are visible in my renderings. While exporting the rendering as an image file will get rid of them, often a screen capture will do for a rendering export. Having 3D loci invisible in rendered views (even if as a preference similar to light objects') would be much appreciated.

Share this post


Link to post

4 answers to this question

Recommended Posts

  • 0

Even more annoying when you are trying to show a client an OpenGL rendered model on screen. Every time you stop rotating all these 3D loci 'jump' into prominence.

If they had a class of their own they could be made invisible except when needed. it could be argued that for most PIO's they would hardly ever need to be visible.

Share this post


Link to post
  • 0

quote:

Originally posted by Kaare Baekgaard:

By the way: It would be nice, if I were able to replace 3D loci with symbols

Not quite sure if this will work but give it a go. It is a generic utility I have used in 2D drafting for years; just added support (?) for 3D symbols, but did not test or even check the syntax.

code:

PROCEDURE sel2syms; { ? Petri Sakkinen 1998-2004 } 

{ This macro replaces selected objects on the active layer with instances of the active symbol }

VAR

i, n, objType : INTEGER;

x, y, z, a : REAL;

xi, yi, zi, ai: ARRAY[1..1000] OF REAL;

theSymbol : STRING;

obHd : HANDLE;

BEGIN

theSymbol := GETSDNAME(ACTSYMDEF);

IF (theSymbol > '') THEN BEGIN

obHd := FSACTLAYER;

i := 0;

WHILE obHd <> NIL DO BEGIN

i := i+1;

x := 0; y := 0; a := 0; z := 0;

objType := GETTYPE(obHd);

CASE objType OF

9 : GETLOCUS3D(obHd, x, y, z); { found a 3D locus }

15 : BEGIN { found a symbol }

GETSYMLOC3D(obHd, x, y, z);

a := GETSYMROT(obHd);

END;

17 : GETLOCPT(obHd, x, y); { found a 2D locus }

OTHERWISE HCENTER(obHd, x, y); { found something else }

END; { case }

xi
:= x; yi
:= y; zi
:= z; ai
:= a;

obHd := NEXTSOBJ(obHd);

END;

IF YNDIALOG('Delete selected objects?') THEN DELETEOBJS;

FOR n := 1 TO i DO BEGIN

SYMBOL(theSymbol, xi[n], yi[n], ai[n]);

IF z <> 0 THEN MOVE3DOBJ(LNEWOBJ, 0, 0, zi[n]);

END;

END

ELSE ALRTDIALOG('You must have an active symbol');

END;

RUN(sel2syms);

{--------------------------------

Petri Sakkinen

panta rhei information technology

19/125 Oxford Street Collingwood VIC 3066

Australia

---------------------------------}
[/code]

Made a couple of small corrections. Hmm - should I even test it?

Right - seems to work.

[ 10-08-2004, 07:09 PM: Message edited by: Petri ]

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

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.

×
×
  • Create New...