cesiumgs / cesium-ion-sketchup-extension Goto Github PK
View Code? Open in Web Editor NEWSketchUp extension for uploading and tiling models with Cesium ion.
Home Page: https://cesium.com
License: Apache License 2.0
SketchUp extension for uploading and tiling models with Cesium ion.
Home Page: https://cesium.com
License: Apache License 2.0
We need to apply to the SketchUp developer program and publish the extension to the official warehouse.
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.
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.
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.
Sketchup then reports "No Access to Cesium ion account".
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)
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:
require
s to the top of the file and remove duplicates.require_relative
require 'aws-eventstream'
-> require_relative 'aws-eventstream'
aws-sdk-core
, move all Aws::Xml
classes above the Aws::Json
classesaws-sdk-core
, then file contents from aws-sdk-core/plugins/protocols/json_prc.rb
need to be copied into aws-sdk-core.rb
jmespath
, move JMESPath::Nodes::Node
above JMESPath::Nodes::Subexpression
aws-sdk-s3
, all files from aws-sdk-core/waiters/
need to be copied into aws-sdk-s3.rb
before they are used.Cesium::IonExporter
namespacezip.rb
you'll need to change all ::Zip
to be Cesium::IonExporter::Zip
It's supported by the server, so we should use it as an extra layer of security.
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.