nd improvements. Many of the new features and components announced in the last release have become stable and have emerged from their WIP section. Additionally, after two years of work, we are happy to announce that we finally have full support of an OpenStudio connection within Honeybee, which has ushered in a whole host of new features, notably the modelling of detailed HVAC systems. As always you can download the new release from Food4Rhino. Make sure to remove the older version of Ladybug and Honeybee and update your scripts.
LADYBUG
1 - Solar Hot Water Components Out of WIP
After much beta-testing, bug-fixing, and general development, all of the Photovoltaic and Solar Hot Water components are now fully out of WIP! The main component is based on a Chengchu Yan's publication. Components have been added to Ladybug thanks to the efforts of Chengchu Yan and Djordje Spasic.. See Djorje’s original release post of the solar hot water components for more information on the components that just made it out of WIP.
2 - New Terrain Shading Mask Released in WIP
In addition to Djordje’s prolific addition of renewable energy components, he has also contributed a widely-useful component to generate terrain shading masks, which account for the shading of surrounding mountains/terrain in simulations. While initially added to assist the solar radiation radiation and renewable energy components, the component will undergo development to optimize it for energy and daylight simulations over the next few months. Another new component called Horizon Angles can be used to visualize and export horizon angles. You can test them out now by accessing them in the WIP section. For more information, see Djordje’s release post on the GH forum here.
3 - New Mesh Selector Component
After realizing that the Optimal Shade Creator component has applications to a whole range of analyses, it has now been re-branded as the Mesh Selector and has been optimized to work easily with these many analyses. Specifically, the component selects out the portion of a mesh that meets a given threshold. This can be the portion of a shade benefit analysis meeting a certain level of shade desirability, the portion of a radiation study meeting a certain level of fulx, the portion of a daylight analysis meeting a certain lux threshold, and much more!
4 - Solar Adjusted Temperature Now Includes Long Wave Radiation
Thanks to a question asked by Aymeric and a number of clarifications made by Djordje Spasic, the Solar Adjusted Temperature component now includes the ability to account for long-wave radiative loss to the sky in addition to it original capability to account for short wave radiation from the sun. As such, the component now includes all capabilities of similar outdoor comfort tools such as RayMan. The addition of this capability is also paralleled by the addition of a new horizontalInfraredRadiation output on the ImportEPW component. See the updated solar adjusted example file hereto see how to use the component properly.
5 - Support for both Log and Power Law Wind Profiles
In preparation for the future release of the Butterfly CFD-modelling insect, the Ladybug Wind Profile component now includes the option of either power law or log law wind profiles, which are both used extensively in CFD studies. Thanks goes to Theodoros Galanos for providing the formulas!
6 - New Radiant Asymmetry Comfort Components
Prompted by a suggestion from Christian Kongsgaard, Ladybug now includes components to calculate radiant asymmetry discomfort! For examples of how to use the components see this example file for spatial analysis of radiant asymmetry discomfort and this example for temporal analysis.
7 - Pedestrian Wind Comfort Component Released in WIP
In preparation for the impending release of the butterfly CFD-modelling insect, Djordje Spasic with assistance from Liam Harrington has contributed a component to evaluate outdoor discomfort and pedestrian safety. The component identifies if certain areas around the building are suitable for sitting, building entrances-exits, window shopping... based on its wind microclimate. Dangerous areas due to high wind speeds are also identified.You can check it out now in the WIP section.
HONEYBEE
1 - New HVAC Systems and Full OpenStudio Support
After a significant amount of development on the part of the OpenStudio team and two years of effort on the part of LB+HB developers, we (finally!) have full support for an OpenStudio connection within Honeybee. By this, we mean that any energy simulation property that can be assigned to a HBZone will be taken into account in the simulation run by the OpenStudio component. The connection to OpenStudio has brought with it several new capabilities. Most notably, you can now assign full HVAC systems and receive energy results in units of electricity and fuel instead of simple heating and cooling loads. This Honeybee release includes 14 built-in HVAC template systems that can be assigned to the zones, each of which can be customized:
0. Ideal Air Loads 1. PTAC | Residential 2. PTHP | Residential 3. Packaged Single Zone - AC 4. Packaged Single Zone - HP 5. Packaged VAV w/ Reheat 6. Packaged VAV w/ PFP Boxes 7. VAV w/ Reheat 8. VAV w/ PFP Boxes 9. Warm Air Furnace - Gas Fired 10.Warm Air Furnace - Electric 11.Fan Coil Units + DOAS 12.Active Chilled Beams + DOAS 13.Radiant Floors + DOAS 14.VRF + DOAS
Systems 1-10 are ASHRAE Baseline systems that represent much of what has been added to building stock over the last few decades while systems 11-14 are systems that are commonly being installed today to reduce energy use. Here is an example file showing how to assign these systems in Honeybee and interpret the results and here is an example showing how to customize the HVAC system specifications to a wide variety of cases. To run the file, you will need to have OpenStudio installed and you can download and install OpenStudio from here.
In addition to these template systems within Honeybee, the OpenStudio interface includes hundreds of HVAC components to build your own custom HVAC systems. OpenStudio also has a growing number of user-contributed HVAC system templates that have been integrated into a set of scripts called "Measures" that you can apply to your OpenStudio model within the OpenStudio interface. You can find these system templates by searching for them in the building components library. Here is a good tutorial video on how to apply measures to your model within the OpenStudio interface. Honeybee includes a component that runs these measures from Grasshopper (without having to use the OpenStudio interface), which you can see a demo video of here. However, this component is currently in WIP as OpenStudio team is still tweaking the file structure of measures and it is fairly safe to estimate that, by the next stable release of Honeybee, we will have full support of OpenStudio measures within GH.
2 - Phasing Out IDF Exporter
With the connection to OpenStudio now fully established, this release marks the start of a transition away from exporting directly to EnergyPlus and the beginning of Honeybee development that capitalizes on OpenStudio’s development. As such THIS WILL BE THE LAST STABLE RELEASE THAT INCLUDES THE HONEYBEE_RUN ENERGY SIMULATION COMPONENT.
The Export to OpenStudio component currently does everything that the Run Energy Simulation component does and, as such, it is intended that all GH definitions using the Run Energy Simulation component should replace it with the OpenStudio component. You can use the same Read EP Result components to import the results from the OpenStudio component and you can also use the same Energy Sim Par/Generate EP Output components to customize the parameters of the simulation. The only effective difference between the two components is that the OpenStudio component enables the modeling of HVAC and exports the HBZones to an .osm file before converting it to an EnergyPlus .idf.
For the sake of complete clarity, we should state that OpenStudio is simply an interface for EnergyPlus and, as such, the same calculation engine is under the hood of both the Export to OpenStudio component and the Run Energy Simulation component. At present, you should get matching energy simulation results between the Run Energy Simulation component and a run of the same zones with the OpenStudio component (using an ideal air system HVAC).
All of this is to say that you should convert your GH definitions that use the Run Energy Simulation component to have the OpenStudio component and this release is the best time to do it (while the two components are supported equally). Additionally, with this version of Honeybee you will no longer need to install EnergyPlus before using Honeybee and you will only need to install OpenStudio (which includes EnergyPlus in the install).
3 - New Schedule Generation Components
Thanks to the efforts of Antonello Di Nunzio, we now have 2 new components that ease the creation of schedule-generation in Honeybee. The new components make use of the native Grasshopper “Gener Pool” component to give a set of sliders for each hour of the day. Additionally, Antonello has included an annual schedule component that contains a dictionary of all holidays of every nearly every nation (phew!). Finally, this annual schedule component can output schedules in the text format recognized by EnergyPlus, which allows them to be written directly into the IDF instead of a separate CSV file. This will significantly reduce the size of files needed to run simulations and can even reduce the number of components on your canvas that are needed to add custom schedules. For more information, see Antonello’s explanatory images here and Antonello's example file here. You can also see a full example file of how to apply the schedules to energy simulations here.
4 - EnergyPlus Lookup Folder, Re-run OSM/IDF, and Read Result Dictionary
With the new capabilities of OpenStudio, we have also added a number of components to assist with managing all of the files that you get from the simulation. In particular, Abraham Yezioro has added a Lookup EnergyPlus Folder component that functions very similarly to the Lookup Daylight Folder component. This way, you can run an Energy simulation once and explore the results separately. Furthermore, we have added components to Re-Run OpenStudio .osm files or EnergyPlus .idf files within Grasshopper. These components are particularly useful if you edit these .osm or .idf files outside of Honeybee and want to re-run them to analyze their results in Grasshopper. Lastly, a component has been added to parse the .rdd (or Result Data Dictionary) file that EnergyPlus produces, enabling you to see all of the possible outputs that you can request from a given simulation.
5 - Electric Lighting Components Out of WIP
After Sarith Subramaniam’s initial components to model electric lights with Radiance in the last release, we are happy to report that they have been fully tested and are out of WIP. Improvements include support for all types of light fixture geometries and the ability to use the components in a more “Grasshoppery” list-like fashion. See Sarith’s original release post for more information and several example files showing how to use the components can be found here. 1 , 2 , 3 .
6 - Improvements to THERM Components
A number of bug fixes and improvements have been made to the THERM components in order to make their application more flexible and smooth. Special thanks is due to Derin Yilmaz , Mel King , Farnaz , Ben (@benmo1) , and Abraham Yezioro for all of the great feedback in the process of improving these components.
7 - HBObject Transform Components
After some demand for components that can ease the generation of buildings with modular zone types, two components to transform HBObjects with all of their properties have been added to the 00 | Honeybee section. The components allow you to produce copies of zones that are translated or rotated from the original position.
8 - Comfort Maps Supports PET and Integration of CFD Results
Thanks to the addition of the ‘Physiological Equivalent Temperature’ (PET) component by Djordje Spasic in the last stable release, it is now possible to make comfort maps of PET with Honeybee. PET is particularly helpful for evaluating OUTDOOR comfort with detailed wind fields at a high spatial resolution. As such, the new PET recipe has also been optimized for integration with CFD results. The windSpeed_ input can now accept the file path to a .csv file that is organized with 8760 values in each column and a number of columns that correspond to the number of test points. Components to generate this csv from Butterfly CFD results will be coming in later releases. Stay tuned!
As always let us know your comments and suggestions.
Enjoy!Ladybug Analysis Tools Development Team
…
_b2 texfunc WoodGrain_tex
6 xgrain_dx ygrain_dx zgrain_dx woodtex.cal -s 0.01
0
1 0.075
WoodGrain_tex plastic WoodGrain_NonColor2
0
0
5 0.364 0.187 0.072 0.006 0.0
This creates the texture (on the table) below:
Is it possible for me to use a multi-modifier material like this in Honeybee ?
Thanks,
Sarith
(Update: I figured out a hack to do this in MSH2RAD but I still don't know if it is possible to add this to the Honeybee Library).…
..
The problem is that using the index, adding a activies, the next activies change the index and then the link is wrong.
example: I need to connect to hotel function with house function, therefore i have 0 and 4 index in my panel.. So i have to extract the index linked to the alphabetical value to be able to draw lines between the points associated to the names of activities. Now if i add a new string between the values, the house activity hasn't the original index 4 but the new index 5. So the link will be not created between hotel and house but hotel e new activity in the index 4.
…
The first is that XML requires that there be one root tag, where GH does not necessarily require their be one trunk to build its tree. In more GH specific terms, any XML document would always require that a path be {0;....} and there could never be a path like {1;...} or {13;....}. The fact that GH rarely does this is inconsequential, because its possible, so therefore has to be dealt with somehow. The first option is to simply have the component throw an error and not write the XML. That's fine, but in order to use the data you'd have to start remapping or splitting out your tree... not fun. The second option would be to wrap the data in a root tag so that the XML requirements are met, however this is manipulating the data that you're saving which I don't like. The third option, would be to write each root trunk out into separate files. The easiest option is 2, but I don't like modifying the data, although it would be possible to put attribute on that root tag to discard it if it was later read back into GH.
The second issue is that in order to write comprehensible XML, you'd need to specify the element names along with the values, which has the potential to be very cumbersome. In your case, you have all your tag names there and are just looking to modify the data that was in those tags, but this is definitely the best case scenario. If the ability is there to write xml, then that means it can come from anywhere in GH, not just from a previously parsed xml doc. Inevitably, assuming one would go through the hassle of creating names for all their xml elements, invariably there would be an path that would be missed, so what would you do as the name for that element? Throw an error? write out something else based on the path? Taking this to the extreme, would it be possible for someone just to supply data with no element names whatsoever?
In thinking about that last question, it would be nice if the GH path could be used for writing out the element names, but unfortunately both curly brackets and semicolons are invalid in element names (ie so <{0;1;0;5}>SomeData</{0;1;0;5}> is invalid because of the {,}, and ; characters. Element names also can't start with a number). So in order to write out an actual GH path, it would need to be transformed in some manner so that the previous example might look something like this <GhPath_0-1-0-5>SomeData</GhPath_0-1-0-5>
There are a bunch of other potential issues as well that would likely leave writing xml from GH in somewhat limited state. Some of those include enforcing/validating schema and supporting for other xml features(such as CData).
Ultimately, when I first wrote the xml parser I wasn't sure what people's needs were going to be in regards to using XML in GH. Based on the two main issues I outlined above, I chose to leave writing xml out for the time being. Its not that it can't be done (far from it actually), some decisions just have to be made pertaining to those issues. It does seam like it would be something useful, so I'll begin to look into adding it, and if you've got some other suggestions or preferences about which solution would be better, then sound off.
EDIT:
One thing I should note, all of my comments above pertain to saving xml. Once you've parsed an xml file, its no longer xml, its just regular data with GH which can be manipulated however you prefer. It would be entirely possible to to use GH's tree manipulation and list tools to move chunks of xml around, remap xml, etc.…
is also takes place in own system. However, this action can be also carried out successfully by a foreign reference, if this considers the focused system as own. Hence, these two criteria are considered in my reflexions, to make your criticism handier for me.
First the question must be put up, how is it in your case? Of friendly manner you answer this question perpetually with the statement that you are not a partial of the system of the architecture.
Furthermore the question would be appropriate, whether an external reference (eg CAD) determined architecture. This can be answered with no, because determining and influencing are different things.
Because you stress now your criticism as a foreign criticism, within the architecture the assuption must be put up, that this criticism is not unusual new on the one hand (because this condition were also in other times like that, and presumably also always so remain) and further more a lack of goodwill in your criticism comes to light, which perhaps distinguishes an external reference.
Based on your critique, it would be also desirable in the system of the architecture if the academic rules become satisfyingly followed, even if this is no guarantor for good academic works. Nevertheless, there is an aspect which at least tolerates the evident lack in the Interdiziplinarität of the architecture. This is the classical and still valid determination of the architecture, presumably regulates not only the actions of the architects, but also those who want to become it.
Many who stand in your criticism (the students, as well as the teachers, ... ), live in the awareness that architecture is a profession that combines as many areas around the topic of Building, and the architect is even only one dilettante among the external specialists. In this determination dilettantism is revalued rather positively, because this state the architects enables to assess the facets of a complicated building project better and to form thereby the whole result positively. To be a good architect, you should have circumspect specialists around yourself. And exactly this knows the system of the architecture, because "THE ARCHITECT" helps himself with the logic of other systems (to repair on the one hand his own deficits), and to create an artificial complexity, which ultimately aims to be the complexity of human beeing.
Here "THE ARCHITECTS" becomes a quality-spoken, which currently seems the external reference (CAD, BIM) would like to take claim for themselves.
........
If would not thought about it, this might be helpful:http://www.amazon.com/The-Alphabet-Algorithm-Writing-Architecture/dp/0262515806/ref=sr_1_1?ie=UTF8&qid=1376920450&sr=8-1&keywords=mario+carpo"Finally, I’d like to restate my criticisms in general terms. If we are serious about moving architecture and urbanism away from purely artistic considerations and into a more rational arena, there has never been a better time than now. All of us have access to immense computational power which can be applied to problems that have been —until quite recently— intractable. But of course the garbage-in-garbage-out adage holds true; computation can be used to generate large amounts of complexity, but complexity does not equal worth. The only time when it makes sense to invoke computation in the design process is when there is some relevant data that needs to be computed" (David Rutton)I want to make it short, and just ask a few questions, and hope that the following questions are relevant also for you, and not be considered outside your system. i think that the weighting to such questions seem to be more valuable, not for the architects.1. What is wrong from a pure artistic intention?2. What is any sense in purely architectural discourse?3. strictly looked, can be determined sense generally in a purely architectural discourse?4. What is purely architectural discourse?5. What is Funktionalismus or Rationalismus without philosophical support? 6. Would not be the pure functional fulfilment empty ? 7. Would be not a critical position on the promise of purely rational algorithms applied?…
hat aren’t completely there. BIM will have to continue to evolve some more if their supporters want to get to realize the promise that still is. I can’t say much about PLM, but I would say that both BIM and PLM should be considered in future developments of GH and Rhino. David has said several times that some GH limitations regarding geometry and data structures (central to interoperability) are actually Rhino limitations. So, I wouldn’t put so much pressure on David for this, or at least I would distribute the pressure also on the core Rhino development team.
Talking about Rhino vs. GH geometry, there is one (1) wish I have: support for extrusion geometry. GH already inputs extrusion elements from Rhino, but they are converted to breps. Is not a bad thing per se. The problem is when you need to bake several breps that make the Rhino file to weight several hundred MB. When these breps are actually prismatic, extrusion-like solids, is a shame that they aren’t stored as Rhino V5’s extrusion geometry in a file of just a couple of MB (I overcame this once with an inelegant RhinoScript that wasn’t good for other people). This was one of RhinoBIM’s main arguments. We can develop a structural model made of I-beams in GH using the Extrude components. We should be able to bake them as extrusions. That would also work for urban models with thousands of prismatic massing buildings (e.g. extruded footprints). Even GH’s boxes are baked as breps! Baking boxes as extrusions could be practical for voxelated or Minecraft-like models.
(2) Collaborative network support. Maybe with worksession handling, or something that aloud project team members to work on a single definition or in external references or something alike. I know there is another Rhino limitation on this, but maybe clusters are already going in that direction?
And maybe on the plug-ins domain:
(3) Remote control panel that could be really “remote”, like from other computer or device. There is an old Android App for that, but is not only a matter of updating. I mean, it would be great to control a slider with the accelerometer of an Android phone, but to have that on an iPhone will require another development team. If GH could support networks, a remote counterpart of a RCP plug-in could be developed as a cross-platform web app. I don’t know if you can access accelerometer functionality through HTML5 already, but for now, asking a client (or an spectator or any stakeholder for that matter) to control your sliders from gestures of his/her own phone would be awesome (maybe Firefly will fill that hole?).
(4) GIS support. GH already imports .shp files. Meerkat can even access the database, but what about writing to shapefiles or generating our own with databases processed/generated in GH?
(5) SketchUp support. Not only starchitects and corporations are using GH in the AEC. There are a lot of small firms, freelancers and students interested. Most of them use SketchUp for 3D modeling (not CATIA, neither Revit). Yes, you can import/export .skp from Rhino, but if GH could support nested block at bake time (also mentioned by others), it could write .skp files with complex relations of blocks (that are called components in SketchUp) and nested groups, going beyond what Rhino can export.
(6) Read/Write other formats. There are some challenges with proprietary formats that are not completely supported by Rhino, but they’re still a lot of open formats that are relevant to the fields of GH users, like stl and ply for 3D-printing. It could be nice to write mesh colors to a ply for 3D-printing a colored prototype based on GH colors. There are others, like IGES, STEP, COLLADA, etc. and 2D, like svg, odg and pdf. Some of them could offer special formatting options like custom data that the format supports but nobody uses just because is impractical to access this from direct modeling environments (but not from visual programming).
--Ernesto…
mment%3A1637953
First of all, the invalid Rhino license as seen previously has been removed, and the correct educational license we have is re-installed for this test.
The re-appearing issue is that RAM usage spikes once GH is open in Rhino. It seems that this happens when a series of large GH project files incrementally saved are stored in the same folder. Moving those previously saved large project files to a new folder seems to be able to solve this issue.
The images below explains the issue and the hypothetical solution:
1. A series of GH files were incrementally saved in the same folder previously, and the last few GH files are the ones opened most recently:
2. The total RAM usage is at the normal 5GB level once Rhino is open:
3. Once GH is open, the RAM usage spikes, and the it becomes very slow to maneuver the GH window before even opening any one of those GH files:
4. Once GH and Rhino are closed, the RAM usage drop to the previous level before the GH interface was open:
5. Now, all the incrementally saved GH files are moved to a new folder "wip" except the last one, i.e. for the last GH file, there is no other previous GH files in the same location:
6. Now, if we open GH, there is no sudden increase of RAM usage, and the 3x3 thumbnails on the GH canvas shows "missing" as those previously opened GH files are no longer in the same location as they were before:
I understand that David mentioned that the thumbnails for previously opened GH files on GH canvas will not take much RAM. Nevertheless, I'm still not sure what is causing the increase of RAM usage and slowdown of GH interface. Relocating the large project files previously saved in the same folder as the current GH file seems to be able to make this issue go away, for unknown reason ...
Appreciate if anybody experiencing similar issue can help to check if this solution works.
Thank you.
…
lass BrepDeform Inherits GH_Component Public Reslist As New List(Of String) Public Sub New() MyBase.New("BrepDeform", "Deform", _ "移动物件的控制点" & vbCrLf & "(Move the control Point to change a object)", "SEG", "Modify")
End Sub Public Overrides ReadOnly Property ComponentGuid As System.Guid Get Return New Guid("8226e0ea-ed6b-47c2-8a24-244f044152d8") End Get End Property Protected Overrides ReadOnly Property Internal_Icon_24x24() As System.Drawing.Bitmap Get Return My.Resources.SEG_BrepDeform End Get End Property Protected Overrides Sub RegisterInputParams(ByVal pManager As GH_Component.GH_InputParamManager) ' pManager.AddTextParameter("Guid", "Id", "将要被替换的犀牛物件" & vbCrLf & "(RhinoObjects that will be replaced)", GH_ParamAccess.item) 'Dim guidParam As New Param_Guid pManager.AddParameter(New Param_Guid, "Guid", "Id", "将要被替换的犀牛物件" & vbCrLf & "(RhinoObjects that will be replaced)", GH_ParamAccess.item) pManager.AddPointParameter("ControlPoint3d", "C", "控制点的位置" & vbCrLf & "(Control Point's location)", GH_ParamAccess.item) pManager.AddPointParameter("NewPoint3d", "P", "新控制点的位置" & vbCrLf & "(New Control Point's location)", GH_ParamAccess.item) pManager.AddNumberParameter("Tolerace", "T", "输入点与物件实际控制点对比的精度" & vbCrLf & "(Tolerace for the Control Point match)", GH_ParamAccess.item, 0.1)
pManager.AddBooleanParameter("BlMove", "M", "如果是True则进行移动" & vbCrLf & "(If true Perform the Move)", GH_ParamAccess.item, False)
End Sub Protected Overrides Sub RegisterOutputParams(ByVal pManager As Kernel.GH_Component.GH_OutputParamManager) pManager.AddTextParameter("Result", "RG", "结果列表" & vbCrLf & "(Result)", GH_ParamAccess.list) End Sub Public Overrides ReadOnly Property Exposure As GH_Exposure Get Return GH_Exposure.primary End Get End Property
Protected Overrides Sub SolveInstance(ByVal DA As Kernel.IGH_DataAccess) If Banner.astrict.showmessage Then Return Dim Ids As Guid = Guid.Empty 'Dim Ids As String = String.Empty Dim tpt As Point3d = Point3d.Unset, opt As Point3d = Point3d.Unset Dim tolar As Double = 0.1 Dim blMove As Boolean = False If Not DA.GetData(0, Ids) Then Return If Not DA.GetData(1, opt) Then Return If Not DA.GetData(2, tpt) Then Return If Not DA.GetData(3, tolar) Then Return If Not DA.GetData(4, blMove) Then Return If Not blMove Then GoTo line1 Reslist.Add(Now & "_未替换!(Replace failed!)") Else Reslist.Clear() ' Grasshopper.Instances.ActiveCanvas.ModifiersEnabled = False End If
' rt.AddRange(docobjlist.Select(Function(geoobj As RhinoObject) GH_Convert.ObjRefToGeometry(New ObjRef(geoobj.Id)))) 'Private Checked(5) As Boolean, Namestr() As String = {"Point", "Curve", "Brep", "Mesh", "TextDot", "TextEntity"}
Try
Dim rh As RhinoDoc = Rhino.RhinoDoc.ActiveDoc Dim rhobj As RhinoObject = rh.Objects.Find(Ids) ' Dim rhobj As RhinoObject = rh.Objects.Find(New Guid(Ids))
Dim bobj As BrepObject = CType(rhobj, BrepObject) RhinoApp.RunScript("Cancel", False) RhinoApp.RunScript("Cancel", False) bobj.Select(True)
RhinoApp.RunScript("_SolidPtOn", False) Dim gobjs As GripObject() = bobj.GetGrips ' rh.Views.RedrawEnabled = False For Each grpobj As GripObject In gobjs
If grpobj.CurrentLocation.DistanceTo(opt) < tolar Then grpobj.Select(True) Dim CurrentPln As Plane = RhinoDoc.ActiveDoc.Views.ActiveView.ActiveViewport.ConstructionPlane Dim tropt As New Point3d(opt), trtpt As New Point3d(tpt) tropt.Transform(Transform.PlaneToPlane(Plane.WorldXY, CurrentPln)) trtpt.Transform(Transform.PlaneToPlane(Plane.WorldXY, CurrentPln))
Dim movestr As String = "_move " + String.Format("{0},{1},{2} ", tropt.X, tropt.Y, tropt.Z) + String.Format("{0},{1},{2} _Cancel _Cancel", trtpt.X, trtpt.Y, trtpt.Z) RhinoApp.RunScript(movestr, True) grpobj.Select(False) End If
Next
'RhinoApp.RunScript("Cancel", False) 'RhinoApp.RunScript("Cancel", False) '' rh.Views.RedrawEnabled = True Reslist.Add(Now & "_替换成功!(Replace Success!)") Catch ex As Exception Reslist.Add(Now & "_替换失败!(Replace failed!)" & vbCrLf & ex.Message)
End Try ' Grasshopper.Instances.ActiveCanvas.ModifiersEnabled = True
line1: DA.SetDataList(0, Reslist) End Sub
'Private Sub Testt_PingDocument(sender As IGH_DocumentObject, e As GH_PingDocumentEventArgs) Handles Me.PingDocument ' Dim Mbool = Aggregate bcbool In Checked Into cb = Any(bcbool)
' If Not Mbool Then ' Checked(0) = True ' Message = Namestr(0) ' Order = 0 ' End If 'End Sub
End Class
The picture below shows the two question.
Question One I must use data dam, or the component can't batch deal the brep. I don't know why, I have You can give me a solution to make it working normal not using the data dam
Question Two I can not uset the Button component, If I use it, the gh canvas will die with some mouse event--. I have see this problem before in this forum,but there is no solution and explain. I want to know why and How to solve it.
I don't know if I have made my question clear,if not give a message. Thank you! Thank you all.
The gh test file and 3dm test file in the upload files.
…
quinto anno consecutivo di attivazione. Plug it² fornirà ai partecipanti un’effettiva padronanza delle più avanzate tecniche di modellazione digitale, approfondendo le metodologie della modellazione algoritmica e parametrica nel campo dell'architettura e del design del prodotto. Il corso è rivolto a studenti e professionisti dei settori della progettazione architettonica, design, nautica, moda e gioielleria, con esperienza minima nel disegno CAD bidimensionale (acquisita su qualsiasi piattaforma software) e si articolerà in lezioni teoriche frontali ed esercitazioni guidate. L'esperienza maturata attraverso didattica, pubblicazioni e progettazione d'avanguardia ci ha consentito di sviluppare un metodo efficace che non si limita al solo studio del software ma approfondisce gli argomenti teorici legati al controllo delle geometrie complesse.
INFO ED ISCRIZIONI: http://www.arturotedeschi.com/wordpress/?page_id=7119…
d. If what you say is correct about the small difference between the global horizontal and direct/diffuse calculations in the MENEX model, than the discrepancy likely has more to do with the difference between the approximation of human geometry in the MENEX model (plane or cylinder) and the human geometry approximation in the SolarCal model (some coefficients derived from radiation studies of mannequins). I noticed some fairly large differences between using a suggested global horizontal method and a direct/diffuse method with the SolarCal model (differences on the order of 20%) but I imagine that this is because a mannequin human geometry is more sensitive to changes in solar orientation than a cylinder or plane. All of this is very good to know.
Yes, I guess this might be the case: the sensitivity of the SolarCal model to different parts of human body surfaces and surfaces areas.
Am I correct in understanding that you recently corrected the grey-body assumption about sky temperature in the Thermal Comfort Indices component with this commit? https://github.com/mostaphaRoudsari/ladybug/commit/a2a37b6dccc4e750...
The previous incoming long-wave radiation was derived by Ångström for clear sky conditions. The added correction "(1 + 0.22*((N/10)**2.75))" is a fractional cloudiness factor by Maykut and Church (I attached the publication below which mentions it).
So the emissivity coefficient of the (cloudy) sky is now:
epsilon_sky = (0.82 - 0.25*(10**(-0.094*0.75*e))) * (1 + 0.22*((N/10)**2.75))
I do not think that you could use the same value to calculate the sky temperature with Stefan-Boltzmann law, as the incoming long-wave radiation has been derived from the air temperature (2 meters above the ground), not the sky temperature. So by:
skyTemp = (La / [epsilon_sky * sigma])^0.25 - 273.15
One would get the air temperature from which La is derived, not skyTemp.The possible reason why SolCal Mean radiant temperature is currently getting similar values to Thermal Comfort Indices Mean radiant temperature could be that fact your epsilon_sky is almost equal to 1 (0.95), so it depends solely on La.I spoke with Dr. Blazejczyk, and got a publication on different sky temperature models. Apart from upper mentioned Swinbank, Berdahl-Martin, Melchor it has a lot more methods with mutual comparison of their resulting values. I attached it below.…