Copyright © Bentley Systems, Incorporated. All rights reserved. See LICENSE.md for license terms and full copyright notice.
The @itwin/editor-frontend package contains frontend classes for editing iModels.
See the iTwin.js documentation for more information.
The following key-ins are available for this package.
Undo and Redo tools
editor undo all- Undo all changes to elements.
editor undo single- Undo last change to elements.
editor redo- Redo last undone change to elements.
Basic manipulation tools
editor delete elements- Delete selected elements.
editor move elements- Move selected elements.
editor rotate elements- Rotate selected elements. Accepts 0-3 arguments:
method=0|1How rotate angle will be specified. 0 for by 3 points, 1 for by specified angle.
about=0|1|2Location to rotate about. 0 for point, 1 for placement origin, and 2 for center of range.
angle=numberRotation angle in degrees when not defining angle by points.
editor create arc- Create a new arc element or add an arc to an existing open path. Accepts 0-3 arguments:
method=0|1|2|3How arc will be defined. 0 for center/start, 1 for start/center, 2 for start/mid/end, and 3 for start/end/mid.
radius=numberArc radius for start/center or center/start, 0 to define by points.
sweep=numberArc sweep angle in degrees for start/center or center/start, 0 to define by points.
editor create circle- Create a new circle element.
editor create ellipse- Create a new ellipse element.
editor create linestring- Create a new linestring element or add a linestring to an existing path.
editor create rectangle- Create a new rectangle element.
editor create bcurve- Create a new bspline curve element or add a bspline curve to an existing path.
Solid primitive tools
editor create sphere- Create a new sphere element.
editor create cylinder- Create a new cylinder element.
editor create cone- Create a new cone element.
editor create box- Create a new box element.
editor create torus- Create a new torus element.
Project extents and geolocation tools
editor project location show- Show the decoration for editing the iModel's project extents and geolocation.
editor project location hide- Hide the decoration preserving unsaved changes (call show to redisplay).
editor project location cancel- Clear the decoration and abandon unsaved changes.
editor project location save- Save the modified project extents or geolocation.
editor project geolocation point- Enter latitude, longitude, altitude, and north angle for a known location. Accepts 0-4 arguments:
latitude=numberLatitude of accept point in degrees.
longitude=numberLongitude of accept point in degrees.
altitude=numberHeight above ellipsoid of accept point.
north=numberNorth direction in degrees of accept point.
editor project geolocation north- Define north direction by two points.
editor project geolocation move- Tweak geolocation by defining a translation from two points.
Project Extents and Geolocation
editor project location show command, with a spatial view active, enables the display of the project extents and geolocation controls.
- A clip volume representing the current project extents.
- The current size is shown in locate tooltip using the active distance formatting.
- Control to define the ECEF origin.
- Click to run the
editor project geolocation pointcommand.
- This control is not displayed when the imodel has a valid GCS defined.
- Click to run the
- Control to define the north direction.
- Click to run the
editor project geolocation northcommand.
- This control is not displayed when the imodel isn't geolocated.
- When a GCS is defined, the current north direction is displayed for information purposes but can't be modified.
- Click to run the
- Controls to define the project extents.
- Click an arrow control to resize.
The decorations and controls are expected to be selectable and modifiable by the default tool.
Changing the project extents
Use the arrow controls (#4) to resize the project extents.
If making the project extents larger, it is helpful to have the background map displayed to avoid decoration clipping.
While there isn't hard limit imposed on the size of the project extents, when any dimension exceeds the recommend maximum a warning symbol is displayed.
For the project extents height, the recommended maximum is 2 km.
For the project extents length and width, the recommended maximum when a GCS is defined is 350 km, and 20 km for imodels that aren't map projections (only ECEF transform defined). In addition to the warning symbols near the arrow controls, a red transparent fill is also displayed to help indicate the xy extents may be too large.
Adding or Updating Geolocation
If an imodel is not currently geolocated, or is incorrectly geolocated without a valid GCS defined, the geolocation control (#2) will be displayed. Clicking on this control runs the
editor project geolocation point command, and after snapping to a known coordinate you will be prompted to enter new values for latitude, longitude, altitude, and north angle.
If the imodel is already geolocated, the tool settings is populated with the current values for the snapped coordinate. If you don't know the north direction angle, not to worry, this can be defined interactively with another control once the model has an ECEF origin defined.
Interactively Defining North Direction
The north direction can set interactively by 2 points, click on the north direction control (#3) to run the
editor project geolocation north command.
After zooming out far enough, only the north direction control will be displayed in the view. This may be helpful for seeing where the project is located on the globe or visually confirming the proper north direction.
The north direction control is only displayed after an imodel has been geolocated.
Interactively Tweaking Lat/Long/Altitude
If the geolocation is almost correct, the latitude, longitude, and altitude can be interactively adjusted by defining a translation by 2 points.
For example, running the
editor project geolocation move command can be used to correct an incorrect altitude for the building below that is half buried in the terrain.
First identify a point on the building to move from, it can be helpful turning off map locate for this point if it's below the terrain. For the second point, with map locate re-enabled and the active snap mode set to nearest, identify a point on the terrain to complete the adjustment.
AccuDraw can be very helpful when adjusting altitude. Use the T/F/S shortcuts to orient the AccuDraw compass, use Enter (smartlock) to lock an axis to snap the 2nd point. For this example F and Enter were used to lock the up direction before changing to nearest snap for the 2nd point.
Now we can see the building correctly adjusted for the terrain.
Saving And Abandoning Changes
To abandon changes to the project extents or geolocation currently being previewed, run the
editor project location cancel command.
To turn off the display of decorations while preserving unsaved changes, run the
editor project location hide command. Use
editor project location show to restore preview of unsaved changes.
To save the changes being previewed, run the
editor project location save command.