Giter Site home page Giter Site logo

cesiumgs / cesium-ion-sketchup-extension Goto Github PK

View Code? Open in Web Editor NEW
7.0 17.0 2.0 1.56 MB

SketchUp extension for uploading and tiling models with Cesium ion.

Home Page: https://cesium.com

License: Apache License 2.0

Ruby 77.38% HTML 22.62%
sketchup sketchup-extension 3d-tiles cesium-ion cesium

cesium-ion-sketchup-extension's People

Contributors

analyticalgraphics avatar mramato avatar tfili avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

cuulee metad4x2

cesium-ion-sketchup-extension's Issues

Oauth redirects to localhost

OS: Windows 10
Browser: Edge
SketchupPro 2019

I downloaded and tested this extension. After signing in to my Cesium ion account, I granted read and write permissions. Next, I was redirected to localhost:10101, which doesn't resolve because I am not running any web servers locally.

screenshot

Sketchup then reports "No Access to Cesium ion account".

Digitally sign the extension

Currently, the extension shows up as unsigned. I'm not sure if the signing process happens as part of the publishing to the extension warehouse, or if that's something we need to handle separately (CC #2)

Cleanup module dependencies

Updating third party modules is a huge pain and we should automate if we need to. Here's a little run through.

The included modules are in the thirdparty directory. Those modules are run through RubyPacker to combine each module into a single file.

Run a command like this on each of the 8 modules

RubyPacker.exe "thirdparty/jmespath-1.4.0/lib/jmespath.rb" "src/cesium_ion/thirdparty/jmespath.rb"

Once the files are generated, you need to go through them and give them a little TLC:

  • Move all requires to the top of the file and remove duplicates.
  • Any requires for other modules we just combined, need to be switched to a require_relative
    • eg require 'aws-eventstream' -> require_relative 'aws-eventstream'
  • Some minor moving around
    • In aws-sdk-core, move all Aws::Xml classes above the Aws::Json classes
    • In aws-sdk-core, then file contents from aws-sdk-core/plugins/protocols/json_prc.rb need to be copied into aws-sdk-core.rb
    • In jmespath, move JMESPath::Nodes::Node above JMESPath::Nodes::Subexpression
    • In aws-sdk-s3, all files from aws-sdk-core/waiters/ need to be copied into aws-sdk-s3.rb before they are used.
  • Put all files in the Cesium::IonExporter namespace
  • In zip.rb you'll need to change all ::Zip to be Cesium::IonExporter::Zip

Gem.install is not recommended for release builds

Hi there!

I'm from the SketchUp Extensibility team, maintaining the APIs and reviewing extensions.

Noticed the heavy usage of Gem.install which I'd like to discourage. More information here:
https://rubocop-sketchup.readthedocs.io/en/latest/cops_requirements/#sketchuprequirementsgeminstall

To make the experience better for the users and ensure extensions are self contained so they don't clash with other extensions its better to bundle the gem into the extension package within your own namespace. There is a tool by another extension developer that might simplify the process for you:
https://github.com/kengey/sketchup-dev-tools-and-examples

You can see (one of the many) threads about using gems in production SketchUp extensions here in the forums:
https://forums.sketchup.com/t/install-prawn-gem-in-sketchup-2016/76229/20?u=tt_su

Add option to export edges

Currently, we export models without edges in all situations. We should add an option to export edges and ensure that Cesium ion maintains them throughout the tiling process.

Re-enable preserve_instancing

Currently, we disable preserve_instancing to work around some potential issues in the conversion/tiling process. Once this is addressed on the ion side of things, we should re-enable it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.