Creates a property alteration expression.
ade_id ade_altpdefine(
char* property,
struct resbuf* value);
Returns a property alteration expression ID or ADE_NULLID.
property | Property to alter. See the Alterable Properties table below |
value | New value (type varies), or a range table expression that determines the new value. See Using a Range Table later in this topic. |
Note If you use a range table expression instead of an explicit value argument, you must represent it in the resbuf as all one string.
You must release the resbuf.
Using a Range Table
The following code generates a property alteration expression that adds a yellow text object to each queried entity. The text object displays which layer the entity came from. Note how the value argument is prepared by using ads_buildlist to define and populate the required resbuf.
char* propName = "textobject"; struct resbuf* pPropValueRb = ads_buildlist ( RTLB, RTLB, RTSTR, "color", RTSTR, "yellow", RTDOTE, RTLB, RTSTR, "textvalue", RTSTR, ".Layer", RTDOTE, RTLE, 0 ); ade_id propAltID = ade_altpdefine(propName, pPropValueRb); if (ADE_NULLID != propAltID) { acutPrintf( "\nThe property alteration expression ID is: %.0lf" , propAltID); } else { acutPrintf( "\nNo property alteration expression ID was set"); } acutRelRb(pPropValueRb);
A list of one or more property alteration expressions constitutes a property alteration definition. If there is a current property alteration definition when you create a property alteration expression, the new expression is added to it. When you execute a Draw query, each queried entity is altered in accord with the current property alteration definition.
The following table lists the alterable properties:
blockname | Block name (RTSTR) |
color | Color (RTSTR) |
elevation | Z coordinate (RTPOINT) in the user coordinate system |
height | Text height (RTREAL) |
layer | Layer name (RTSTR) |
linetype | Line type (RTSTR) |
rotation | Rotation (RTREAL) |
scale | Scaling factor (RTREAL). For example, 1.2 = 120% |
style | Text style (RTSTR) |
width | Line width (RTREAL) |
textvalue | Text value (RTSTR) |
thickness | Thickness (RTREAL) |
hatch | List of dotted pairs that define the hatch properties. See Hatch properties below |
textobject | List of dotted pairs that define the text object properties. See Text object properties below |
To add a hatch pattern to each queried entity, as long as it is a closed polygon, specify "hatch" for the property argument. The value argument is then a list of dotted pairs. Each dotted pair is composed of a hatch property and a string value.
pattern | Hatch pattern name (RTSTR) |
scale | Scaling factor (RTSTR). For example, "1.2" = 120% |
rotation | Rotation of the hatch pattern (RTSTR) |
layer | Name of the layer that contains the hatch pattern (RTSTR) |
color | Hatch pattern color (RTSTR) |
To create a text object for each queried entity, specify "textobject" for the property argument. The value argument is then a list of dotted pairs. Each dotted pair is composed of a text object property and a string value. The value element in the dotted pair can be an explicit value or a range table expression that determines a value.
textvalue | Text to display (RTSTR) |
height | Text height (RTSTR) |
inspt | Point where text is inserted (expression as a RTSTR) |
justify | Text alignment (RTSTR). For example, "center". |
style | Text style (RTSTR) |
layer | Name of the layer on which the text object resides (RTSTR) |
color | Text color (RTSTR) |
rotation | Rotation of the text object (RTSTR) |