npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

ng-plan

v0.0.13

Published

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

Downloads

32

Readme

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">

| Type | Attribute | Description | Required | | ----- | --------------------- | --------------------------------------------- | :------: | | Input | data | geoJSON object | x | | Input | toolbar | Display toolbar? Defaults to false | | | Input | centroids | Display centroids? Defaults to false | | | Input | colors | Array of key/val with {uri: "", color: ""}. Colors will also be read from the geoJSON color property. Defaults to #eee. | | | Output| clickedRoom | Fired on room click. Returns the URI of the clicked room and the absolute coordinates based on the original geoJSON.|| | Output| clickedCanvas | Fired 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