This topic discusses application of the Transform Dialog with Tables on a geom field in a table. That is equivalent to applying the Transform dialog to a Drawing and using the geom field in the drawing. See the Transform Dialog and Transform Templates topics for use and for links to lists of templates for other data types for tables and use of the Transform Dialog with other components, such as Drawings and Images.
Bounds 
For line and area objects in the source geom field extract the coordinates that give the extents of the object, the two end coordinates in the case of lines and the border lines in the case of areas, and place in the target geom field. Ignore points in the source field.
Example: Put into Tgeom the Bounds of objects specified in Geom. Geom is visualized in the drawing above and Tgeom is visualized in the drawing below. 
Branch 
Choose the branch indicated of a multibranched object and discard other branches. Branches are numbered starting with 0 in the order in which they occur within the object's geometry. The starting drawing below shows one area object that is made of up three branches and one line object that is made up of three branches. Labels have been added to the illustration to show the number of each branch.
Preview: Branch using a value of 0
Preview: Branch using a value of 1
Preview: Branch using a value of 2

Buffer 
Create an area object around each object in the source field at the given Distance and put into the target field. Using a value of 0 for Tolerance (the default) means to use automatic tolerance.
Example: Put into Tgeom the Buffer with a Distance of 5 of objects specified in Geom. Geom is visualized in the drawing above and Tgeom is visualized in the drawing below. 
Center 
Create a point at the center of the minimum circle that encloses each line or area object in the source field and put in the target field. Copy points from source field to target field. See the Transform: Center and Centroids topic.
Example: Put into Tgeom the Center of objects specified in Geom. Geom is visualized in the drawing above and Tgeom is visualized in the drawing below. 
Center, Inner 
Create a point at the "center" of each area object in the source field, adjusting the location of the point so that it always falls within the area, and put in the target field. See the Transform: Center and Centroids topic.
Example: Put into Tgeom the Center, Inner of objects specified in Geom. Geom is visualized in the drawing above and Tgeom is visualized in the drawing below. 
Center, Weight 
Create a point at the balance point of each area object in the source field and put in the target field. See the Transform: Center and Centroids topic.
Example: Put into Tgeom the Center, Weight of objects specified in Geom. Geom is visualized in the drawing above and Tgeom is visualized in the drawing below. 
Compose Circle 
Most frequently used as a transform template for tables, where the operation is clearer: For each record in the table, Given an X value, a Y value and a Radius value, create in the target geom field a circular area object of specified radius centered on the specified X,Y location.
In the case of drawings, each record in the drawing's table specifies an object in the drawing. When we utilize this transform template from a drawing the intent is for each object in the drawing to create a circle, with the circle usually intended to be related to the location of the object it replaces. For example, we might create a circle of a given radius at each point, at the center of an area and so on. To do that instead of using simple numbers or fields for the X and Y values we will probably use expressions in the X and Y combo boxes.
Consider a starting drawing that has four point objects, located at coordinates as follows (just the diagonal corner coordinates being labeled):
We can use the Compose Circle template to replace each point object with a circular area object centered upon the location of the point. We will use an expression in the X and Y combo boxes that extracts the X or the Y value for the point.
The expressions used to get the X and the Y values can be read as follows:
GeomCoordXY([Geom], 0)
The GeomCoordXY function returns the (X,Y) value for the specified coordinate of a geom. We ask for the 0 coordinate, that is, the first coordinate that defines the object. In this case because we are working points there is only one coordinate in the geom that defines each point object, but had we been working with lines where many coordinates might define the line asking for coordinate number 0 of the geom would return the (X,Y) value of the first coordinate, that is, the beginning of the line.
In the X box we want only a single number, the X part of the (X,Y) coordinate vector returned by GeomCoordXY so we will use the VectorValue function to get only that part.
The VectorValue( ) function takes two arguments: the first is a vector and the second argument, a number such as 0, 1, 2, 3... asks for that specified value in the vector. In the case of a vector that has only two numbers in it such as an (X,Y) vector using a second argument of 0 asks for the first number, the X value, and using a second argument of 1 asks for the Y value. If the vector we were working with was an (X,Y,Z) vector with three values in it then using a second argument of 2 would get the Z value.
The expression...
VectorValue(GeomCoordXY([Geom], 0), 0)
... means get the (X,Y) vector value of the first coordinate in the object in Geom, and then use VectorValue to extract from that the X value. We use that expression in the X combo box and it will be automatically computed for each object in the drawing to produce the X value to be used for creating the circle for that object.
The expression...
VectorValue(GeomCoordXY([Geom], 0),1)
... means get the (X,Y) vector value of the first coordinate in the object in Geom, and then use VectorValue to extract from that the Y value. We use that expression in the Y combo box and it will be automatically computed for each object in the drawing to produce the Y value to be used for creating the circle for that object.
For this example we use the number 5 for the Radius. That will create all four circles with a radius of 5 units.
Preview:
In the above preview we see that each of the four points will be replaced by a circle centered on the X,Y location of the point with a Radius of 5 units.
We are not required to use a fixed radius for all objects, of course. We could choose a field to control the value of the Radius. To choose a purely artificial example, suppose we chose the mfd_id field as the value to control the Radius. In the sample drawing the four points were created in order in a new, blank drawing so their mfd_id values are 1, 2, 3 and 4, respectively. Using mfd_id to control the Radius therefore says to use those numbers as values for Radius for the four circles that are created.
Preview: How might we use this template in real life?
Suppose we have a drawing that shows the locations of radio station antennas as points, and for each point we also have an attribute field that gives the transmission power for that station. Creating a circle at each point using the transmission power to provide the radius can create a drawing of circles that show the coverage of the many radio stations.
The template might also be used for classic military purposes such as targeting. Each point could be the target coordinates for a particular warhead and the radius might be taken from a field that gave the effective range of destruction for that warhead. 
Compose Point 
Most frequently used as a transform template for tables, where the operation is clearer: For each record in the table, Given an X value and a Y value, create in the target geom field a point object at the specified X,Y location. See the Example: Create a Drawing from a Geocoded Table topic for an example of use with a table.
In the case of drawings, each record in the drawing's table specifies an object in the drawing. When we utilize this transform template from a drawing the intent is for each object in the drawing to create a point, with the point usually intended to be placed at some meaningful spot related to the location of the object it replaces. For example, we might want to create a point at the first coordinate of each object in the case of a drawing that contains lines.
Consider a starting drawing that has two point objects, two lines and three areas:
Following a procedure similar to the Compose Circle example above, we will first preview a replacement of the objects with a single point located at the position of the first coordinate that defines the object, and then we will preview a replacement of the objects with a single point located at the position of the second coordinate that defines the object. See the Compose Circle discussion for an explanation of the functions used.
As in the Compose Circle example above again to get the X and Y values we use expressions:
VectorValue(GeomCoordXY([Geom], 0), 0)
and
VectorValue(GeomCoordXY([Geom], 0), 1)
The 0 argument in ([Geom], 0) picks out the first coordinate defining the object, counting from zero.
Preview:
To see where those points come from we can overlay with slight transparency the original drawing:
We can adjust the expressions used to get X and Y values for the second coordinate of each object:
In the above we use the expressions:
VectorValue(GeomCoordXY([Geom], 1), 0)
and
VectorValue(GeomCoordXY([Geom], 1), 1)
In this case the 1 argument in ([Geom], 0) picks out the second coordinate defining the object, counting from zero.
Preview:
To see where those points come from we can overlay with slight transparency the original drawing:
The two original points will disappear since they are not multipoints but are regular points that consist of one coordinate each. Our expressions get the X and Y values of the second coordinates which the two original points do not have, so they will have a NULL value as a result of the transform. 
Compose Point with Z 
Exactly the same as Compose Point with the addition that we can specify a Z value for the point. We might take that from a field for each object that specifies an altitude. 
Compose Rectangle 
Similar to Compose Circle but instead for each object creates a rectangular area object that is vertically aligned using the specified coordinates for the X 0, Y 0 corner and diagonally opposite X 1, Y 1 corner.
Consider a starting drawing that has four point objects, located at coordinates as follows (just the diagonal corner coordinates being labeled):
We can use the Compose Rectangle template to replace each point object with a rectangular area object centered upon the location of the point. We will use expressions that extract the X and the Y locations of each point and then add to them or subtract from them to create the desired offset locations of the lower left corner and the upper right corner of the rectangles to be created. See the Compose Circle discussion for an explanation of the functions used.
The expressions for the lower left corner are
VectorValue(GeomCoordXY([Geom], 0), 0)  4
and
VectorValue(GeomCoordXY([Geom], 0), 1)  2
These expressions place the lower left corner of the new rectangle four units to the left and two units below the location of the point. We take advantage of Manifold's ability to handle mathematics within expressions that are placed inside combo boxes. The expressions for the upper right corner are
VectorValue(GeomCoordXY([Geom], 0), 0) + 4
and
VectorValue(GeomCoordXY([Geom], 0), 1) + 2
These expressions place the upper right corner of the new rectangle four units to the right and two units above the location of the point. The net effect is to create a rectangle that is eight units wide and four units high that is centered on the location of the point that it replaces.
Preview:

Compose Segment 
Similar to Compose Rectangle but instead of creating a rectangular area object the Compose Segment template creates a straight line segment between the specified coordinates for the X 0, Y 0 beginning and X 1, Y 1 end of the line.
Consider a starting drawing that has four point objects, located at coordinates as follows (just the diagonal corner coordinates being labeled):
We can use the Compose Segment template to replace each point object with a straight line segment centered upon the location of the point. We will use expressions that extract the X and the Y locations of each point and then add to them or subtract from them to create the desired offset locations of the lower left corner and the upper right corner of the line segments to be created. See the Compose Circle discussion for an explanation of the functions used.
The expressions for the lower left corner are
VectorValue(GeomCoordXY([Geom], 0), 0)  4
and
VectorValue(GeomCoordXY([Geom], 0), 1)  2
These expressions place the lower left beginning of the new line four units to the left and two units below the location of the point. The expressions for the upper right corner are
VectorValue(GeomCoordXY([Geom], 0), 0) + 4
and
VectorValue(GeomCoordXY([Geom], 0), 1) + 2
These expressions place the upper right end of the line four units to the right and two units above the location of the point. The net effect is to create a line that is centered on the location of the point that it replaces.
Preview:

Compose Triangle 
Similar to Compose Rectangle but instead of creating a rectangular area object the Compose Triangle template creates a triangular area object using as corners of the triangle the specified coordinates for the X 0, Y 0 corner, X 1, Y 1 corner and X 2, Y 2 corner,
Consider a starting drawing that has four point objects, located at coordinates as follows (just the diagonal corner coordinates being labeled):
We can use the Compose Triangle template to replace each point object with a triangular area with one corner placed at the location of the point. We will use expressions that extract the X and the Y locations of each point and then add to them or subtract from them to create the desired offset locations of the corners of the triangles to be created. See the Compose Circle discussion for an explanation of the functions used.
The expressions for the first corner are
VectorValue(GeomCoordXY([Geom], 0), 0)
and
VectorValue(GeomCoordXY([Geom], 0), 1)
These expressions place the first corner of the triangle at the location of the original point. The expressions for the next corner are
VectorValue(GeomCoordXY([Geom], 0), 0) + 4
and
VectorValue(GeomCoordXY([Geom], 0), 1) + 2
These expressions place the second corner of the triangle four units to the right and two units above the location of the point. The expressions for the third corner are
VectorValue(GeomCoordXY([Geom], 0), 0) + 4
and
VectorValue(GeomCoordXY([Geom], 0), 1)  4
These expressions place the final corner of the triangle four units to the right and four units below the location of the point. The net effect is to create a triangle with one corner at the location of the point to be replaced and the rest of the triangle to the right of that location.
Preview:
To see the relationship of the new triangles to the original points we can overlay with slight transparency the original drawing:

Convert to Area 
For each object in the source field, take the sequence of defining coordinates and create an area to put into the target field.
Example: Put into Tgeom the result of Convert to Area applied to objects specified in Geom. Geom is visualized in the drawing above and Tgeom is visualized in the drawing below. When creating areas from lines this template is normally used with lines that form closed figures since an area object will be constructed from an unclosed line by connecting a final segment from the last coordinate of the line to the first coordinate, as seen above. Areas are created from points by creating an area defined by three coordinates that are all at the same position. A "square" symbol indicates such a pointlike area. 
Convert to Line 
For each object in the source field, take the sequence of defining coordinates and create a line to put into the target field.
Example: Put into Tgeom the result of Convert to Line applied to objects specified in Geom. Geom is visualized in the drawing above and Tgeom is visualized in the drawing below. Lines are created from points by creating a line defined by two coordinates, the beginning and end of the line, that are all at the same position. A "caret" symbol indicates such a pointlike line. 
Convert to Point 
For each object in the source field, take the defining coordinates and create a point at each such coordinate to put into the target field.
Example: Put into Tgeom the result of Convert to Point applied to objects specified in Geom. Geom is visualized in the drawing above and Tgeom is visualized in the drawing below. Important: The Convert to Point template creates multipoints, that is a single geom object that can have more than one point in it. That is so that each source record is matched by exactly one target record. If an area is defined by a few hundred points the resulting geom will still be a single record, but it will be a multipoint with a few hundred points in it.
See the Notes to the Transform Dialog topic for a discussion and illustration of how the points created by Convert to Point are multipoints but the points created by Decompose to Coordinates (a Transform Template for Drawings) are all separate points in separate records. 
Convex Hull 
For each line or area in the source field create the polygonal area with least boundary length that encloses the object and put into the target field. Ignore points. The mathematical definition of convex hull is usually explained by the more intuitive notion of the shape a rubber band would take when stretched around the outside of pins placed at all the coordinates that define the object.
Example: Put into Tgeom the Convex Hull of objects specified in Geom. Geom is visualized in the drawing above and Tgeom is visualized in the drawing below. Points have no extent so there is no convex hull area for a single point. The convex hull area with an apparently curved corner in the center of the drawing above is the result of computing a convex hull for the line in the middle of the original drawing, which has a curved segment in it but which appears to be made of lines due to approximations of rendering at the zoom level used. 
Copy 
Copy the source field into the target field, including copying and automatic conversion between different geom types.
Example: Put into Tgeom a Copy of objects specified in Geom.
Geom is visualized in the drawing above and Tgeom is visualized in the drawing below.
Example: Copy from Geom into the WKB geometry field Temp_geomwkb. The above automatically converts Manifold geom types into WKB geom types.
When the target is a text field, Copy is also used for conversions such as converting geom types to WKT text type.
Open the table and then launch the Transform dialog:
Copy into Temp_text the result of GeomWkt([Geom]) entered into the source Value box, showing the preview: Manifold evaluates the SQL expression on the fly, using whatever is the value of Geom for that record within the GeomWkt function that converts a geom into a WKT string. 
Enclosing Circle 
For each line and area object in the source field create the smallest size, circular area that encloses the object and put into the target field. Points are discarded.
Preview: 
Enclosing Rect 
For each line and area object in the source field create the smallest size, vertically oriented rectangular area that encloses the object and put into the target field. Points are discarded.
Preview: 
Enclosing Rect, Rotation Allowed 
For each line and area object in the source field create the smallest size rectangular area that encloses the object and put into the target field. The smallest size rectangular area is that which covers the area in any rotation and not just vertically oriented. Points are discarded.
Preview: 
Linearize 
Replace all curved segments of line and area objects in the source field with linear, that is, straight, segments using the number of straight segments specified in Curved Limit to replace each curved segment and put the result into the target field. Copy point objects from source to target. As discussed in the New Object Dialog topic, curved segments are a poor choice in GIS and should regularly be replaced with linear segments. The Linearize template makes that easy. We begin with a line, seen above, containing a curved segment between two linear segments. This drawing has only one object, a line.
The curved segment is the arc extending approximately halfway around a circle. It appears to be made up of straight line segments because rendering of curved segments in drawings depends greatly upon zoom level, coordinate system and other factors so that curved segments are normally rendered using polyline approximations. The illustration has been reduced in size to allow a zoom level that shows more of the curved segment.
Example: Put into Tgeom the Linearize result using a Curve limit of 100 for objects specified in Geom. Geom is visualized in the drawing above and Tgeom is visualized in the drawings below. Using a Curve limit of 100 results in a smoothlooking line, even smoother than the original curved segment as approximated in the initial rendering. A Curve limit of 100 causes Manifold to replace the curved segment with 101 straight line segments (zero based counting is used).
A Curve limit of 5 results in six segments being used. A Curve limit of 3 results in four segments being used.
A Curve limit of 2 results in three segments being used. In this case we have replaced the single curved segment with three straight segments; however, we can see a similar effect in the typically unsmooth approximations of small, curved segments that drawing windows may show when drawings are zoomed out. 
Maximum Value 

Minimum Value 

Normalize 
Normalize object metrics by removing redundant coordinates in objects in the source field and putting the result into the target field. See the Coordinates topic. We start with the drawing above where the Convert to Area transform has been applied to create area objects in the Tgeom field.
Example: Put into Tgeom the result of Normalize applied to objects specified in Tgeom. Tgeom is visualized in the drawing above, before applying Normalize, as well as in the drawing below, after applying Normalize.
Both of the pointlike area objects disappear because they consisted entirely of redundant coordinates. The strange area in the middle becomes more rounded because the curved segment is replaced with straight segments. 
Normalize Topology 
Takes a drawing and returns the normalized version of the drawing, providing a table with the same fields but with the values in the geom field altered. 
Orthogonalize 
Move all coordinates in the source field to orthogonally distributed grid locations with the specified Step X and Step Y distances between them and save the result to the target field.
Example: Put into Tgeom the result of Orthogonalize applied to objects in Geom using a Step X of 0.01 and a Step Y of 0.01.
Geom is visualized in the drawing above and Tgeom is visualized in the drawing below.
The Rivers drawing is in Latitude/Longitude coordinate system using degrees as a unit of measure, sousing a Step X of 0.01 and a Step Y of 0.01 means using an orthogonal grid of about 1 km in x and y directions.
To understand how Orthogonalize works we can work with a drawing that shows the province of Durango in Mexico using Orthographic projection, which is true to scale and uses meters as the unit of measure. Suppose we overlay a grid of points with a point located every 50000 meters in X and Y directions.
Applying Orthogonalize to the area tells Manifold to move the coordinates that make up the area to the nearest point location.
The result is to move defining coordinates to locations where the lines between them are all vertically or horizontally straight lines or straight diagonal lines between grid locations. Most redundant coordinates will be eliminated. It is possible, however, that some redundant coordinates will be left, in which case a quick Normalize operation will remove them. 
Parse GeoJSON 
Convert GeoJSON geometry into a Manifold geom: Given a GeoJSON string extract the geometry specified in the GeoJSON string and write a geom containing that object into the target field. 
Parse GML 
Convert GML geometry into a Manifold geom: Given a GML string extract the geometry specified in the GML string and write a geom containing that object into the target field. 
Parse WKB 
Convert WKB geometry into a Manifold geom: Given a WKB binary value extract the geometry specified in the WKB binary value and write a geom containing that object into the target field. 
Parse WKT 
Convert WKT geometry into a Manifold geom: Given a WKT string extract the geometry specified in the WKT string and write a geom containing that object into the target field. 
Remove Curves 
Replace each curved segment in lines or areas in the source field with a single straight segment and put the result into the target field.
Example: Put into Tgeom the result of Remove Curves applied to Geom. Geom is visualized in the drawing above and Tgeom is visualized in the drawing below. Only one object in the source, the line in the middle, has a curved segment (which appears to be made up of two lines due to a rendering approximation at the scale used). That is replaced with a single straight line segment. 
Remove Z 
Remove all Z values from objects in the source field and save to the target field. 
Rotate 
Given a rotation angle rotate each object about its center.
Example: Put into Tgeom the result of Rotate applied to Geom with an angle of 45. Geom is visualized in the drawing above and Tgeom is visualized in the drawing below. All of the areas and line objects are rotated 45 degrees about their centers. Note from the sequence of points in the middle of the example drawing that it is not the drawing itself which is rotated but that each individual object is rotated about its center. The positions of the centers of object relative to the centers of other objects are not changed. 
Scale 
Multiply coordinate values in the source by the given scale factor for both X and Y coordinates and put the result into the target field.
Example: Put into Tgeom the result of Scale applied to Geom with a Scale X of 1 and a Scale Y of 2. Geom is visualized in the drawing above and Tgeom is visualized in the drawing below. A Scale X of 1 leaves x coordinates unchanged while a Scale Y of 2 doubles the value of y coordinates. This has two effects: first, it moves all objects upwards in the Y direction by a factor of two and second, it stretches each object to be twice the height it previously was. Note that because Scale is a simple multiply of coordinates by the given factors it is different from the way "scale" commands work in a graphics editor like PhotoShop or in a CAD program, where a "scale" means to change the size of an individual object while keeping it centered at the same position. 
Segmentize 
Convert each single segment in line and area objects in the source field into multiple segments as needed with each multiple segment no longer than the given Distance. 
Set Z 
Specify a Z value for each object in the source field and save the resulting Zvalued objects into the target field. 
Shift 
Add to or subtract from coordinate values in the source by the given values for a shift in the X direction and in the Y direction and put the result into the target field.
Example: Put into Tgeom the result of Shift applied to Tgeom with a Shift X of 100 and a Shift Y of 0, with the Restrict to selection box checked. 
Smooth 
Replaces coordinates in lines and areas the source field to smooth out apparent curves based on the specified Distance factor and save the result to the target field. A better name might be a simplify function as many coordinates used to provide convoluted lines are reduced into fewer coordinates that provide simpler lines.
Example: Put into Tgeom the result of Smooth applied to objects in Geom using a Distance of 0.002.
Geom is visualized in the drawing above and Tgeom is visualized in the drawing below.
Example: Put into Tgeom the result of Smooth applied to objects in Geom using a Distance of 0.004.
The bigger the distance, the more simple the lines. 
Triangulate 
Triangulates objects. Given lines, areas or multipoints, performs a Delaunay triangulation of the geom coordinates of an object to create triangles as area objects. The borders of the triangles will be constrained by geom segments, that is, they will not cross segments within the geom. 
Triangulate, Lines 
Triangulates objects. Given lines, areas or multipoints, performs a Delaunay triangulation of the geom coordinates of an object to create triangles as line objects. The borders of the triangles will be constrained by geom segments, that is, they will not cross segments within the geom. 
Temp Objects Drawing  The illustrations in this topic were created using the dynamic updating and previewing capabilities of the Transform dialog. For the step by step process see the Example: Two Drawings from the Same Table topic.
Distances  Some templates use combo boxes within which we can specify a distance. The distance units used in such boxes are the units of measure specified for the coordinate system (projection) utilized by the source geom field. The quickest way to see that is normally to rightclick on the table involved in the Project pane and to choose Properties. The FieldCoordSystem.Geom property will show the coordinate system used for the Geom field. Doubleclicking into the value of that property so we can scroll through it sideways we can see what the units are. If the projection in use uses meters as the unit of measure than whatever we enter into Distance for, say, creating a buffer will be a number in meters.
We must, of course, pay attention to what we are doing given the habit everyone has of importing data carelessly into Manifold from whatever Internet source we found first where we could get what we wanted for free. Much such data is in Latitude/Longitude coordinate systems and so it uses geographical degrees as a unit of measure. If we give a Distance of 1 in such cases we are telling Manifold to use a distance of 1 degree, which is about 111 km or 69 miles at the Equator and a different value elsewhere.
It is imprecise and usually really stupid to use Latitude/Longitude when we need to do anything involving distances, but even in this documentation we've done so in the case of the Orthogonalize template discussed above. The example uses a drawing of rivers in Australia that is in Latitude/Longitude projection. Using a Step X and Step Y distance of 0.01 means we are using a grid that is about 1 km by 1 km to orthogonalize the coordinate points.
Transform Templates  Drawings
Transform Templates  Datetime
Transform: Center and Centroids
Example: Two Drawings from the Same Table  Take a table with a geom field that is visualized by a drawing. Add a second geom field to the table and create an rtree index on that field so it can be visualized by a drawing. Copy the first drawing, paste it and adjust the pasted copy so it uses the second geom field. Demonstrate how to use the Transform dialog to show "live" modifications in the second drawing compared to the first drawing.
Example: Copy one Column into Another Column with Transform  How to use the Transform dialog to copy the contents of one column in a table into another column, but only for selected records. Uses the Products table from the Nwind example data set.
Example: Transform Field Values using an Expression in the Transform Dialog  How the Expressions tab of the Transform Dialog may be used to change the values of fields. We include an example of changing the price of selected products and using two different Transform dialogs open at the same time for two different table windows.
Example: Construct JSON String using Select and Transform  Use the Select and Transform dialogs to manually construct a JSON string using values from other fields in a table. Shows how we can manipulate text to build desired contents in a field.
Example: Edit a Drawing with Transform Dialog Templates  In this example we open a drawing and edit objects in the drawing using the Transform dialog Template tab. Includes examples of using the Add Component button and also the Edit Query button.
Example: Use a Transform Dialog Expression to Create Buffers in a Drawing  Use the Expression tab of the Transform Dialog to create three different sizes of buffers for different lines in a drawing and then automatically create a query which does the same thing. Includes examples of using the Add Component button and also the Edit Query button.
Example: Clip Areas with a Transform Dialog Expression  Use the Expression tab of the Transform dialog to clip areas in a drawing to fit within horizontal bounds. Includes examples of using the Add Component button and also the Edit Query button.
Example: Smooth Lines with a Transform Dialog Expression  Use the Expression tab of the Transform dialog to make lines smoother in a drawing so that longer lines are smoothed more. Includes examples of using the Edit Query button to show how different queries are created automatically depending on if we want to update a field or to add a new component.
Example: Transfer Options and Merge Areas  Using the Merge Areas Transform dialog template, an exploration of the difference between using Copy and Sum for transfer options.