speckleworks / speckledynamo Goto Github PK
View Code? Open in Web Editor NEWCheck a brand new Speckle at: https://github.com/specklesystems
Home Page: https://speckle.systems/
License: MIT License
Check a brand new Speckle at: https://github.com/specklesystems
Home Page: https://speckle.systems/
License: MIT License
Because I don't know what I am doing.
Hey. I'm getting this after opening new graph and adding "Speckle Receiver" to canvas in Automatic mode. Same in Manual mode.
"Warning: Whilst preparing to run, this node encountered a problem. Please talk to the creators of the node, and give them this message:
Method not found: 'Void Dynamo.Graph.Nodes.NodeModel.ClearErrorsAndWarnings()'."
Win 10, Revit 2018.2, Dynamo 1.3.2, Speckle for Dynamo 0.0.2.
Edit the project so that it can be built for Dynamo 1.3 and 2.X, this will most likely be done using built configurations and C# preprocessor directives rather than duplicating the entire project.
Step 0:
A lot of nice (read: core) functionality in speckle is enabled (in gh for now, and if @PaulPoinet would have finished his plugin, in rhino too /snide) by adding custom user data to objects. Specifically, this allows users (clients and humans alike) to ask questions to the API on the likes of can you please give me all the objects of type polyline with an area in the range of 4 to 10
or all objects with properties.likes>100
.
In the world of rhinocommon we're struggling to handle this natively, via ArchivableDictionaries
which you can set on any GeometryBase
object (which makes it a pain in grasshopper).
The question is whether it's feasible for dynamo too. I've deleted the issue template, but one section is actually still valid:
UserDictionary
.properties
field.There is a plan to automatically populate the properties
field of a SpeckleObject, upon conversion, with simple common sense stuff, like length, area, volume and later on things like centroid, bounding box, etc. or platform specific stuff like layer name, colour, etc.
There is a further plan to make custom object definitions into something like templates, ie light schema definitions that can be centralised on the speckle server and thereafter magically embedded as object creation tools on the various platforms (ie, automatically create a component that allows users to populate the properties of a line or polyline so that it can be transformed into a wall in archicad or something).
Could probably be done with a right click event on the Sender UI.
As title says, and possibly disable it as long as a wire is connected
Step 0:
How things should actually work!
Now with the release of Dynamo for Civil3D/AutoCAD 2020, please add the following path to the installer:
C:\Users%USERNAME%\AppData\Roaming\Autodesk\C3D 2020\Dynamo\2.1\packages
Step 0:
Update to changes made on core due to speckleworks/SpeckleCore#81
We could easily support Revit elements in streams that go Dynamo to Dynamo. It would mean creating new ObjectModels although they're wouldn't be supported by SpeckleCore. To do so we'd need to:
It might happen from time to time that the receiver is not receiving data. For us to solve this bug, it's very important that we can reproduce it, so try to find a way to consistently reproduce it before reporting it.
As a workaround, you can try the following:
What is needed to have variable inputs in the sender node besides deriving from VariableInputNode
?
Probably there is some old logic in there that I need to clean up...
To investigate, currently reported when the following packages were installed:
archi-lab.net
Archi-lab_Mandrill
Probably Fody Costura is not working as it should...
Update the README with:
Each time a dynamo 2.0 script is reopened any saved speckle sender component has all its inputs and outputs duplicated.
Step 0:
From discourse, by Rasmus:
When using Speckle as the main input for a Dynamo script to create structural elements - I am having problems running the script through Dynamo Player - even though the script is able to run fine through Dynamo on its own.
I am thinking that the Speckle Reciever node needs to be “activated” before use or something like that. I am wondering if this is what causes my problems with running through the Dynamo Player.
Discussed this with @teocomi , and it's a combination of dynamo limitations and how speckle needs to work to get/set data.
After a coffee chat, the proposed solution will be to create a simpler, zero-touch, receiver node that should bypass dynamo player's limitations. One caveat that this receiver will output the data as a dictionary, and not split into output ports.
To be discussed, early days.
Step 0:
To organize the user data per object I was expecting it to work like in GH where you can nest multiple dictionaries per parent like here:
Not sure if this is expected behavior. It seems only possible to nest one dictionary per parent (first stream). List of dictionaries (second stream) is also not accepted, but this is expected. Was expecting to be able to nest multiple dictionaries (third stream)
Step 0:
This a nasty issue. If you place a dynamo sender on the canvas, on reopening the file, it will refresh its stream id (which is not the intended behaviour).
The crazy part is that this happens only to the first sender node; any other subsequent sender nodes placed on the canvas are behaving as expected - no streamId refresh.
Reproduced in dynamo sandbox.
"Speckle Receiver" and "Speckle Sender" nodes should have UI created on them when they're added.
"Speckle Receiver" and "Speckle Sender" nodes have no UI created on them when they're added. They look like this:
The following errors show up in the console, for the receiver:
ViewExtensionCommandExecutive ( UniqueId: 4ee155d2-81f5-4404-ad86-070381b020d2, Name: LibraryUI, commandTypeName: CreateNodeCommand )
Failed to apply NodeViewCustomization for Receiver
System.Windows.Markup.XamlParseException:
Could not load file or assembly 'MaterialDesignThemes.Wpf, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
at System.Windows.Markup.XamlReader.RewrapException(Exception e, IXamlLineInfo lineInfo, Uri baseUri)
at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
at System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)
at System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
at SpeckleDynamo.UserControls.ReceiverUi.InitializeComponent()
at SpeckleDynamo.UserControls.ReceiverUi..ctor()
at SpeckleDynamo.ViewCustomizations.ReceiverViewCustomization.CustomizeView(Receiver model, NodeView nodeView)
at lambda_method(Closure , NodeModel , NodeView )
at Dynamo.Wpf.NodeViewCustomizationLibrary.TryApplyCustomization(NodeModel model, NodeView view, InternalNodeViewCustomization customization)
and for the sender:
ViewExtensionCommandExecutive ( UniqueId: 3afe1dab-9005-4717-bab3-31164de252f5, Name: LibraryUI, commandTypeName: CreateNodeCommand )
Failed to apply NodeViewCustomization for Sender
System.Windows.Markup.XamlParseException:
Could not load file or assembly 'MaterialDesignThemes.Wpf, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
at System.Windows.Markup.XamlReader.RewrapException(Exception e, IXamlLineInfo lineInfo, Uri baseUri)
at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
at System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)
at System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
at SpeckleDynamo.UserControls.SenderUi.InitializeComponent()
at SpeckleDynamo.UserControls.SenderUi..ctor()
at SpeckleDynamo.SenderViewCustomization.CustomizeView(Sender model, NodeView nodeView)
at lambda_method(Closure , NodeModel , NodeView )
at Dynamo.Wpf.NodeViewCustomizationLibrary.TryApplyCustomization(NodeModel model, NodeView view, InternalNodeViewCustomization customization)
Steps I took:
Also, I looked in the package directory (C:\Users\<me>\AppData\Roaming\Dynamo\Dynamo Revit\2.0\packages\Speckle for Dynamo\bin
) and the file MaterialDesignThemes.Wpf.dll
seems to be there:
Maybe I'm missing some dependency? If there's any more information I can provide, just let me know. Any help would be really appreciated 😃
Primitives
Linear
Curves
ToSpeckle()
as NurbsCurve)ToSpeckle()
as NurbsCurve)Other Geometries
Without Dynamo counterpart (?)
And as well to reinitialize sender and receiver when opening a saved file
If a stream coming from GH contains a layer where every item is not on branch {0}, it doesn't show up. Reported by Joël van Herwaarden on slack:
https://hestia.speckle.works/#/streams/owzEGS44R/sharing?s=eyJzZXJ2ZXIiOiJodHRwczovL2hlc3RpYS5zcGVja2xlLndvcmtzL2FwaSJ9
Since the Dynamo extension cannot be distributed as a package, a window installer would be a better solution, the installer could also include the Rhino\gh and other clients
Non initialized Receivers are not saved correctly and don't show up upon re-opening.
Step 0:
Attached a dyn file showing strings properties in dictionaries are causing an error on the Speckle plugin.
Extract&link.zip
Numbers and Yes/No parameters work fine.
Add support for topology so that nested lists become data trees and such
The receiver gets this warning when the output structure is modified.
Confirmed to be the Dynamo bug reported here.
Step 0:
How things should actually work!
closed polyline > closed polyline
Hi, I've tested for the first time SpeckleDynamo, I've sent a closed polyline from Grasshopper to Dynamo, it works but restults as an open polyline
Does this issue propagate to other dependencies or dependants? If so, list them here!
Same as in the GH plugin
Step 0:
SpeckleCore should be able to use serialize and serialize JSON,
Dynamo sandbox loads Newtonsoft.Json version 8.0.0.0 which does not have the NamingStrategy property for DefaultContractResolver, causing an error.
Problematic line:
ContractResolver = new Newtonsoft.Json.Serialization.DefaultContractResolver() { NamingStrategy = new Newtonsoft.Json.Serialization.CamelCaseNamingStrategy() }
SpeckleDynamo
Step 0:
Curves seem fine; nevertheless with a mesh with user data you get:
Warning: UserData.Get expects argument type(s) (Geometry), but was called with (Autodesk.DesignScript.Geometry.Mesh)
🙃
Step 0:
Speckle polylines convert the same way every time
Some PL become rectangles, some become polygons, some become polycurves, some remain SpecklePolyline
SpeckleCoreGeometry
Update conversion logic
Speckle doesn't transfer NurbsCurves from Dynamo to Grasshopper (GH). They appear as nulls in GH. Looks fine in the streams.
Dataset:
Dataset.zip
Spec: Win 10 x64, Revit 2018.3, Dynamo 2.0.1, Rhino 6 SR7 with GH 1.0.0007, SpeckleDynamo 0.0.4 & SpeckleRhino build 420.
Thanks for any help.
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.