t, and it worked great!I can already see some of the nice benefits of its usage. With the Google Earth component, you made a quite a remarkable addition to the Ladybug set of components! Keep up this great work!
Just as a mention: I am attaching a screenshot of two new components:The first one: "Terrain analysis" performs a couple of terrain analysis types, and the second one: "Flow paths" performing the water flow analysis.Screenshot example of both is given below:
It would be nice if your Terrain Generator component could benefit from using these two new ones.In order to do that, Terrain Generator would have to output the terrain in a form of surface as well. My modest advice would be to add the "type_" input, which will determine whether the "terrain" output is a mesh, or a surface. This will make it consistent with Terrain Generator 2 component.To create the terrain surface from a grid of points, use the NurbsSurface.CreateThroughPoints method:
import Rhino as rcuDegree = vDegree = 3uClosed = vClosed = FalseterrainSurface = rc.Geometry.NurbsSurface.CreateThroughPoints(pts, numberOfPtsIn_vDirection, numberOfPtsIn_uDirection, uDegree, vDegree, uClosed, vClosed)
Of course this is just a suggestion, I am not imposing anything.…
inner As Curve() = section.ToNurbsCurve().Offset(normal, pc, -plate, 1e-3, 1e-4, Rhino.Geometry.CurveOffsetCornerStyle.Sharp)
the error message is:
"
{0}0. Error: Het oplossen van de overbelasting is mislukt omdat dit aantal argumenten door geen enkele toegankelijke Offset wordt geaccepteerd. (line 104)
"
this is the VBA script:
"Option Strict OffOption Explicit On'Import SDK and Framework namespacesImports RhinoImports Rhino.GeometryImports Rhino.CollectionsImports GrasshopperImports Grasshopper.KernelImports Grasshopper.Kernel.DataImports Grasshopper.Kernel.TypesImports GH_IOImports GH_IO.SerializationImports SystemImports System.IOImports System.XmlImports System.DataImports System.DrawingImports System.ReflectionImports System.CollectionsImports System.Windows.FormsImports Microsoft.VisualBasicImports System.Collections.GenericImports System.Runtime.InteropServices'Code generated by Grasshopper(R) (except for RunScript() content and Additional content)'Copyright (C) 2011 - Robert McNeel & Associates<System.Runtime.CompilerServices.CompilerGenerated()> _Public Class Script_Instance Implements IGH_ScriptInstance#Region "Members" ''' <summary>List of error messages. Do not modify this list directly.</summary> Private __err As New List(Of String) ''' <summary>List of print messages. Do not modify this list directly, use the Print() and Reflect() functions instead.</summary> Private __out As New List(Of String) ''' <summary>Represents the current Rhino document.</summary> Private doc As RhinoDoc = RhinoDoc.ActiveDoc ''' <summary>Represents the Script component which maintains this script.</summary> Public owner As Grasshopper.Kernel.IGH_ActiveObject#End Region#Region "Utility functions" ''' <summary>Print a String to the [Out] Parameter of the Script component.</summary> ''' <param name="text">String to print.</param> Private Sub Print(ByVal text As String) __out.Add(text) End Sub ''' <summary>Print a formatted String to the [Out] Parameter of the Script component.</summary> ''' <param name="format">String format.</param> ''' <param name="args">Formatting parameters.</param> Private Sub Print(ByVal format As String, ByVal ParamArray args As Object()) __out.Add(String.Format(format, args)) End Sub ''' <summary>Print useful information about an object instance to the [Out] Parameter of the Script component. </summary> ''' <param name="obj">Object instance to parse.</param> Private Sub Reflect(ByVal obj As Object) __out.Add(GH_ScriptComponentUtilities.ReflectType_VB(obj)) End Sub ''' <summary>Print the signatures of all the overloads of a specific method to the [Out] Parameter of the Script component. </summary> ''' <param name="obj">Object instance to parse.</param> Private Sub Reflect(ByVal obj As Object, ByVal method_name As String) __out.Add(GH_ScriptComponentUtilities.ReflectType_VB(obj, method_name)) End Sub#End Region ''' <summary> ''' This procedure contains the user code. Input parameters are provided as ByVal arguments, ''' Output parameter are ByRef arguments. You don't have to assign output parameters, ''' they will be null by default. ''' </summary> Private Sub RunScript(ByVal p0 As Point3d, ByVal p1 As Point3d, ByVal p2 As Point3d, ByVal pc As Point3d, ByVal plate As Double, ByVal itt As Integer, ByVal dev As Double, ByRef crvout As Object, ByRef crvin As Object, ByRef sec As Object, ByRef opp As Object, ByRef div As Object, ByRef pt4 As Object) 'your code goes here… opp = "test01" Dim section As New Polyline(5) section.Add(p0) section.Add(p1) section.Add(p2) section.Add(pc) section.Add(p0) Dim normal As Vector3d = vector3d.CrossProduct((p1 - p0), (p2 - p0)) Dim area As Double Dim chicken_int As Int32 = 0 Dim XX As Double Dim YY As Double Do chicken_int += 1 If (chicken_int > itt) Then Exit Do 'Compute the section offset Dim inner As Curve() = section.ToNurbsCurve().Offset(normal, pc, -plate, 1e-3, 1e-4, Rhino.Geometry.CurveOffsetCornerStyle.Sharp) Dim edges As New CurveList(inner) edges.Add(section.ToNurbsCurve()) crvin = edges Dim sections As Brep() = Brep.CreatePlanarBreps(edges) If (sections Is Nothing) Then Exit Do opp = "test02" 'Compute the centroid of the current section Dim am As AreaMassProperties = AreaMassProperties.Compute(sections(0)) Dim ct As Point3d = am.Centroid XX = am.CentroidCoordinatesMomentsOfInertia.X YY = am.CentroidCoordinatesMomentsOfInertia.Y area = am.Area Dim dx As Vector3d = pc - ct 'Compute the error of the current centroid Dim dl As Double = dx.Length div = dl 'Update output values crvout = section crvin = inner sec = sections(0) opp = area If (dl < dev) Then Exit Do 'Adjust outline with a boosting factor. section(3) += dx * 4 Loop pt4 = section(3) crvout = section End Sub '<Custom additional code> '</Custom additional code> End Class
"…
e geometry is an open brep...
1. Your simulation probably did not run correctly. Check the report out of the Run Simulation component to see what severe or fatal errors happened in the simulation. If there are no severe or fatal errors, the issue could just be that there is .eio file adjacent to the .csv _resultFileAddress. Check the folder of the file address you are plugging into this component and make sure that there is both a .csv and .eio file in the folder.
There si a .csv in the folder. but not an .eio..
1. To make myself clear, I know use the second definition assuming i is more accurate because I have build the room with separate surfaces(windows as childsrf.) and than added them in a zone.
The only thing that concerns me is that the attributes letters show in reverse, even-though I flipped them to the correct direction(check the 3D model at the message above).
Thanks,
Nita
…
t difficult to know how to modify your curves.
But if the curves are too weird or too different, it won't get much better. Remember you can still move control points while kangaroo is running.
The wrong of this method is that you don't have real control.
Setting deviation to 0 is usually not very useful unless your curves are almost good. With the wavy curves you sent me, I was happy with 2 (Deviation is something like a % of the curve length).
I much prefer the other method. Curves with few control points, you're able to define tangencies, you've got high degree continuity. With 4 to 5 cp, Galapagos will have a wide range of shapes to explore. With more cp you'll get smooth tuning. You can still take the relaxed surface as a base to draw such curves.
Other ways to increase developability.
First is obviously Sampling. This one is quite tricky. Higher sampling might result in either better or worse results. It's very cpu expensive too, because it involves a little more than (Sampling)² operations each time.
Second is the surface type. Usually Network surface is the best, and allows to join multiple planks with less sampling. It's more expensive too, and runs only with Rhino 5. Loft tight is a decent replacement.
The "Reverse curve list" button, and the multi planks mode when you input more than 2 curves.
But everything depends on your tolerances and that I can't answer.
There are still some bugs here and there, especially in the cusp filter part. Sorry about the unit of Gaussian curvature, I forgot to fix it. It's model units, so it should be [1/m²] in your case.
About the pc slowing, it's really vital to block timers all the time and turn phasma on and off when you must. I experienced some slowing today though, and I was worried, but it's normal now so it must have been Windows or some GUI thing...
Fred.…
I am not knowledgeable about google maps nor google maps api, but from what I read the two components will definitely show a bit different results due to different topography sources.If it is judging by this 2010 article, your Terrain Generator component offers much higher precisions for USA. Precision goes up to a couple of meters, which is amazing!!On the global scale it offers either SRTM 1 or 3 arc-second data or 30 arc-second GLOBE data. Again this is from the mentioned article, I couldn't find this information by searching the Google Maps website.Terrain Generator 2 component always uses SRTM 1 arc-second data from opentopography.org, and it is limited to 60 degrees north and does not have data for Antarctica. It does not come with satellite image either which is another very convenient feature that you have!I couldn't find information about the allowed radius provided by the Google maps api free account. I limited the "radius_" input to 100 000 meters, even though opentopography.org provides more than that (I successfully downloaded 300 000, but Rhino 5 was not able to create a topography on my PC from such a large amount of data).Even though I couldn't compare the results from two components, by looking at your upper example_LB_terrain_generator.gh definition: set the "I" input of "Surface from points" component to True. In this way the surface will be interpolated through points, which is what we want.
Again thank you for the permission, and I look forward seeing those high precision topography that Google maps offers!!…
requiredKeys_ input of the "OSM Shapes" component. This is not the source of your problem though, but still I mentioned it in case you solve your issue, and afterwards want to use the "OSM Shapes" component.
The current (Win32Exception): WindowsError is the very same error message that you reported back in February.For some reason, your Windows is not allowing the Gismo "OSM Shapes" component to delete C:\MapWinGIS_installation_folder\gdal-data\osmconf.ini file.
You previously solved it by allowing the full access control to it, so I am not sure why it is not working now.Windows 10 seems to be the most overprotected operating system among other Windows versions, at least judging by the questions people asked so far.
Maybe you can try to turn off all the services which prevent users from changing certain files, like UAC or maybe even your antivirus?
Try this:
1) Close your Grasshopper and Rhino.2) Restart your PC3) When it boots up again, in your Start menu's search box type: "UAC". Click on it, and a new User Account Control Settings window will open. Set the bar on the left to "Never notify".4) Completely turn off your Antivirus.5) Check once again if your access control to the C:\MapWinGIS_installation_folder\gdal-data\osmconf.ini file is still set to the values you previously reported in this post.6) Right-click on "Rhino 5" icon and then choose: "Run as administrator".7) When Rhino boots up, run Grasshopper, and open the newest create_3dbuildings_trees_streets.gh file from here.If none of this helps, maybe you have some other application which deals with access to files on your system? Malware removal application or similar? Try turning it off too.…
Added by djordje to Gismo at 9:10am on April 3, 2017
ceros.
Public concerné /
Architectes et designers, utilisateurs de Rhino souhaitant paramétrer Rhinocéros à l’aide de Grasshopper,
programme associant des composants et une structure de graphe interagissants avec le modèle Rhino.
Une bonne connaissance de Rhinocéros est nécessaire. La langue de la formation est le français.
Structure et Objectif de la formation /
La formation se déroule sur 3 jours : les 2 premières journées sont consacrées aux « fondamentaux » de
Grasshopper avec en préambule une introduction au design et à l’architecture paramétrique et leurs impacts
dans la conception, la création et la construction.
La troisième journée sous forme d’atelier est dédiée à l’étude de cas concrets proposés par les stagiaires, qui,
quelques jours avant la formation, pourront envoyer leurs projets par mail à - info AT rhinoforyou DOT com -
Les stagiaires, après la formation, pourront rester en contact avec les formateurs de HDA par le biais du
blog complexitys.com et le twitter @HDA_Paris. La durée de cette formation permettra d’atteindre une
autonomie et une bonne compréhension basée sur des exemples concrets.
Programme ind icatif des notions traitéES pendan t la formation /
Introduction à la conception Paramétrique . Rhinoscript, Grasshopper: différences et similarités . Interface
graphique de Grasshopper . Objets, Données, Listes . Opérateurs scalaires : La mathématique de
Grasshopper . Gestions des données : la logique de Grasshopper . Vecteurs, Points, Lignes, Surfaces : La
géométrie de Grasshopper . Listes, Arbres, Branches . Le dessin paramétrique: exercices divers et exemples
. Références, Bibliographie, Support de cours . Ateliers d’architecture et design paramétrique (3ème jour) .
Moda lité de la formation /
Venir avec un PC portable équipé de Rhinocéros version 4.0 SR 7 et de la dernière version du plug-in
Grasshopper (téléchargeable sur www.grasshopper3d.com).
Le coût du stage de 3 jours est de 1050 € HT par personne.
Réserver votre place dès que possible car les places sont limitées à 10 participants maximum.
Inscriptions et renseignements: Jacques Hababou, info AT rhinoforyou DOT com
Pour en savoir plus sur l’architecture paramétrique: www.complexitys.com…
the end of the workshop Student performance objectives
- Understanding some basic concepts of Grasshopper, such as; Mathematical Function, Geometry, etc.
- Creating a simple parametric design system.
---------------------------------------------------
Schedule :
Deadline for Registration : April 02,2013
Workshop Starts : Thursday, April 02, 2013 - 5:30 pm
The workshop consists of 10 lectures, Each lecture lasts for 3 hours.
3 lectures per week
---------------------------------------------------
Fees :
600 L.E
You have to fill the Registration Form below for place reservation.We only have few places available.
---------------------------------------------------
Prerequisite :
-Basic knowledge of any 3d modeling software “Sketchup, 3dsmax, Rhino, Maya, ...,etc.” is required to attend the workshop.
---------------------------------------------------
Registration Form:
https://docs.google.com/forms/d/1W5CptB7FyU2d37_aqtSaBN_sxPqj7491HUN_NFgGyg8/viewform
---------------------------------------------------
Previous workshop
https://www.facebook.com/events/469048376477647/
https://www.facebook.com/media/set/?set=a.548388031851299.1073741826.470747186282051&type=1
https://www.facebook.com/events/178326265647678/…
ot possible to run meshmachine within Kangaroo2?
Now my problem is similar to Farah's. In Grasshopper, the component does not work. The error message says:
1. Solution exception:Could not load file or assembly 'PlanktonGh, Version=0.3.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
So unlike Farah's error message it's looking for PlanktonGh and version 0.3.0.0
Trying this on a university PC
Cheers
Thomas…
n before?
PointCloud PC = new PointCloud(); PC.AddRange(Pts); Vector3d n = Vector3d.ZAxis; if (VP == null) { Rhino.Geometry.BoundingBox BBox = PC.GetBoundingBox(false); Rhino.Geometry.Box BoundingB = new Rhino.Geometry.Box(BBox); VP = BoundingB.PointAt(0.5, 0.5, 1); VP.Z = BoundingB.Z.T1 * 100;
} List<Vector3d> Normals = new List<Vector3d>(); double Dev = 0; foreach (Point3d point in Pts) { List<Point3d> Neighbors = Pts.FindAll(V => V.DistanceTo(point) < D); Rhino.Geometry.Plane NP = Rhino.Geometry.Plane.WorldXY; Plane.FitPlaneToPoints(Neighbors, out NP, out Dev); if (Dev > MD) //FileSystem.Print("This computation Is Not As accurate As desired, Try lowering the distance tolerance or rasing your Maximum Deviation"); n = NP.Normal; if (n * (VP - point) > 0) { Normals.Add(n); } else { Normals.Add(-n); } } A = Normals;…