Knowledge Base

Article Number: 104 | VC6 | VC5 | VC4 | VC3 | VCPS | Post Date: June 14, 2021 | Updated: June 14, 2021

How can I create polyline CVs from imported data such as total station, RTK GPS, or known CV positions?

There are a few ways of doing this in Virtual CRASH. Below we describe the methods. Remember, a polyline (whether made of straight line segments or curved), is defined by its control vertices (CVs) and the location of its pivot point, where the CVs are internally defined relative to the polyline’s pivot point. A polyline’s position-local (x,y) value defines the position of the pivot point in global space (in the VC environment). At the bottom of this post you can find more information on positioning a polyline in global space.

VC6, VC5, VC4, VCPS Users | Use Point Array

The recommended workflow is to take your list of (x,y,z) (or x,y data where z = 0 for 2-D points), and import them into Virtual CRASH using the Point Array object. Recall, Point Array functionality is described in the User’s Guide (VC6 | VC5 | VC4 | Public Safety).

Here we have an example 3-D point dataset saved as a .txt file (.pts and .csv files are also permitted). In the example below, we are going to take advantage of the “to polylines” feature, which automatically draws polyline objects through points that have exactly the same description (see this Blog post for more information on the “to polylines” feature).

Import these points into your scene either by dragging and dropping the file icon or going to Project > Import. Once you load the data, select the appropriate input settings for your data from the import dialog box. Note, after importing, to place your points at their position in global coordinates, simply set the Point Array’s reference point (x,y,z) to (0,0,0).

Next, select the Point Array object, go to the “convert” menu under tools, and left-click on “to polylines”.

This will automatically create a new group object with polylines. The polylines are drawn by default as linear line segments connecting control vertices (CVs), where one CV is placed at the (x,y) position of each point in the input dataset. Open the group object to access each polyline. The polyline properties can then be changed as needed. For example, enabling “smooth” switches the polyline to a curved line.

Using point array but not “to polylines”

If you do not wish to use the “to polylines” option, you can also simply enable point array snapping, and draw a polyline by snapping CVs to the points within the point array.

 

VC6, VC5, VC4, VC3, and VCPS Users | Use PastE Text Data Option

Another way to create a line or polyline based on imported data is to use the “paste text data” option. First, draw a dummy polyline (2 CVs is enough). Format your points you wish to connect as a single row ASCII file such that they appear (x1;y1)(x2;y2)(x3;y3)…(xN;yN). Make sure the data is ordered properly along the line’s direction. Copy the row of points from your text application such as Notepad, then select your dummy polyline object and in the “vertices” menu, left-click on “paste text data”. This will then automatically place CVs in your polyline with proper relative placement. Note the CVs are position in a local coordinate space relative to the polyline’s pivot point. Change position-local as needed, or use Select and Move, to reposition the line.

 

VC6, VC5, VC4, VC3, and VCPS Users | Snap to axis tool POINTS

Another option is use the Axes tool, use the “add” option in the “points” menu to define your points within the Axes tool. Position the Axes tool’s origin at the appropriate location in your environment, or snap the pivot point to one of the points added to the tool and set position-local (x,y) to the appropriate value. Then with vertex snapping enabled, draw your polyline by snapping CVs to the Axes tool points.

 

Matching to known global position

If you are trying to align a polyline to a known position in global space, first switch to pivot selection type (Shift+P). Enable vertex snapping.  Move and snap the polyline’s pivot point to one of the CVs in the line. Remember, the polyline’s position-local (x,y) value defines the pivot point’s position in global space. Therefore, the final step is simply to set the polyline’s position-local (x,y) value to the known global (x,y) value of the point in the dataset whose CV you snapped to. If you do not know the proper global position for any of the CVs, but instead know the position-local value for the polyline, then simply change position-local (x,y) as required for your scene.


Tags: Make polylines, import polylines, create lines, importing points, total station, RTK.


© 2021 Virtual CRASH, LLC. All Rights Reserved