Polylines are wonderful objects that serve a multitude of purposes for the CAD user. They can be used to depict a road or route to take, the exterior of a building, the canopy of a tree, the path taken by a plane as it flies, a mathematical curve following an equation, the boundary of a parcel or just about anything you can imagine. In fact, it is one of the most versatile CAD objects that almost every drafter uses on a daily basis. But, the tools you find in AutoCAD and Bricscad to edit the ubiquitous polyline are not easy to use. In this post, I will show you some cool stuff that you can do to polylines using GeoTools (and that you can never do in a plain CAD system).
I am going to demonstrate to you a family of part editing tools in GeoTools which work on polylines.
GT_PARTEXTRACT - Extract part of polyline
GT_PARTCOPY - Copy (and move) part of polyline
GT_PARTOFFSET - Offset part of polyline
GT_PARTSTRETCH - Stretch part of polyline
GT_PARTMIRROR - Mirror part of polyline
GT_PARTROTATE - Rotate part of polyline
GT_RESHAPE - Reshape part of polyline
As you can see from the RED highlighted area in the pull-down menu to your right, all of these part edit commands are available under the Polyline ToolSet 2 and are built with one single philosophy - to be able to apply the Copy, Offset, Stretch, Mirror, Rotate, or Redraw ONLY parts of polylines. That is what part editing is all about. Imagine if you had to offset or rotate a part of a polyline. You would have to explode it, and run the necessary editing commands on the parts (segments) that you want and then re-assemble the remaining polyine back into its original form. In doing so, more often than not, errors in geometry and precision are introduced in the polyline. In other words, having to explode, edit and re-assemble is a messy way of doing CAD editing of polyline but in reality, it is still a popular way of doing polyline editing.
The good news is that it need not be that way anymore. We have changed the way drafters do polyline editing using GeoTools. As you can see from the illustrative images below, you can see the BEFORE and AFTER effect of polyline editing with our part editing tools. I am sure the picture speaks for itself. Look at the images and then read the explanation of what goes on behind the scenes.
The GT_PARTEXTRACT command extracts a part of a polyline between two picked points and creates a new polyline at exactly the same segment locations (see fig A)
Fig A ---->
The GT_PARTSTRETCH command stretches a part of a polyline between two picked points and creates new, updated geometry joining the stretched ends with the un-stretched ones. (see fig B)
Fig B ---->
The GT_PARTOFFSET command offsets a part of a polyline between two picked points and creates a new polyline at the specified offset distance from the original one. (see fig C)
Fig C ---->
The GT_PARTROTATE command rotates a part of a polyline between two picked points and specified base point and updates the existing polyline to the newly formed geometry. (see fig D)
Fig D ---->
The GT_PARTRESHAPE command reshapes part of a polyline between two picked points and allows a new geometry to be digitized between these two points and connected to the existing polyline at the two ends. (see fig E)
Fig E ---->
When you start any of the part editing tools described above, you are prompted for the first and next vertex. All the segments in between these two picked vertices define the part of polyline to be edited. GeoTools will internally create a sub-set of the polyline comprising of these segments and will apply the required editing command on this sub-set only. So, if you are doing a PARTEXTRACT, this sub-set of polyline will be created on top of the existing polyline at the same location. If you are doing a PARTCOPY, a rubber band appears and the newly created sub-set polyline can be dragged around and placed at a new location. If you are doing a PARTROTATE, you can rotate these segments with a specified base point and the entire polyline will re-adjust itself. If you are doing a PARTSTRETCH, you can drag and place the entire sub-set at a new location and the command drops two new connectors to the existing locations of first and second point from which they were picked. Ditto with PARTMIRROR - the first and last points of the new segment will be used as the axis of the mirror.
You can read this blog in Spanish also. Click here...