Forgot password?

Create an account!


« back

RhinoScript – Surface Area Centroid Issue


Please log in to write a message.

  • 8. ledisnomad (Jun 22, 2011 15.05):

    Sorry for the delay in replying.

    Re: your idea for thesis, you should check out the work done at MIT for MoMA called House for New Orleans back in 2008 by Daniel Smithwick, Larry Sass, and Dennis Michaud. Dennis then went on to co-found Blu Homes which is trying to change the way prefab housing is done.

    As for my scripts, I'd be happy to share some of them. The ones for the Tel Aviv project, I'll have to check if I can share them, but the others I'll dig out.

  • 7. KSchillaci (Jun 17, 2011 04.48):

    I checked out the work by Preston Scott Cohen. Very captivating, I am very intrigued with faceted structures and have explored a design for a Maritime Museum similar to the Tel Aviv Museum. The design exploited a central faceted primary core of reinforced concrete, a secondary exterior faceted steel structure cased in a transparent to opaque mesh and a tertiary spanning system using s space frame to keep an open plan allowing for maximum exhibition space. The design came from the tectonic assemblies in ship construction as it was supposed to be a tribute to the maritime/industrial past as well as a didactic tool for the current residents. This was not a realized project(maybe someday) however, just a studio exploration but I would love to have the ability to take the design into fabrication prototyping. When conceived I had very minimal knowledge of these types of design to fabrication techniques and would like to revisit it in many ways.

    I agree with your bias in that I dont have any desire to create form for forms sake, but am very interested in two words revolving the idea of digital design-fabrication. [Truth-Tolerance] I am interested in the indeterminacy of current construction methods in the building industry and am working towards a thesis of re-thinking the constructional logic of housing, focusing on pre-fabrication as a technological epoch. In this way I am most interested in learning scripting and computational design to change the way in which we can construct. Both giving a truth to the imaginative forms inside our computer and reduce the tolerance currently used in construction today.

    I dont know if your willing to share those scripts with me but I would be very interested to see how they are created to further my research (especially the water-jet and facade panels)

    Excuse the long response, you triggered my interest in these topics.

  • 6. ledisnomad (Jun 17, 2011 04.08):

    I am biased when it comes to computational approaches to design. I think it is easy to make captivating forms that are not conceptually or practically useful. That said, my approach, and that which I used for that summer internship (I helped Preston Scott Cohen on one specific aspect of his Tel Aviv Museum of Art,, is towards process and constructional logic. In the Tel Aviv project, I was tasked with redesigning the facade system because Scott had decided to go from a stone-clad steel structure to a precast concrete panel system. The panels had size, weight, and tolerance constraints and there were 465 unique panels. After we redesiged the panelization, I started writing two scripts: one to calculate all the construction constraints including reveals between the panels, chamfer angles taking into construction tolerance for gaskets behind the panels, etc; and a second one to document the size and shape of each panel.

    That's the largest and most substantial use of RhinoScript I've done. Many of my other scripts, as I mention, are simple tools to help automate repetitive tasks. Have a land survey that needs cleaning up? Wrote a script for that. Want to calculate reflective angle for each glazing panel on a facade to create a specific pattern to optimize the perception of a building from various vantage points? Wrote a script for that. Want to explore ways to use a waterjet cutter on a robotic arm to cut marble panels? Wrote a script for that. I like the interface between construction/fabrication and computation because it gives me a way to think about physical material and it's constraints and the logic used to script a solution.

  • 5. KSchillaci (Jun 17, 2011 01.39):

    Yeah the research is focusing on the behavioral patterns of ants infected with a particular parasite that controls their nervous system. It's an interesting approach to architectural thinking as well looking into bio-mimicry and studying the societal patterns of ant colonies.

    I am curious as to what types of tools and designs you have implemented RhinoScript into (as well as what the office you worked for was using it for). I am one of only a few students at Penn State interested in parametric/computational approaches to architectural design. We are trying to make a much larger input in the school and I would be interested in seeing what uses you have found for the programs first hand if you don't mind.


  • 4. ledisnomad (Jun 16, 2011 22.38):

    Glad I could help. I'm an architect, myself. Graduated in 2009. I spent one summer working at an architecture firm doing about 75% RhinoScripting. Ever since then I've used RhinoScript for design and to create quick tools to speed along my design process.

    Good luck with your work, I'd love to see the project as it progresses. It looks like pretty interesting research from the quick web search I just did.

  • 3. KSchillaci (Jun 16, 2011 20.13):


    Thank you very much that did the trick!

    I am an architecture student at Penn State and am fairly proficient in Grasshopper but wanted to explore RhinoScript as well. This is just the very beginning of a script I am writing to visually model and analyze Ant behavior data for the scientist David Hughes.

    I am sure as I work through the script(which seems to be pretty long just by writing it down as logic) I will have more questions to post.

    Thanks for you prompt response.

  • 2. ledisnomad (Jun 16, 2011 20.03):

    Hi, KSchillaci.

    I think you just need one more piece... When you use this method

    PlotSurface = Rhino.AddPlanarSrf(PlotConstraints)

    it returns an array, not just a string! To reference the first (and perhaps only) surface that AddPlanarSrf creates, just use PlotSurface(0).

    So you'd have

    arrMP = Rhino.SurfaceAreaCentroid(PlotSurface(0))
    If IsArray(arrMP) Then
    Rhino.AddPoint arrMP(0)

    Hope that works!

  • 1. KSchillaci (Jun 16, 2011 19.54):

    I was beginning a script by asking for a curve as an input to use as a plot area for data I am working with. From there I wanted to turn this curve into a surface and them find and place a point at the center of the surface.

    I tried using Dim arrMP : arrMP = Rhino.SurfaceAreaCentroid(PlotSurface)

    If IsArray(arrMP) Then

    Rhino.AddPoint arrMP(0) But got a message about PlotSurface not being a String. I am new to Rhino Script and could not figure why I couldnt reference the surface I just created to find the Centroid instead of prompting to select the surface as the code below shows.(the code below works but it causes an extra Call to Rhino to select the surface)

    If someone could explain to me how I can use the surface PlotSurface to find the Center and add a point it would be of much help. Thank you

    Option Explicit
    'Script written by <Kyle Schillaci>
    'Script copyrighted by <Kyle Schillaci>
    'Script version Thursday, 16 June 2011 11:31:11

    Call Main()
    Sub Main()
            'Insert Data Plot constraints as Polygon/Curve
            Dim Surface
            Dim PlotConstraints : PlotConstraints=Rhino.GetObjects("select polygon for Plot Constraints ",4)
            If isNull (PlotConstraints) Then Exit Sub
            'Convert Plot to Planar Surface
            Dim PlotSurface,arrCenter
            PlotSurface = Rhino.AddPlanarSrf(PlotConstraints)
            Dim strObject, arrDomainU, arrDomainV, arrParam(1), arrPoint
            strObject = Rhino.GetObject("Select a surface")
            If Rhino.IsSurface(strObject) Then
                    arrDomainU = Rhino.SurfaceDomain(strObject, 0)
                    arrDomainV = Rhino.SurfaceDomain(strObject, 1)
                    arrParam(0) = arrDomainU(1)/2
                    arrParam(1) = arrDomainV(1)/2
                    arrPoint = Rhino.EvaluateSurface(strObject, arrParam)
                    Rhino.AddPoint arrPoint

            End If

    End Sub


Why are these buttons gray?