CompuServe Thread

#attdisp

3 messages in this thread
#28704From: michael cunninghamJan 15, 1992 6:41 AM
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
#28722From: Dave Devereaux-WeberJan 15, 1992 9:34 AM
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
#28894From: Tony Tanzillo [LISP TM]Jan 16, 1992 1:13 AM
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.