Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adiabatic Surface Selector #821

Open
christophwaibel opened this issue Feb 14, 2024 · 1 comment
Open

Adiabatic Surface Selector #821

christophwaibel opened this issue Feb 14, 2024 · 1 comment
Labels
feature 💡 an idea that adds some new feature

Comments

@christophwaibel
Copy link
Contributor

Feature
Adding a functionality to select rhino geometry surfaces that are supposed to be adiabatic, i.e., don't contribute to heat losses.

Expected behavior
Proposal: In the Hive Building Form, at the Surface Construction Tabs with the u-values, add a button "Select Adiabatic Surfaces". A script will start where you can select surfaces from the Hive Building Polysurface that will be treated as adiabatic henceforth (until deselected..).

As for the physics, simple: Just deduct those surface areas from the total heat loss calculation.

Screenshots
image
starting point

image
select surfaces

image
confirm, henceforth marked as adiabatic

@christophwaibel christophwaibel added the feature 💡 an idea that adds some new feature label Feb 14, 2024
@christophwaibel
Copy link
Contributor Author

VBscript

Option Explicit
'Script written by <insert name>
'Script copyrighted by <insert company name>
'Script version Wednesday, 14 February 2024 20:50:56

Call Main()
Sub Main()


	' Prompt user to select surfaces
	Dim surfaces
	surfaces = Rhino.GetObjects("Select surfaces", 8) ' 8 corresponds to surface filter
    
	If IsNull(surfaces) Then
		Exit Sub
	End If
    
	' Loop through each selected surface
	Dim surface
	For Each surface In surfaces
		' Get the center of the surface
		Dim surfaceCenter
		surfaceCenter = Rhino.SurfaceAreaCentroid(surface)
        
		' Check if the center is valid
		If Not IsNull(surfaceCenter) Then
			' Add a text dot at the surface center
			Rhino.AddTextDot "Adiabatic", surfaceCenter(0)
		End If
	Next
End Sub

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature 💡 an idea that adds some new feature
Projects
None yet
Development

No branches or pull requests

1 participant