JOSM/Plugins/CADTools

From OpenStreetMap Wiki
< JOSM‎ | Plugins
Jump to navigation Jump to search

Introduction

CAD Tools plugin allows the user to make CAD-like edits of map elements.

Note: User interface is recently modified. We ask for feedback.

Summary

CAD Tools is a tool group with recently 8 different tools. This plug in was developed with 6 functions as a diploma thesis (paid by the company Elektrobit Automotive) of Anamaria Rotariu and supervision from Marek Strassenburg-Kleciak. Recently version with new tools is developed by user Cetusek from Poland.

Description

  • Plugin Building generalization
  • From irregular polygon to regular polygon - redraws the selected shape so it looks like a polygon .
  • Straight way - makes straight the way between two selected points.
  • ' Cut ' corners: edit the corners of a building .
  • From polygon to circle: generation of polygon from 3 given points (points that lie on the circle).
  • From polygon to ellipse- generation of regular ellipse consisting of 4 x n edges.
  • Mirror reflection: generates a mirrored copy of activated polygon.
  • Multiply circular: generates n-copies of a polygon around a circle.

Download

https://github.com/ROTARIUANAMARIA/CADTools/raw/master/CADTools.jar

Functions

From irregular polygon to regular polygon

  • First of all, the user has to select as many closed ways as he wants, and after that he can press the specific button. As a result, those buildings are converted to regular polygons.

Example:

Make closed polygon (mostly building=yes) straight

  • First of all, the user has to select two nodes from one closed way (building), and after that he can press the specific button. As a result, the segments between these two points are deleted.

Example:

Notes:

  • Nearly orthogonal angles (not between 85° and 95°) remain unchanged. These values can be changed in preferences.
  • Deleting nodes may be an issue if they have other meaningful tags (such as doors and access points or address nodes): these nodes should be preferably moved to the nearest position on the regularized shape, even if they create colinear segments in the resulting way. Use this tool with caution !
  • This tool contrasts with the "Orthogonalize" built-in tool in JOSM which makes the opposite decision in order to regularize nearly orthogonal angles to 90°, moving nodes if necessary (but not deleting them), and with the "Align" and "Distribute nodes" built-in tools which force the alignment of all intermediate nodes independently of their current connection order and of their current angles (creating colinear segments, possibly overstriking in opposite directions).

'Cut' corners

  • First of all, the user has to select as many closed ways as he wants, and after that he can press the specific button. As a result, the corners of those objects (mostly building=yes) are changed (cutted).

There are two ways of cutting:

  1. Percentage of the wall length (default behavior).
  2. Absolute length of the wall which should be cutted. Note: the user may specify the value (radius) for cutting. Reason for this function: More precisely drawing of objects (mostly buildings) with corners cutted at 45° .

Both functions allows cutting corners with rounding (comes soon: for now reiterate the operation as wanted). With the first method this will produce nearly elliptical splines for the corners, with the second one corners will be nearly circular with a fixed radius. Each iteration triples the number of nodes (excluding the last node which should be the first one) in the selected closed way. When a way is not closed, the first and last nodes will not be affected by cutting.

Example:

From circle to regular polygon with defined nr. of corners

  • First of all, the user has to select exactly three points that are representative for an imaginary circle (these points must not be connected) - the imaginary circle will pass through these points. After that, he can press the specific button and he has to write into the "No. of segments text box" the number of edges for the resulting polygon.

Example:

From polygon to ellipse

  • The first way the user can do this is to select exactly three points - the last selected point always has to be the center of the ellipse. After that,the user can press the specific button and he has to write into the "No. of segments text box" the number of edges for the resulting polygon. The final polygon will have 4 * no. of edges segments.
  • The second way the user can achieve this, is to select one rectangle (or many rectangles). After that,the user can press the specific button and he has to write into the "No. of segments text box" the number of edges for the resulting polygon. The final polygon will have 4 * no. of edges segments.

Example using rectangles:

Example using three known points:

Mirror copy

  • Activate an unclosed polygon with a minimum of 3 points. Click the button "mirror copy". A new way will be drawn connecting the first and last node of the existing way, all other nodes being symmetrically mirrored relative to the line passing through these two nodes, and connected in the reverse order of the original way. After the copy, you may want to join the two ways to create a closed way.

Example: