GithubHelp home page GithubHelp logo

alfarok / dynamoviewport Goto Github PK

View Code? Open in Web Editor NEW
33.0 33.0 13.0 6.4 MB

A simple view extension for visualizing Dynamo geometry.

License: MIT License

C# 29.04% JavaScript 69.26% HTML 1.23% CSS 0.47%

dynamoviewport's People

Contributors

alfarok avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar

dynamoviewport's Issues

Viewport should use new Dynamo extension panel API

Viewport should use new Dynamo extension panel API instead of relying on xaml naming conventions

Currently there is an API breaking change between DynamoCore versions 2.2 and 2.3 as the library xaml column naming was changed, as developers now have the option to use the extensions panel. The band-aid solution was just to simply update the naming but this also means building master will now result in a package that will not run in DynamoCore versions prior to 2.3 breaking 2.X compatibility. If Viewport ever makes it to the package manager this needs to be addressed.

More details can be found in #15 as the update to the new naming convention was made at this time.

Viewport should load all pre-existing geometry when instantiated

When a new instance of viewport is launched through the Dynamo UI all render package data should be read, translated, and displayed in the viewer. Currently, this only happens after a new RUN or when additional changes are made in the graph forcing a new execution.

Viewport should fallback to Canvas Renderer if WebGL fails to load

Until WebGL can be used in Dynamo without having to have a custom built we should use the canvas renderer if WebGL cannot be loaded. This would allow Dynamo 2.0 users to use the plugin immediately without any additional modifications.

Dynamo 1.3 should be able to run WebGL as it still uses the old library. I believe CEF would have to be included in the extension for this to work. I previously created a 1.3 branch that doesn't include any of the 2.0 API changes. This requires some testing.

Associated node geometry gets out of sync

When toggling previews on and off I have noticed geometry sometimes remains or gets linked with another node. This leads me to believe the association between nodes and the container used to store each nodes geometry classified by the nodes GUID is getting out of sync. Need further research into the issue.

Zero-Touch library for modifying render loop

Create sample Zero-Touch nodes that inject javascript into the render loop.
Example:

public static void MoveP2P(object geometry, point a, point b, double time)
{
    // injects string into local CEF browser scene
}

Viewport view disappears after seconds

Hi! I'm just beginning to work with Dynamo Extensions and I would need to use ChromiumWebBrowser in order to show certain information about the nodes of the system.
Since your project is super complete and uses a structure that it's really similar to what I want to do, I cloned your DynamoViewport by following the instructions.
It worked perfectly, the first time I downloaded it, but after doing some tests (to learn how it worked) I decided to remove the repository and clone it again. I haven't managed to make it work again since then: the grid showes in the view disappears for just a couple of seconds but then disappears, not allowing me to use the extension...
Do you know what the problem could be? Thank you very much!

Create post-build event for copying required extension files

Copy ViewportViewExtension.dll from C:\..\REPO_LOCATION\DynamoViewport\src\ViewportViewExtension\ViewportViewExtension\bin\x64\DebugOrRelease to C:\REPO_LOCATION\Dynamo\bin\AnyCPU\Debug

Copy Viewport_ViewExtensionDefinition.xml from C:\..\REPO_LOCATION\DynamoViewport\src\ViewportViewExtension\ViewportViewExtension\Viewport_ViewExtensionDefinition.xml to C:\REPO_LOCATION\Dynamo\bin\AnyCPU\Debug

Cromely and React

Love the idea! I was trying to get something very similar to work with Cromely and React. Although I don't get exactly the way you send the tasks to be executed from the front-end!
This is actually a very interesting solution that should be further developed.

Dynamo 1.3 support with WebGL

Dynamo 1.3 should be able to run WebGL OOTB as it still uses the old library. I believe CEF would have to be included in the extension for this to work. I previously created a 1.3 branch that doesn't include any of the 2.0 API changes. This requires some additional testing.

Change the rotation angle

Hi @alfarok,

Thanks again for all the help in the previous issue. I have been working with the Viewport this week and It is a very useful tool to create quick videos with our geometry in a very clean way. Please have a look to the last video I have done.

GIF DNA

I am wondering if there is an easy way to tweak the code and see the commands bar of the CEF browser to change more parameters. I would love to only rotate around the z axis in some cases.

Have a good day and trust you keep safe.

Regards,
Sergio

Find better solution for timing issue when javascript functions are invoked via CEFSharp

For now 3 try/catch statements prevent this error from firing. It seems most apparent on the last case update when a toggling of geometry happens. It could be due to an overlap of event firing. I think when a IsVisible event is triggered additional workspace events fire but the behavior is not consistent on show/hide. See this comment for more details and convoluted logic:

https://github.com/alfarok/DynamoViewport/blob/master/src/ViewportViewExtension/ViewportViewExtension/ViewModels/ViewportWindowViewModel.cs#L150

Example try/catch:

https://github.com/alfarok/DynamoViewport/blob/master/src/ViewportViewExtension/ViewportViewExtension/Resources/assests/js/viewer.js#L224

Old syncing issue:

#5

Not allowed to load local resource:

hi,
I keep getting the error listed below when I click on Launch Viewport. Any thoughts on how to get around it?
Not allowed to load local resource: file:///C:/Users/lucia/AppData/Roaming/Dynamo/Dynamo%20Core/2.8/packages/Viewport/extra/index.html

How could we install it?

Hi Keith,

Congratulations for creating this fantastic functionality. I heart about it in the Hackathon of London 2019 and I wanted to test it, It looks really cool in Youtube to play with the geometry while orbiting. I have installed Revit 2020 and Dynamo 2.2.1.5291, together with Dynamo Core 2.2.1.5175 and also DynamoSandbox 2.0.2 and DynamoSandbox 2.4.0.
I followed your steps to clone the Repo and paste it in the different package folders, but nothing is showing when running Dynamo in any version.
If I could be put in the right direction, it will be really appreciated.

Thanks in advance.
Bests,
Sergio

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.