0.0.13 • Published 6 years ago

ng-plan v0.0.13

Weekly downloads
10
License
GPL-2.0+
Repository
github
Last release
6 years ago

Ng-Plan

This module will draw a 2D plan drawing from a geoJSON object. It was built to visualize 2D space boundaries from the Building Information Modeling (BIM) authring tool, Revit. It is quite generic, but does have some features that are mainly related to the work done by the W3C Linked Building Data (LBD) Community Group.

The implementation I personally use is the following:

1) Export BOT triples from Revit using Revit-bot-exporter 2) Export 2D space boundaries to WKT polygons using Dynamo script 3) Merge WKT polygons and relevant information to geoJSON using the wellknown library 4) Send resulting geoJSON object to Ng-Plan for visualization

alt text

Install to Angular project

Install package npm i ng-plan --save

Add to app.module.ts

import { PlanModule } from 'ng-plan';

@NgModule({
  imports: [
    ...,
    PlanModule
  ]
})

Now Ng-plan can be used anywhere using the tag.

<ng-plan [data]="data">
</ng-plan>

where data is the geoJSON data.

The Ng-plan toolbar uses material icons, so the following must be added to index.html for the toolbar to display correctly: <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">

TypeAttributeDescriptionRequired
InputdatageoJSON objectx
InputtoolbarDisplay toolbar? Defaults to false
InputcentroidsDisplay centroids? Defaults to false
InputcolorsArray of key/val with {uri: "", color: ""}. Colors will also be read from the geoJSON color property. Defaults to #eee.
OutputclickedRoomFired on room click. Returns the URI of the clicked room and the absolute coordinates based on the original geoJSON.
OutputclickedCanvasFired on canvas click. Use to clear selection or whatever.

Styling | Attribute | Description | Default | | defaultColor | What fill color should be used for rooms where no color is explicitly defined? | #f2flec | | selectedColor | What fill color should be used for selected rooms? | #ebefe4 |

Functionality

  • Zoom in/out using scroll wheel
  • Zoom in/out using up/down
  • Button for zoom extents
  • Displays property "name" as label
  • Displays property "description" as sub-label
  • Appends color based on "color" property
  • Event for clicking either canvas or room
  • Retrieve coordinates when clicking room

Issues / changes

  • Custom icon for zoom extents not working

Future

  • Add support for lines + click lines
0.0.13

6 years ago

0.0.12

6 years ago

0.0.11

6 years ago

0.0.10

6 years ago

0.0.9

6 years ago

0.0.8

6 years ago

0.0.7

6 years ago

0.0.6

6 years ago

0.0.5

6 years ago

0.0.4

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago