console app into "Rhino\System\" directory the program runs fine. I've searched for days regarding the loading of dll's but to no avail. Could it be that the Rhino dll's are protected in the program files directory? The code is very simple, please take a look.
using Rhino.Geometry;using System;using System.Collections.Generic;using System.Text;namespace Rhino{ class Program { static void Main(string[] args) { Point3d j = new Point3d(1, 1, 1); Point3d k = new Point3d(2, 2, 2); List<Point3d> list = new List<Point3d>(); list.Add(j); list.Add(k); Console.WriteLine(new List<Point3d>{j,k}); Point3d p = Point3d.Add(j, k); Console.WriteLine(Point3d.ArePointsCoplanar(list, 1.0)); Console.Read(); } }}
…
. Solution exception:Could not load file or assembly 'Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. The system cannot find the file specified.
I assume it is related to how/where the components and related files were copied to the GH special folders.
Both Newtonsoft.Json.xml and PrairieDog.gha have been copied to the "Libraries" folder of GH.
Are there any other requirements in terms of where the Prairie Dog folder should be located and the app run from?
+1 for additional sliders
+1 for expressions
Thanks for your hard work.
Grant
…
priety software). Think Kangaroo with RON 100 fuel (add some nitrous oxide).
Back to domes.
1. Obviously you know the free WinDome Bono thing...but anyway get it (code included).
2. As I said on another thread (http://www.grasshopper3d.com/forum/topics/the-necessity-for-a-data-tree-manager) ... the big thing in AEC (because, for instance, nobody does domes for decoration/artistic stuff etc etc) is how to implement already designed things (see images above) within a smart stuff definition (or many).
3. Goes several steps beyond: these "breps" (to speak GH/Rhino language) are in most cases nested and some parts are "locked" for transformations some other not. That's the big thing when trying to outline real-life AEC solutions in the so called Smart applications. I think that this is not doable in Rhino since there's no way to edit (in place) a nested block.
4. Goes even further: for each custom made thing (truss nodes and the likes) ... there's a bill waiting. Meaning that the less customized a solution is (with regard industrial sourced existed parts) the more is possible for the client to sign the dotted line.
Best, Peter…
subsequently able to retain a higher level of flexibility.
In Rhino however a rectangle is defined as only a plane and two numeric intervals (one for x, one for y). The possible solutions to this would be:
Extend the Rhino SDK Rectangle3d type to include constant radius fillet corners. This can be done, but is a lot of work and will break the SDK.
Create a new type in Grasshopper which is smarter than Rectangle3d. This complicates developing for Grasshopper because now you have to keep two different types in mind whereas before only one was needed.
Remove the Fillet Radius input from Rectangle components. I like this solution because it results in cleaner, simpler code, but it does mean people may need to use two components where before one was sufficient.
Make the Rectangle type smart enough so that it can recognise filleted rectangles and undo the filleting. This is something I can do right now for Grasshopper 1.0 and it in all likelihood would not break actual existing files even though it is technically a behavioural change.
I'll try and get (4) done for Rhino 6 SR1, I might decide to do (3) for Grasshopper 2.0. I sincerely doubt that (1) will ever get done and I dislike (2).…
Added by David Rutten at 4:38am on November 6, 2017
t, you can find it in this thread.
2. there can be several reasons why Wasp chooses always the same part (rules, part geometry, connections orientation, etc.). Unfortunately I cannot check your file, because the geometry is missing, and it is built with a very old Wasp version. I would suggest you to update the file to the latest Wasp version available here, include the Rhino file, and then I can take a look.…
nition, not a GH bug, but this gave me a little idea: as I saw in the last version of GH, the clusters are back. There is no link with the memory, but this is the idea: I know that GH is not a multi-threaded app, but could it be possible to assign the execution of these different clusters to, let's say one processor-core each? (in a distributed-rendering like interface: cluster A rendered by core 1, B by core 2, etc.) And as GHowl allows to send datas through networks, it could also be possible to link multi-sessions of GH on different PCs as well, no? ...…
rtitions." (http://wias-berlin.de/software/index.jsp?id=TetGen&lang=1)
To continue with my wrapping career, TetRhino (or Tetrino) is a .NET wrapper for the well-known and pretty amazing TetGen mesh tetrahedralization program. It provides one new GH component for discretizing or remeshing objects using TetGen. Basic tetrahedralization functionality is exposed with a few different output types that can be controlled. At the moment, the only control for tetrahedra sizes is the minimum ratio, which is controlled by a slider. This is hardcoded to always be above 1.0-1.1, as it is very easy to generate a LOT of data (and crash)...
The libs are divided again into different modules to allow flexibility and fun with or without Rhino and GH, so have fun. All 4 libs should be placed in a folder (maybe called 'tetgen') in your GH libraries folder. Remember to unblock.
Once again, the libs are provided as-is, with no guarantee of support for now, as I use them internally and do not intend to develop this into a shiny, polished plug-in. If there is enough interest, I can tidy up the code-base and upload it somewhere if someone more savvy than me wants to play.
TetgenGH.gha - Grasshopper assembly which adds the 'Tetrahedralize' component to Mesh -> Triangulation.
TetgenRC.dll - RhinoCommon interface to the Tetgen wrapper.
TetgenSharp.dll - dotNET wrapper for Tetgen.
TetgenWrapper.dll - Actual wrapper for Tetgen.
Obviously, credit where credit is due for this excellent and tiny piece of software:
"The development of TetGen is executed at the Weierstrass Institute for Applied Analysis and Stochastics in the research group of Numerical Mathematics and Scientific Computing." See http://wias-berlin.de/software/index.jsp?id=TetGen&lang=1 for more details about TetGen.
To wrap up, some notes about the inputs:
These are the possible integer Flags (F) values and resultant outputs for the GH component:
0 - Output M yields a closed boundary mesh. Useful for simply remeshing your input mesh.
1 - Output M yields a list of tetra meshes.
2 - Output I yields a DataTree of tetra indices, grouped in lists of 4. Output P yields a list of points to which the tetra indices correspond.
3 - Output I yields a DataTree of edge indices, grouped in lists of 2. Output P yields a list of points to which the edge indices correspond. Useful for lots of things, very easy to create lines from this to plug into K2 or something for some ropey FEA (or not so ropey!) ;)
As this component can potentially create a LOT of data, especially with dense meshes, care should be taken with the MinRatio (R) input. This will try to constrain the tetra to be more or less elongated, which also means that the lower this value gets, the more tetra need to be added to satisfy this constraint. Start with very high values and lower them until satisfactory.
Hopefully shouldn't be an issue, but it's possible that you need the 2015 Microsoft C++ Redistributable.
Happy tetrahedralizing...
UPDATE: The tetgen.zip has been updated with some fixes.
UPDATE2: This is now available on Food4Rhino: http://www.food4rhino.com/app/tetrino
…
Added by Tom Svilans at 1:27am on October 24, 2017
quite know where I'm going wrong. I can say that I have successfully put together a separate file which will send data directly to the Arduino (switch on a boolean toggle and watch an LED light up... how fun:) but receiving the data is a bit more complicated. For a long time, I was getting a continuous loop error, which would freeze my app. I've changed around the code (see attached file), but I'm still not receiving any data from my COM port (which I know is definitely working because I can turn on the Serial Monitor from the Arduino IDE and see the data coming in). I did have one question: Can you call different routines inside the script class (from Grasshopper), or do you have to always call the run script subroutine? If you guys have any suggestions I would greatly appreciate it. I understand it's a bit tricky to trouble shoot this issue since you may or may not have an Arduino handy to stream the data to your computer... but let me know if you see any glaring issues with the code.
Cheers,
Andy…