Archinect

Harvard GSD

 

Archived

Sep '04 - Aug '08

 
  • anchor

    Elite Modeling School { Day 2: Rhino }

    bryan boyer Oct 12 '07 13



    Welcome back to Elite Modeling School. If you missed it, day one would be a good place to start. As a reminder, we're not focusing on extreme cases: this tutorial is about optimizing your workflow in rhino and later maybe we'll cover other programs.

    In general, the instructions here will be fairly brief. Please download the scripts and give them a whirl; everything covered here will be pretty straightforward. If you have further questions or suggestions to share you can post them in the comments below.

    All scripts mentioned below are available here.


    Keep it Clean

    I am a bit obsessive about having clean geometries in my rhino files. Generally I despise having isocurves turned on for my surfaces unless I'm working with a complex curved geometry.

    image
    Left: Three cubes with isocurves turned on. Right: Three cubes as separate objects but isocurves turned off.

    This issue can become especially obnoxious when working with booleaned solids because, by default, the faces of the original solids are maintained. This can lead to some confusing extra lines in the viewport and it's why I developed the "cleanBoolean" script. This script will perform a normal boolean union, then select the new unioned solid, and finally run "mergeallfaces" to eliminate extra iso curves. The result: perfect, clean solids.

    image
    Left: Three cubes booleaned into one with default boolean command. Right: Results of the cleanboolean script.


    Measuring Quickly

    One of the biggest pains in my ass last summer was trying to do some general plan layouts for a building with a totally irregular geometry. We had very specific area requirements for each line item in the brief, so controlling general surface distributions was critical.

    Rhino's built in "area" command is excellent but it only works for surfaces and closed curves. When you're sketching out a plan it can be quite a pain to convert individual rooms into unique polylines so that you can test their area. Why not test the area of an arbitrary bounded figure regardless of whether it's caught between one curve or multiple? This is exactly what the script "boolArea" accomplishes.

    When you run "boolArea" the script will ask you to click inside the areas that you would like to add to your selection. Once you do this and then hit space bar it will report on the combined area.

    image
    Left: Separate curves. Right: Arbitrary shape selected



    Congratulations, you've passed Elide Modeling School #2!

    p.s. If you're not familiar with it, try using the "dot" command. Dots are super useful for labeling program chunks in your model since they always "look" at the active camera.

     

     
    • 13 Comments

    • FOG Lite
      Oct 12, 07 1:11 pm

      Both scripts look pretty useful, thanks!

      (Paul, when's the t-shirt coming?)

      David CuthbertDavid Cuthbert
      Oct 12, 07 6:40 pm

      I'm sure if i used Rhino I'd be adding more useful commentary - but instead I'm just caught up with the logo

      Quilian RianoQuilian Riano
      Oct 12, 07 11:50 pm

      are there going to be ranks?

      psycho-mullet
      Oct 13, 07 2:27 am

      1337

      jd steelritter
      Oct 15, 07 4:15 am

      great use of your school blog! much appreciated from the rest of us trying to streamline our rhino use.

      they're a little bit buggy, though. the arcDist script likes to snap to apparently random places and creates runtime errors in lines 24 and 31 when escaping from a command and when exiting, respectively. check these out, and maybe use your fellow stuio-mates as guinea pigs before you post the next.

      keep 'em coming, though.

      bryan boyer
      Oct 15, 07 5:08 am

      jd, sorry to hear you're having some problems but remember to read the preface to the script: everything is provided as-is.

      There's nothing in arcdist that effects snapping, so any odd snap behavior you're witnessing is a result of the normal rhino snaps...

      _ks
      Oct 15, 07 7:11 pm

      they aren't actually errors jd. the script is returning a null value if you don't create an arc, and thus the error that comes up is Rhino telling you it doesn't have an arc to measure.
      the following modification won't return any error values.

      _ks
      Oct 15, 07 7:11 pm

      Call arcDist ()
      Sub arcDist

      Dim arrPoint, strView, arrObjs, dblLength, strDeg, strRadius

      Rhino.Command("arc")

      arrObjs = Rhino.LastCreatedObjects

      If IsNull (arrObjs) Then
      Call Rhino.MessageBox ("You Forgot To Make An Arc")
      Exit Sub
      End If

      If Rhino.IsCurve(arrObjs(0)) Then
      dblLength = Rhino.CurveLength(arrObjs(0))
      strDeg = Rhino.ArcAngle(arrObjs(0))
      strRadius = Rhino.ArcRadius(arrObjs(0))

      Rhino.Print "Arc Length: " & Round(CStr(dblLength),3) & "units /// Degrees: " & Round(strDeg,3) & " /// Radius:" & Round(strRadius,3)
      Rhino.DeleteObjects(Rhino.LastCreatedObjects)
      End If
      End Sub

      bryan boyer
      Oct 15, 07 11:49 pm

      NICE! Thanks, ks!

      jd steelritter
      Oct 16, 07 6:28 am

      beats me where the snapping was coming from, but it was while measuring with no arc. problem solved; copy-paste.

      thanks, kyle.

      le bossman
      Oct 17, 07 10:21 am

      i didn't even know you could turn the isocurves off in rhino

      le bossman
      Oct 17, 07 10:25 am

      i'm going to go home and load all these scripts. i am totally into this.

      Antisthenes
      Oct 17, 07 5:43 pm

      Rhino > Option > General (show isocurves) if you don't want to see any

    • Back to Entry List...
  • ×Search in:
 

Affiliated with:

Authored by:

  • bryan boyer

Other blogs affiliated with Harvard University:

Recent Entries


Please wait... loading
Please wait... loading