#attdisp
3 messages in this thread
1/15/92/7:30 I have an application where i'm using attributes for their
graphic value as well as for data extraction. The blocks are office panels
and furniture. The furniture has constant attributes and the office panels
attributes are variable according to color, texture, and accoustical
qualities. Both attributes are invisible. I use attdisp to control their
visibility to create construction drawings. My problem is that I would like
to be able to have more control over their visibility than attdisp gives
me. I wrote an autolisp routine to toggle group 70 in the attributes assoc
list from 1 to 0 and vice versa. It works fine when attdisp is normal. When
attdisp is on it doesn't work at all. It doesn't work at all on the
constant attributes of course. So to give me independent control over the
attributes' display I think I need to either update the table section for
the furniture blocks(constant attributes), or somehow make my lisp routine
work when attdisp is on. The manual doesn't give a lot of info on attdisp
except that it sets the attmode system variable. Does anyone have any
insight or experience in trying to do something like this ???
THANKS
Mike Cunningham
Michael,
I'm not to sure of this, but I had a similar problem… When you create a
block create a separate layer for each of the attributes. Put each
attribute on its own layer. Then, in the inserted blocks, each group of
attributes can be turned on or off separately by turning the layer off or
on. Note that if the layer on which the block is inserted is turned off,
the entire block will be turned off.
Dave Devereaux-Weber
Micheal – Yes, that's because ATTDISP was designed to do exactly that: control
the visibility state of all variable attributes globally, regardless of what
each individual attribute's visiblity flags are, and hence, when ATTDISP is ON
(or 1), AutoCAD's entity generation code will ignore the visibility bit in the
70 flags group of each attribute, and draw it unconditionally.
Dave's suggestion (placing the attributes on their own layer and freezing it),
is another way of doing it, but regardless, the attributes will be visible if
the layer is thawed, so there's no way to make them permanently "invisible".
You could use Extended Entity Data attached to each block insertion instead,
and you'll never see it on the drawing.
Constant attributes are essentially nothing but glorified text entities which
are treated differently by ATTEXT, but otherwise, it is their constant nature
that makes it impossible to modify them on an individual basis.
-TonyT.