Smart Join Command

D_SmartJoin_600ppi   Smart Join Command

Command Licensing and Default Menu Location

  • The Smart Join command is part of the RPS Data Prep Toolbox
  • The command is located on the Data Prep macros menu ribbon
  • The command is located in the Create/Edit menu group

Last Updated

June 16 2022: Version 5.70 of RPS Command Library

Command Description

Quickly joins disconnected lines using automated or manual processes suited to fixing CAD and PDF line errors at the same time as joining lines for Data Prep purposes

Command Interface Description

The Smart Join command dialog looks as follows

Join Type:
When joining line segments together into a continuous line, the lines selected may have gaps (longitudinal, lateral, overlaps, cross overs etc.) between the end points of the selected segments. The Smart Join command provides several join types that “resolve” most typical CAD and PDF linework issues.

Select the join type that makes the most sense for the data that you are working with from the following options

  • Simple Join - simply connects line segment 1 to line segment 2 with an extra segment between
  • Keep First - keeps the end of line segment 1 and moves the nearest end of line segment 2 to the end of line segment 1
  • Keep Second - keeps the end of line segment 2 and moves the nearest end of line segment 1 to the end of line segment 2
  • Mean - Moves the end of line segment 1 and the end of line segment 2 to the mean coordinate position between the two line segment ends
  • Keep Shortest - Moves the end of the line which has the longest end segment of the two selected lines to the end of the line segment with the shorter end segment to minimize the change in geometry effect of the resulting line
  • Intersection - trims / extends the line segments to the intersection point of the two selected lines and joins them at that location. Note this function is controlled by the maximum intersection length setting when using the Auto multi select functions.

Use crossing point checkbox
Check the checkbox if you have line segments that physically cross over each other. Once checked, the command will trim off the shortest end of the crossing lines and join the lines at the crossing point of the two lines.

If the selected segments touch at their end points they will be joined correctly without any change in geometry. When there is a gap or overlap or crossover, the ends of the lines will be moved or trimmed according to the settings selected. Be aware that whichever option you select, there will be an impact on the resulting line geometry to some degree unless the two selected segments are colinear with a gap or overlap. You can later define some tolerances that will limit the process of joining to acceptable levels of node movement. If you are concerned about node movement set tight tolerances like 0.01, and if you are OK with looser controls enter larger values. The larger the values entered the more geometry changes you can expect to incur.

The command is great for Data Prep for Takeoff where you are working with PDF linework that is already less accurate than CAD linework but good enough for bid / takeoff purposes. It also works well for Data Prep / Modeling purposes, however tighter tolerances should be used with more manual controls applied during joining for Data Prep / Modeling processes.

While there is not a one size fits all join that will work in every possible scenario, the Simple Join or Shortest Join with the Use Intersection checkbox enabled should address most join needs.

Close lines checkbox:
When you are joining lines, if the first and last node of the same line are within the maximum join distance and or maximum lateral movement tolerance settings, the lines will be auto adjusted and closed using the currently selected join type if this checkbox is enabled. If it is not enabled, the lines will remain unclosed.

Selection Mode:
Select the join mode that you wish to use from Manual, Auto (Single) or Auto (Multiple) mode

Manual - select a single source segment and then click adjacent segments in alternating pairs to join the lines at the ends at which you clicked the lines (nearest or furthest ends as appropriate).

Auto (Single) - select a single source segment and then click adjacent segments one at a time, or multiselect segments that make up a line and they will be sorted and joined into a single line. In this mode you will be working on a single line at a time. In this mode the lines will always be joined at the nearest ends of the selected lines.

In Manual Mode the lines will always be joined at the ends closest to where the click was made to select the lines - this way you can be selective on how the lines will be connected. In the Single and Multiple modes the lines will always be joined at the ends that are nearest to each other,

When you select individual segments to join in Single mode / single select method, you can select anywhere on the line segment and the command will work out which is the nearest end of the source and target line that should be joined together for you. This means that you do not have to zoom in and out all of the time to make sure that you select the correct end of each line to get a correct join.

If you select multiple line segments that fall outside of the multiselect tolerances defined below, then only segments that are within tolerance will be connected into a single line seeded from the source line segment. This means that you can use simple window or multiselect methods to join multiple segments into a single line.

If you select multiple segments in one go, they will be processed immediately as they are selected. The selected segments will be sorted and then joined provided that they meet the criteria created in the multiple join settings defined below

Auto (Multiple) - In this method, select multiple line segments for multiple lines and have them join automatically on clicking Apply or pressing Enter. In this mode you will be creating multiple lines in each selection process.

Source line:
In either Manual or Auto (Single) mode you can select a source line. The source line will be used to seed the line that will be created. When you click in the Source line field, the command assumes that you are starting a new line in the join process and will not connect to any previous line that you have selected or created. Note that this is a single Back Tab from the target lines selection field that you can program into your mouse or gaming keyboards if you use one that makes it easy to step back into the Source line from the mouse controls while working in production mode.

Auto Advance “Sticky” button:
With the Auto Advance sticky button turned off (no orange highlight) the behavior of the command is to click a source line then a single or group of target lines target lines and for the command to join those lines together and then switch back to the next source line selection. This process will repeat after each target line(s) selection.

With the Auto Advance sticky button turned on (orange highlight) the behavior of the command is to click a source line then the first target line(s) and then another target line(s) and again etc. To start a new line either pressing N or C on the keyboard, select the source line field manually or use Back Tab to select the source line field.

Join line(s):
Select a single line segment or multiple line segments to which you want to join to the source line. When in Auto (Single) mode, if you select lines that do not meet the multiple join criteria settings below, then they will be ignored in the join process - this means that you can select more data than required using standard Window or multiselect methods, and only create the line that you are working on.

Clicking the Options button provides access to the advanced selection modes (Advanced Select, Select by Elevation, Select by Layer etc.)

Auto join settings:
When using the Auto (Single) mode and selecting multiple line segments or when using the Auto (Multiple) mode and selecting multiple line segments, the command requires some additional controls to stop it from creating erroneous joins. When you select single segments one at a time, you are able to make the decision whether or not the resulting join is appropriate. When you select multiple segments to create the lines, the software has to make those decisions and the following controls provide the settings through which you can manage the joining process.

Maximum join distance:
This setting controls how far apart the nearest end points of the two segments being joined can be before the join will not be created i.e. if you are joining dashed line segments that are 1’ or 0.2m apart use 1.1’ or 0.25m as the setting to allow all the joins requested to be created.

Maximum lateral movement checkbox:
With the different join types and different join scenarios possible, you will want to limit how much lateral distance (offset) you are prepared to allow when joining line segments. For PDF lines, it is common to see offsets of 0.1’ between the ends of arcs and starts of straight segments, so you would use e.g. 0.15’ here as a setting to allow the ends of the straight segment to be moved to the end of the arc segment while joining. Offsets larger than 0.15 would then not be joined.

When working in Auto (Single) mode and when selecting one segment at a time, you will be making the decisions as to how to join the lines together. In this scenario, you should turn off the Maximum join distance and Maximum lateral movement checkbox. If you are group selecting target lines then you should enable these two settings to limit the way that the auto-joining works to avoid undesirable results.

Maximum Intersection Length Checkbox:
When working with the Intersection type of join, use this setting to prohibit the software from finding intersection locations that are a long way from the ends of the selected line segments. When the setting value is exceeded, the software will revert to the simple join type of connection between line segments.

Use straightest join checkbox:
When joining multiple lines or even single lines that double back on themselves, it is common to have more than one possibility that meets the criteria defined by the selected tolerances when lines come close together (e.g. contours). Use this checkbox to have the command use the line that has the straightest (least deflection) connection to the source segment. In this scenario, the straightest connection would override the shortest connection.

Blue line = Shortest join
Pink line = Straightest join

Use alternate colors checkbox:
When joining multiple segments into multiple lines, on completion it is often hard to know what the command did i.e. what did it not manage to join together because the tolerance settings failed etc. If you enable this checkbox, and select two different and contrasting colors, each line that is created will be given one then the next line the other alternative color etc. so that on completion you can clearly see what worked and more importantly what did not work so that you can focus on fixing the remaining joins required.

Only join lines with same:
In addition to all of the above join constraints, the following additional checks can also be added to further restrict erroneous joins in certain scenarios

Elevation checkbox:
When checked, the smart join function will only join two line segments if they have the same or no elevation.

Layer checkbox:
When checked, the smart join function will only join two line segments if they are drawn on the same layer.

Name checkbox:
When checked, the smart join function will only join two line segments if they have the same or no name property.

You can use these checks in combination or in isolation to further tighten the join capability.

Join information:
In this area, you will see some tips that indicate why a line selection did not join, you can use this to diagnose which setting to change to facilitate joining of lines. This applies when you use the multi select controls where the settings are required to determine the correct / incorrect joins.

You can use the Auto (Multiple) mode to get the majority of the lines connected and then use the Manual or Auto (Single) mode(s) to fix up the last remaining joins depending on how you want to join the lines.

You can use the W A S D keys to pan the screen Up, Left, Down and Right while working with this command

You can start a new line for joining by clicking N on your keyboard

Use Tips:
While using the command, if for any reason you need to review the lines that have / have not been joined through use of select and highlight process, you can do that by selecting the Auto (Multiple) mode which allows multi selections to be made but not applied automatically.

While using the command if you have lines that should be closed which fail to close automatically, you can close them by clicking on the Break Command in the command header to open the break command which allows you to see the properties of a selected line - you can then change the Auto Close property for the line to close it and then escape from the Break command to return to the joining process. Because there are two selections going on in the Smart Join command, the properties pane will not be populated with properties of objects while running the command.

Header commands:
The following commands enabled in the header of the RPS SmartJoin command.

  • RPS Settings
  • Break
  • Delete Segment
  • Takeoff Lines
  • Trim / Extend Lines
  • Fillet / Chamfer
  • Offset Line
  • Variable offset line
  • Append Tracked Line
  • Profile Viewer
    Change Elevation
    Adjust Linestring Elevation

Pan Hot Keys:
You can use the WASD keys to pan the view while using this command.

N key to start a new join sequence:
If you click the N key that will move the command focus back to the Source line field to start a new line

Apply is used primarily for the Multiple Method of working. When you tap apply, the multiple line segments selected will be joined together 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 Close to finish the process. The Enter key also works as Apply.

Closes the command without further execution.

Video Demonstration

The following video shows how to utilize the Smart Join command

In Smart Join v5.70 we have added some minor improvements / bug fixes as well as added new controls for limiting joins by Elevation, Name and Layer and also provided a feedback to advise you as to why a multi join failed to process i.e. which setting caused the cessation of joining operations. The video below shows how these controls work.

Use Case Videos

The following videos show the use of the Smart Join command in a work process context

Feedback and Enhancement Requests

If you would like to provide feedback on the use of the Smart Join command or to request enhancements or improvements to the command please click “Reply” below