PDF Vectors on Demand Command

D_PDFVector_600ppi PDF Vectors on Demand

Command Licensing and Default Menu Location

  • The PDF Vectors on Demand command is part of the RPS Modeling Toolbox
  • The command is located on the Modeling macros menu ribbon
  • The command is located in the Takeoff menu group

Command Description

Provides the ability to extract single line vectors from a Georeferenced PDF page into the project on demand. Extract contours and pads and elevate them during extraction. Extract feature lines for alignments, pavement edges, sidewalks, lot lines, ROW lines, Easements as they are required.

Command TBC Version Dependencies

This command is only supported by TBC v5.7.0 and higher. It requires the use of the “Snap locations” that were introduced to the Georeference Image command.

Command Interface Description

The PDF Vectors on Demand command dialog looks as follows

Command Pre-Requisites:

The command requires the following to have been carried out prior to it’s use

  1. PDF pages have been imported and Georeferenced using the Georeference Image command (not Placed using Place Image or Inserted using Insert Image commands).
  2. During the Georeferencing process the “Save snap locations” checkbox (see below) was checked to facilitate the creation of the snapping locations in the PDF image (This was introduced in TBC v5.7.0 so this command is 100% dependent on the use of TBC v5.70).
  3. If you need to change the setting on an already Georeferenced Image, you can select the image in the Project Explorer - Imported Files section, and then right click and select Georeference Image to access the setting and change it to enabled.

PDF Selector:
The command operates on a single imported PDF sheet at a time. When you select the sheet from the available sheets all other sheets will be switched off in the view filter manager, allowing you to focus on just the selected sheet.

Note: The PDF Snap Locations are Point Snaps (in TBC v5.70) or Vector PDF Node Snaps (In TBC v5.70.1) as far as the TBC Snap controls are concerned. Point Snapping or Vector PDF Node snap should be turned on in your project running snaps, and should be set to the highest priority in the running snaps list in v5.70 but later versions >v5.70.1 of TBC it is less critical.

Maximum points

The maximum points control allows you to set a maximum limit for the number of points that can be selected for the before and after line selections. This setting will limit the stepper and slider controls. The number that you set here needs to be greater than the number of points that will be used to create the vector line. The control is primarily used to stop you selecting too many points in the file to form a single line. The control is used for both the Automatic and Manual modes of operation.

Show direction checkbox:
Check this if you want to display the line direction indicators on the selected line

Line properties:
In this area you will define the properties of the lines that will be created as you extract the vectors from the PDF image.

Select the layer onto which you want to place the vectors that you are extracting. You can change the layer at any time, allowing you to direct different types of data onto different layers. You can add new layers to your layer list and filter the layer list using the standard RPS Layer controls.

Click Here for more information on the Layer List Filter control
Click Here for more information on the New Layer control

Close checkbox:
If the lines you are extracting are closed loop lines, check this checkbox to set the “Auto Close” property on the line as it is extracted.

If the lines that you are extracting are chorded approximations of what would have been lines containing arcs in the source CAD system, you can check this checkbox to optimize the lines after extraction to return them to curvilinear lines in TBC. This process utilizes the RPS Optimize Linestrings engine to convert the chorded lines to curvilinear lines. The last used settings of that command will be used here to optimize the linestrings created.

Click Here For more information on the Optimize Linestrings function

Processing rules

In this section you currently have two options for how to extract the PDF Vectors - Automatic and Manual.

The current implementation of the command is ideal for extracting feature lines that are continuous lines and of constant elevation e.g. Existing or Finished Grade Contours, Building Pads etc. In PDF files you will typically find two types of lines

  1. A continuous line like a contour, building pad, building outline etc. that would have been a 2D / 2.5D (constant height) polyline in the source CAD system. These can include what would have been curve and straight sections in the original CAD file e.g. Design Contours for retention ponds that are chorded when written into the PDF file by the source CAD system.
  2. A series of discontinuous line segments that represent straight and curve elements that may have been 2D, 2.5D or 3D in the source CAD system. These can include what would have been Arc and Straight line segments that were either discontinuous in the source CAD system, or that were defined as 3D polylines or CAD lines in the CAD system, that get broken into individual line elements when they are written into the PDF files. These are typically used to represent centerlines, curb, gutter, sidewalk and often design contours in ponds etc.

The first type of line is well supported in the current command implementation, the second is supported but is currently not optimized for fast feature extraction. The second type of lines are typically not written into the PDF file as sequential line segments, and the straight sections are typically defined by 2 nodes that are the same nodes as the adjacent curve section end points making them hard to select using the methodolgy used in this command. We will do a second release of the command when we have created an optimal way to extract these types of line.

Automatic mode

In the Automatic mode, we are using specific search criteria to find sequences of points that make up the lines that we extract. The command is using the PDF Snap Point list that is created for each PDF Vector Sheet to determine a sequence of points. You will select a Seed location e.g. in the middle of the line that you want to extract, and the extract engine then looks in both directions from that seed point in the list to find a sequence of points that it believes form a single line.

The line in one direction is colored in one color and the other direction in a second color (the colors are defined in RPS Settings under Highlight Color settings).

Note: Choose colors for these settings that are clearly different from the colors assigned to the layers onto which you will place the extracted vectors, and that are clearly different to the highlight color defined in your TBC Options for data that you select.

The line identification process uses simple criteria to determine whether or not the point sequence forms a line or not. The controls use

  1. Stop line if closes on itself - check this checkbox if you are extracting closed feature lines like building outlines, pads, closed loop contours etc. If the process finds two points in the sequence that have the same or close to the same coordinate the line chaser will stop in both directions at that point. Be aware if your target line in the PDF is a dashed line, there can be hundreds if not thousands of nodes in the line. When you check this checkbox, every node has to be checked to see if it has already been selected to verify the close scenario. This process can take a while on long lines comprising many dashes.

Note: closed features normally have a common point at the start / end, making this control ideal for extracting closed features.

  1. Max distance - enter the maximum distance that you will allow two adjacent points to be apart before you consider the line to be terminated. This setting stops one line connecting to a second line (line jumping) once the maximum distance is exceeded.

Note that contours in files are typically drawn across the sheet e.g. from left to right and they are typically drawn sequentially e.g. from the lowest to highest, the distance from the end of one contour to the start of the next is normally a large distance. This makes this setting ideal for extracting contour features.

Note that curved sections of lines or arc line segments are always chorded in a PDF file. The chords are typically short in comparison to the straight line segments that connect them. The max distance control can be effectively used to extract arc segment lines quickly.

Contour lines are often represented as dashed lines. A dashed line has a repeating pattern of pern down pen up dashes and gaps. The largest gap or dash length can be used to limit possible line jumping using the maximum distance setting.

  1. Max deflection - enter the maximum deflection angle that you are prepared to accept between adjacent line segments that are being extracted e.g. enter 95 or 100 degrees for buildings to catch anything up to a right angle corner (do not use 90 degrees as PDFs are not as accurate as CAD and a right angle corner may not be exactly 90 degrees in the PDF file).

Note: Curvilinear features like curb and gutter or design contours in e.g. ponds or road centerlines will typically have tangential segments (on roads at least) so allowing only small deflection angles will work well for these types of features. Existing contours and design contours can have large deflection angles so this control works less effectively for these types of features.

You can use any combination of the controls in the automated extraction process.

Rules Used
At the bottom of the processing section of the dialog, you will see the rules that were used by the automatic extraction engine to determine the stop point(s) for the line that were identified.

Switch to Manual Mode Button
If you find that the automated extraction is not working on a specific line, you can switch to manual mode that allows you to manually control where the line extraction starts and stops for the problematic line. A failure like this will occur, it will be highly dependent on the data in the file and in scenarios where the auto extract engine fails to find a good solution based on the settings / controls available and the settings currently defined to accurately determine the path of the selected line i.e.

  • The end points of adjacent lines are closer together than the max distance required to find the sequence of points
  • The line is not identified as a closed line because the start and end point match is not found
  • The line contains large deflection angles so you cannot constrain lateral jumps between lines

In these scenarios you are 100% dependent on the point sequence and manually identifying how far back in the point list and how far forwards in the point list that you have to go. This is where you switch to Manual mode of operation.

Note: if you switch between Automatic and Manual Mode tabs, the line that is currently being looked at in Automatic mode is discarded and manual mode starts over with no seed location or starting lines selected. If you are working on a line in Automatic mode, that isn’t working for you for some reason, if you use the Switch to Manual Mode button, then the line details that you are currently working will transfer over to Manual Mode so you can carry on where you left off in Automatic Mode.

Automatic Mode - User Tips

When extracting the segmented type of lines, we recommend setting your max distance control to the maximum chord length of the curved sections only, and extract the curved segments of the lines. Once extracted use Smart Join to join them together using Manual mode or Auto Single mode. You can also use Takeoff Lines in combination with Append Tracked Line to create the curvilinear features from the extracted arc segments, supplementing those with a start of line and end of line point as necessary.

When extracting lines defined with dashes, set your Max Distance control to a distance just above the dash or gap length (whichever is longer), in this way you can rapidly select these lines with little likelihood of line jumping.

When extracting curvilinear features e.g. continuous line pond contours (that are designed contours with arc and straight elements), use a max deflection angle of e.g. 20 degrees because most of the line elements will be close to tangential to each other, this will stop any likelihood of line jumping. Remember also that if you have continuous lines e.g. pond contours that were drawn with arcs and lines in the source CAD system, that the arc chording will be relatively short segments, but the straight sections of the lines will likely be only one points at each end and therefore have long line segments - so your maximum distance control will need to be set to accommodate both types of segment length - if the contours are not closed, the max deflection angle will be your best means of stopping line jumping.

Manual Mode

In manual mode you are identifying how far back and how far ahead of the seed point the line extends. There are no criteria in use here other than the point sequence in the point snap list.


There are two main approaches to working in this mode of the command.

  • The first method to try is to select a seed location somewhere within the line and then to use the sliders and steppers to identify the start and end of the line. You can then click in the start field and end field to select the actual start (beginning of the “points before” line) and actual end (end of the “points after” line). You can also accurately select the start and end using the stepper controls if you prefer.
  • Where you have a sequence of open lines as can be the case with contours, that all have their start or end locations at the same end of the line, you can simply click in the seed location field to select the start / end of the line and then use the sliders / steppers to find the other end of the line. When you select the seed point at one end of the line, if the selected location is the start of the line, then you will see the “points after” line color as the line to chase. The “points before” line can be set to 0 points before using the slider. If the selected location is the end of the line, then you will see the “points before” line color as the line to chase. The “points after” line can be set to 0 points using the slider.

Manual Mode - Main steps recommendation

  1. Select the seed point
  2. Use the points before slider to get close to the start and either use steppers to get exact or select the Start location field and click the start point.
  3. Use the points after slider to get close to the end of the line and either use the steppers to get exact or select the End location field and click the end point
  1. Enter or accept the elevation value
  2. Apply and repeat the process.

The method will vary based on whether you select the seed point in mid line or at one end of the selected line, and also on whether the line is open or closed.

Seed location

The seed location is the point that you select to start the vector line identification. There are two ways that you can work with this

  1. Select a point at the start or end of the line that you want to select - this allows you to work with just one of the slider controls (forwards or backwards depending on which end of the line that you select) to create the vector line. This approach is sometimes easier to work with when you have open lines.
  2. Select a point somewhere in the line - this allows you to work with both slider controls (both forwards and backwards from the seed point) to create the vector line. This approach is good for both open and closed lines but is really the only approach for closed lines because it is unlikely that you will know where the start / end point of the line is.

# Points before / # Points after controls

  • Start location - select the start point (or what you think is the start point of the line - remember that when you select the start point, the computed line follows the sequence of points ahead of the selected point in the point snap list.

This may cause the computed line to start where you select and then jump to the next contour and continue if you selected the end point of the desired line not the start point.

If you selected the start point then you can use the points after slider / steppers to find the other end of the line. If you selected the end point of the line then you can use the points before slider / steppers to find the other end of the line.

The slider controls provide the ability to

  1. Drag the slider to the left to reduce the number of points before the selected seed point that will be used to create the vector line.
  2. Drag the slider to the right to increase the number of points before the selected seed point that will be used to create the vector line.
  3. Use the forward / reverse i.e. single step button (single arrow) to increase (right) or decrease (left) the number of points by 1 with each click.
  4. Use the fast forward / fast reverse i.e. multi step button (double arrow) to increase (right) or decrease (left) the number of points by 10 with each click.
  5. Enter a numerical value in the displayed points area to override the slider controls and enter a defined number of points.

The colors displayed for the # Points before and after controls are the colors of the lines heading backwards / away or forwards / away from the seed point selected. These colors are defined in RPS Settings under Highlight Colors.

When you use the steppers or sliders, the lines on screen will dynamically update to reflect the changes being made using the controls.

Apply elevation checkbox

While extracting vectors, you can elect to work in 2D i.e. no elevation or in 3D where you will select a single elevation for the line being extracted. The 3D mode is applicable when the line being extracted is 3D and has a constant height e.g. a Building Pad or a Contour Line. Where lines are 3D and have variable height it is more practical to either trace the 3D line using Takeoff Lines, entering elevations where they are provided or to extract the vectors in 2D and then elevate the line using the linestring editor (vertical mode).

When checked, you can enter an elevation for each line before extracting the vector line. If you are extracting contours in a sequence for finished grade or existing ground, you can set a Delta value (an increment or decrement step) so that after each contour is extracted the elevation value will either increase or decrease by the defined delta in readiness for the next contour extraction.

The blue “sticky” button at the end of the elevation entry field allows you to toggle between elevation entry or to skip over elevation entry and accept the value that has been defined. For example if you have a number of vector lines that all have the same elevation, you can toggle the control to enabled (Orange glow) and enter the elevation value once and it will be repeated on each vector line extracted automatically.

If you want lines to have no elevation, enter a ? into the elevation field.

Automatically adjust elevation checkbox

The automatic elevation adjustment is enabled by checking the Automatically adjust elevation checkbox and then selecting Decrease or Increase mode depending on which order of contour sequence you will be selecting.

The line extraction can be executed using the Apply button or by pressing the Enter key.

When you tap apply, the vector line will be extracted and the command will ready itself for another selection set and repeat process execution. If you do not want to make a second selection and repeat the process tap Cancel to finish the process.

Executes the command and closes on completion

Closes the command without further execution.

Video Demonstration

The following video shows how to utilize the PDF Vectors on Demand command

Use Case Videos

The following videos show the use of the PDF Vectors on Demand command in a work process context

Feedback and Enhancement Requests

If you would like to provide feedback on the use of the PDF Vectors on Demand command or to request enhancements or improvements to the command please Click Here