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.…
but the order in which K gets changed is the same order that all of the other lists get changed.
For example (I'm not at a PC with Rhino/GH so I can't post an example directly) You want to order a cloud of points from the bottom up, i.e. by Z lowest to highest. Using the PComp component to decompose a point into its separate x, Y and Z components you can plug the Z output into K of the Sort Component. Sort will then re-order the Z values from lowest to highest, but the points you wish to order haven't be changed only a list of numbers. So you can plug the points into A and they will be reordered into the same lowest to highest order that the Z component was changed to.
Similarly if each of these points had a label that you wished to be attached to it at a latter point in the definition the list would no longer be in the same sequence. For instance if the original list was ordered in the X axis from 1 to 20 with one being the closest point to X = 0 and 20 being the furthest. Since you have rearranged the points, their labels are now 1 is the lowest and 20 is the highest, but we want them to remain the same as before with 1 being the closest to X=0. This is where the extra inputs on the Sort Component come in. Plug the list into B.
K is ordered smallest number to largest number
A is ordered lowest point to highest point
B is ordered so that 1 remains closest point to X=0 and 20 is furthest from X=0 …
ted_With_Honeybee.gh" file:
Warnings:
1. Honeybee cannot find RADIANCE folder on your system.
Make sure you have RADIANCE installed on your system.
You won't be able to run daylighting studies without RADIANCE.
A good place to install RADIANCE is c:\radiance
2. Honeybee cannot find EnergyPlusV7-2-0 folder on your system.
Make sure you have EnergyPlusV7-2-0 installed on your system.
You won't be able to run energy simulations without EnergyPlus.
A good place to install EnergyPlus is c:\EnergyPlusV7-2-0
Error:
1. Solution exception:Could not find a part of the path 'c:\ladybug\HoneybeeRadMaterials.mat'.
---------------------
I now reinstalled Radiance in the C:\Radiance folder and when dropping the Honeybee_Honeybee component on the canvas, I get the following:
Runtime error (DirectoryNotFoundException): Could not find a part of the path 'c:\ladybug\HoneybeeRadMaterials.mat'.Traceback: line 253, in __init__, "<string>" line 2200, in script
----------------------
[that is also the only error that I'm now getting when opening the 000 getting started file).
There is no c:\ladybug on my PC.
Note: In order to run the Radiance installer, I had to run as administrator. My user doesn't have write rights on the c-root folder (and no chance of getting that either... :)
Thanks,
wim
…
ed to develop a component that reads data from a Tracking Server we have built here in our lab, on top of VRPN Server. We developed a client library to communicate with this server and to read data from different devices through the server, making our life easier. The fact is that I need to update data received from a wiimote for example (at a regular time interval) and output this data to feed other components. Our first approach was to test the inclussion of that library into the context of Grasshopper and it worked, but just and only for the first time the component is created of course. Now the problem is to call this update function inside grasshopper multiple times and update the output. I'm new to grasshopper component coding so, it would be nice if I can get some response of an expereinced developer or at least somebody that have developed something like the example I'm exposing here. Some code is posted below to clarify what I'm saying.
...
using VRPNClassLib; //This is our class lib.namespace MyComp{ public class MyComp : GH_Component { private VRPNController controllerWiimote = new VRPNClassLib.VRPNController("WiiMote0@localhost"); private Wiimote wii = new Wiimote();
...
private double rotX, rotY, rotZ; public MyComp() : base("Al required params ok") { try { controllerWiimote.addDevice(wii); } catch (Exception e) { throw new Exception("No wii controller attached to the PC: -->" + e.Message); } }
...
protected override void RegisterOutputParams(GH_Component.GH_OutputParamManager pManager) { pManager.Register_DoubleParam("Pos X", "X", "Wiimote X"); pManager.Register_DoubleParam("Pos Y", "Y", "Wiimote Y"); pManager.Register_DoubleParam("Pos Z", "Z", "Wiimote Z"); } protected override void SolveInstance(IGH_DataAccess DA) {
// If execute MainLoop() here for the first time it works of course, but I need to continuously read data from wiimote, how do I do that
MainLoop(); DA.SetData(0,rotX); DA.SetData(1,rotY); DA.SetData(2,rotZ); }
protected void MainLoop() { controllerWiimote.UpdateData(); //this is the function that updates device data rotX = Math.Round(wii.getSensorRot1(),2); rotY = Math.Round(wii.getSensorRot2(),2); rotZ = Math.Round(wii.getSensorRot3(),2); }
public override Guid ComponentGuid { //Genere el GUID del componente get { return new Guid("8F9858D8-F18E-45f2-90EC-CC23523ACC4F"); } } ... }}
So any sugestions are welcome.
Cheers :)…
to see if it works with a small section.
But so tell me about the moment that it freezes. Does it freeze even when loading in the file? So if you just have the component that reads the data and dont connect anything to it, can you successfully load the data and see the output has 700 000 values inside? If this already works than you can simply use the list item component to just get a few of the values and then ramp it up, like this:
So what you can see here is at first I have a series with 1 million values and then I just take a small set of that using list item with another series. The data that goes into the List Item can be anything. Already just the list item takes 1.4 seconds and the whole thing takes 3.2 seconds to calculate, which is quite long for something so simple. Rhino reports 980 MB memory usage for this. If I crank it up to 10 million the calculate time is 28.6 seconds and memory goes up to 3.2 GB. So yes I can believe that what you are trying to achieve will push the computer really hard.
Can I ask what computer you have? How much memory does it have?
To do things for an entire huge city like Paris is starting to be something you wouldn't do on your laptop or an old PC, thats why researchers and scientists have expensive workstations with large amounts of RAM. Can't you just use a smaller city or just a part of Paris? Is there a reason it has to be ALL of Paris? In the end its what you do with the data that has to be cool and not just the fact that you used A LOT of data. So rather do something really cool with a small set of data than do something thats limited because there is so much data.…
Added by Armin Seltz at 2:23am on November 4, 2015
r a couple of seconds (say 10) between setting the Boolean Toggle to False and setting it again to True.If you keep getting the same message, even after waiting for those 10 seconds, Try turning off one of the "OSM shapes" components, in case it has been turned on, and then try to turn on the "OSM shapes" component which raises the upper warning message.If it still repeats, try shutting down Rhino, and running it again. Then run first the component which raises the warning.Never leave the _runIt inputs of "OSM Shapes" components to "True" when you are opening the .gh files. Set them to "False" and rerun them to "True" once the .gh file is opened.
To stop going through all of this over, and over, you can internalize the "OSM shapes" outputs, once all of those components have been ran properly.
In general, "shapeType_" = "polylines" should contain non closed polylines. But as you noticed sometimes it can contain closed polylines, but to a lesser degree. I think this has to to do with the way OGR driver which MapWinGIS uses deals with OSM data. "shapeType_" = "polylines", should contain OSM's "way" elements, which sometimes can be closed as well, but limited to 2000 points.In defense of all of this, I can only say that OGR is probably the best open-source OSM to SHP file converter, so I guess we can't get better than this, if we are using SHP file readers, the way Gismo does.
From my limited knowledge, it can be that some online OSM to SHP services (like extract.bbbike.org, which you mentioned), also use the same OGR drivers.Have in mind that what sometimes looks like a house floor plan, may not be that. It can be that the same house floor plan is located in "shapeType_" = "polygons" but labeled as "building=yes/...", while the shape you see is some relation, but not labeled as "building=yes/...".Still I definitively see some closed forest areas in "shapeType_" = "polylines", so I have to agree with your observation. It makes the "OSM shapes" component's input description a bit inconsistent, but that's how OGR works, and we can't change it.
For finding rivers, you can use the Gismo "OSM objects" drop down list.It is using "waterway" as "_requiredTag" and no value for "_requiredValue" (meaning any will be accepted).
In the end, the "radius_" input can greatly determine the final shape of extracted data. Good example are wide rivers, like Seine. If you "radius_" is a bit smaller, then it can be that you won't cover much of the river, so you will not be able to extract its riverbanks. This is why I increased the radius in your definition to "600". This is the result:
I attached the .gh file below.
If you have any other suggestions, we would be grateful to hear them!
If the .gh file is still not working, please let us know!…
Added by djordje to Gismo at 3:56pm on January 14, 2018
The PC actually stops working because after a few seconds the simulation starts the fan inside the PC all of a sudden stops and for the next 5-10 mins I cannot do anything, even alt+ctrl+canc. After I wait for that time i get the followig error:
the ReadMe says:
{0;0;0}0. Grid-based Radiance simulation1. The component is checking ad, as, ar and aa values. This is just to make sure that the results are accurate enough.2. -ar is set to 300.3. Good to go!4. Current working directory is set to: C:\Users\Luigi\Desktop\Prova__\Prova_1\gridBasedSimulation\5. Found a trans material... Resetting st parameter from 0.85 to 0.011276004966. WMIC PROCESS get Commandline7. WMIC PROCESS get Commandline8. WMIC PROCESS get Commandline9. WMIC PROCESS get Commandline10. WMIC PROCESS get Commandline11. WMIC PROCESS get Commandline12. WMIC PROCESS get Commandline13. WMIC PROCESS get Commandline14. WMIC PROCESS get Commandline15. WMIC PROCESS get Commandline16. WMIC PROCESS get Commandline17. WMIC PROCESS get Commandline18. WMIC PROCESS get Commandline19. WMIC PROCESS get Commandline20. WMIC PROCESS get Commandline21. WMIC PROCESS get Commandline22. WMIC PROCESS get Commandline23. WMIC PROCESS get Commandline24. WMIC PROCESS get Commandline25. WMIC PROCESS get Commandline26. WMIC PROCESS get Commandline27. WMIC PROCESS get Commandline28. WMIC PROCESS get Commandline29. WMIC PROCESS get Commandline30. WMIC PROCESS get Commandline31. WMIC PROCESS get Commandline32. WMIC PROCESS get Commandline33. WMIC PROCESS get Commandline34. WMIC PROCESS get Commandline35. WMIC PROCESS get Commandline36. WMIC PROCESS get Commandline37. WMIC PROCESS get Commandline38. WMIC PROCESS get Commandline39. WMIC PROCESS get Commandline40. WMIC PROCESS get Commandline41. WMIC PROCESS get Commandline42. WMIC PROCESS get Commandline43. WMIC PROCESS get Commandline44. WMIC PROCESS get Commandline45. WMIC PROCESS get Commandline46. WMIC PROCESS get Commandline47. WMIC PROCESS get Commandline48. WMIC PROCESS get Commandline49. WMIC PROCESS get Commandline50. WMIC PROCESS get Commandline51. WMIC PROCESS get Commandline52. WMIC PROCESS get Commandline53. WMIC PROCESS get Commandline54. WMIC PROCESS get Commandline55. WMIC PROCESS get Commandline56. WMIC PROCESS get Commandline57. WMIC PROCESS get Commandline58. WMIC PROCESS get Commandline59. WMIC PROCESS get Commandline60. WMIC PROCESS get Commandline61. WMIC PROCESS get Commandline62. WMIC PROCESS get Commandline63. WMIC PROCESS get Commandline64. WMIC PROCESS get Commandline65. WMIC PROCESS get Commandline66. WMIC PROCESS get Commandline67. WMIC PROCESS get Commandline68. WMIC PROCESS get Commandline69. WMIC PROCESS get Commandline70. WMIC PROCESS get Commandline71. WMIC PROCESS get Commandline72. WMIC PROCESS get Commandline73. WMIC PROCESS get Commandline74. WMIC PROCESS get Commandline75. WMIC PROCESS get Commandline76. WMIC PROCESS get Commandline77. WMIC PROCESS get Commandline78. WMIC PROCESS get Commandline79. WMIC PROCESS get Commandline80. WMIC PROCESS get Commandline81. WMIC PROCESS get Commandline82. WMIC PROCESS get Commandline83. WMIC PROCESS get Commandline84. WMIC PROCESS get Commandline85. WMIC PROCESS get Commandline86. WMIC PROCESS get Commandline87. WMIC PROCESS get Commandline88. WMIC PROCESS get Commandline89. WMIC PROCESS get Commandline90. WMIC PROCESS get Commandline91. WMIC PROCESS get Commandline92. WMIC PROCESS get Commandline93. WMIC PROCESS get Commandline94. WMIC PROCESS get Commandline95. WMIC PROCESS get Commandline96. WMIC PROCESS get Commandline97. WMIC PROCESS get Commandline98. WMIC PROCESS get Commandline99. WMIC PROCESS get Commandline100. WMIC PROCESS get Commandline101. WMIC PROCESS get Commandline102. WMIC PROCESS get Commandline103. WMIC PROCESS get Commandline104. WMIC PROCESS get Commandline105. WMIC PROCESS get Commandline106. WMIC PROCESS get Commandline107. WMIC PROCESS get Commandline108. WMIC PROCESS get Commandline109. WMIC PROCESS get Commandline110. WMIC PROCESS get Commandline111. WMIC PROCESS get Commandline112. WMIC PROCESS get Commandline113. WMIC PROCESS get Commandline114. WMIC PROCESS get Commandline115. WMIC PROCESS get Commandline116. WMIC PROCESS get Commandline117. WMIC PROCESS get Commandline118. WMIC PROCESS get Commandline119. WMIC PROCESS get Commandline120. WMIC PROCESS get Commandline121. WMIC PROCESS get Commandline122. WMIC PROCESS get Commandline123. WMIC PROCESS get Commandline124. WMIC PROCESS get Commandline125. WMIC PROCESS get Commandline126. WMIC PROCESS get Commandline127. WMIC PROCESS get Commandline128. WMIC PROCESS get Commandline129. WMIC PROCESS get Commandline130. WMIC PROCESS get Commandline131. WMIC PROCESS get Commandline132. WMIC PROCESS get Commandline133. WMIC PROCESS get Commandline134. WMIC PROCESS get Commandline135. WMIC PROCESS get Commandline136. WMIC PROCESS get Commandline137. WMIC PROCESS get Commandline138. WMIC PROCESS get Commandline139. WMIC PROCESS get Commandline140. WMIC PROCESS get Commandline141. WMIC PROCESS get Commandline142. WMIC PROCESS get Commandline143. WMIC PROCESS get Commandline144. WMIC PROCESS get Commandline145. WMIC PROCESS get Commandline146. WMIC PROCESS get Commandline147. WMIC PROCESS get Commandline148. WMIC PROCESS get Commandline149. WMIC PROCESS get Commandline150. WMIC PROCESS get Commandline151. WMIC PROCESS get Commandline152. WMIC PROCESS get Commandline153. WMIC PROCESS get Commandline154. WMIC PROCESS get Commandline155. WMIC PROCESS get Commandline156. WMIC PROCESS get Commandline157. WMIC PROCESS get Commandline158. WMIC PROCESS get Commandline159. WMIC PROCESS get Commandline160. WMIC PROCESS get Commandline161. WMIC PROCESS get Commandline162. WMIC PROCESS get Commandline163. WMIC PROCESS get Commandline164. WMIC PROCESS get Commandline165. WMIC PROCESS get Commandline166. WMIC PROCESS get Commandline167. WMIC PROCESS get Commandline168. WMIC PROCESS get Commandline169. WMIC PROCESS get Commandline170. WMIC PROCESS get Commandline171. WMIC PROCESS get Commandline172. WMIC PROCESS get Commandline173. WMIC PROCESS get Commandline174. WMIC PROCESS get Commandline175. WMIC PROCESS get Commandline176. WMIC PROCESS get Commandline177. WMIC PROCESS get Commandline178. WMIC PROCESS get Commandline179. WMIC PROCESS get Commandline180. WMIC PROCESS get Commandline181. WMIC PROCESS get Commandline182. WMIC PROCESS get Commandline183. WMIC PROCESS get Commandline184. WMIC PROCESS get Commandline185. WMIC PROCESS get Commandline186. WMIC PROCESS get Commandline187. WMIC PROCESS get Commandline188. WMIC PROCESS get Commandline189. WMIC PROCESS get Commandline190. WMIC PROCESS get Commandline191. WMIC PROCESS get Commandline192. WMIC PROCESS get Commandline193. WMIC PROCESS get Commandline194. WMIC PROCESS get Commandline195. WMIC PROCESS get Commandline196. WMIC PROCESS get Commandline197. WMIC PROCESS get Commandline198. Runtime error (IndexOutOfRangeException): index out of range: 0199. Traceback: line 320, in script
The thing is that if I raise the -aa parameter from 0.05 to 0.1 all works fine..
Is this only related to my PC then?? What should I do to solve this issue?
Thanks again for your help
Luigi…
content from the "bin" folder to the "c:\ladybug\terrain shading mask libraries 64-bit" folder:
So not the very bin folder, but its content.Just do this and the component will work.
Hi Abraham,
But just want to remind that Marios Tsiliakos developed a component for unblocking the LB_HB components and libraries (Unblock All and Unblock).
Thank you for the suggestion. I am aware of that component. I shared an article about it on my facebook account last year, at the time when it was released. It's a great component!There are still two issues with it: It edits the windows registry.I order for it to edit the windows registry it requires an account with administrator's rights.To unblock the file manually you do not need to have an account with administrator's rights.
BTW i installed the release-1800-x64-gdal-2-1-0-mapserver-7-0-1.zip without issues (just unblocking).
Yes, the GDAL 2.x.x and MapServer 7.x.x versions will also work. But I can not install them on my PC, therefor I can not provide support for them. The GDAL 1.x.x and MapServer 6.x.x are sufficient for what the component does.If you intend to seek support for any future issues, please install the latest GDAL 1.x.x and MapServer 6.x.x version as said by the component installation instructions.…
ing red flag.
1. Solution exception:name 'scriptcontext' is not defined
Reading the script, i think, maybe what i am after is not possible, using named views.
It outputs the named views resolutions, but whatever named view i select get maximized and also gets set to whatever selected active view i have in Rhino. This makes the order of the named views, in a 4 view layout, to rearrange which messes the setup i have.
Fiddling a bit with the script setting viewMaximized to False, does not maximize the selected viewport, but stops the auto update of the viewport size too. I guess this happens because since its not maximized it does not register to ActiveNamed view.
So if getting the named views resolutions, without having to click in each,without getting maximized and set to the current selected view is not possible i thought of the following.
What i tried was the example given in rhinocommon
from scriptcontext import doc activeViewport = doc.Views.ActiveView.ActiveViewportprint "{1},{2}".format( activeViewport.Size.Width, activeViewport.Size.Height)
and i used it with a timer, so that everytime i click in view,named or not, it gets the resolution. But for some reason my pc hates timer and makes my system luggy. I could work with the above script if somehow the timer, or any other method, was embedded in it, so that when i click in a view it updates the resolution. I have a feeling this is something easy to.
*edit timer also forces a redraw of objects in viewport (hence the lag?)
thank you again
best
alex…
Python est un langage reconnu pour sa puissance, clarté et compréhension.
Durée : 2 jours soient 16 heures
Public concerné
Utilisateurs de Rhinoceros
Objectifs de la formation :
Donner aux utilisateurs la possibilité d'accéder à la fois aux bibliothèques RhinoScript, des bibliothèques de fonctions très simples d'utilisation. Et permet aussi d'accéder à Rhinocommon la collection de fonctions permettant de réaliser des plug ins (greffons).
Les moyens pédagogiques :
La formation utilise le RhinoPython Primer comme support.
Venir avec un PC Portable avec Rhinoceros 5,0 et éventuellement Grasshopper.…