llowing for higher skyline and construction areas along public transportation corridors. Up until now, neighborhoods once characterized by two-story houses, gardens and ground- floor open shopfront programs, have been completely transformed by the introduction of fortressed monolithic residential and office towers, which lack any sort of urban street life.
The new master-plan, however, now requires buildings to have an open street façade to accommodate multiple programs. Led by tutors from UNStudio (www.unstudio.com), the AA Visiting School São Paulo will address the changes being prescribed by the new masterplan through the redefinition of the tower typology in the extending of the ground of street culture, green landscapes and ecological mediation along the vertical axis of these buildings. For this, the workshop will teach advanced digital design and fabrication techniques to explore a series of novel differentiating structural and environmental organizations in the redefinition of the São Paulo skyscraper.
For more information:
saopaulo.aaschool.ac.uk
Applications:
https://www.aaschool.ac.uk/STUDY/ONLINEAPPLICATION/visitingApplication.php?schoolID=303
For any queries, please email: brazilvisitingschool@aaschool.ac.uk.…
llowing for higher skyline and construction areas along public transportation corridors. Up until now, neighborhoods once characterized by two-story houses, gardens and ground- floor open shopfront programs, have been completely transformed by the introduction of fortressed monolithic residential and office towers, which lack any sort of urban street life.
The new master-plan, however, now requires buildings to have an open street façade to accommodate multiple programs. Led by tutors from UNStudio (www.unstudio.com), the AA Visiting School São Paulo will address the changes being prescribed by the new masterplan through the redefinition of the tower typology in the extending of the ground of street culture, green landscapes and ecological mediation along the vertical axis of these buildings. For this, the workshop will teach advanced digital design and fabrication techniques to explore a series of novel differentiating structural and environmental organizations in the redefinition of the São Paulo skyscraper.
For more information:
saopaulo.aaschool.ac.uk
Applications:
https://www.aaschool.ac.uk/STUDY/ONLINEAPPLICATION/visitingApplication.php?schoolID=303
For any queries, please email: brazilvisitingschool@aaschool.ac.uk.…
angel but when it comes to material behavior, stresses, surface tension i think that "our" tools are still no complex and powerful enough - and like i said i didn't really see the benefit in the work of my friend form the digital experiment.
so i think the question is is there a benefit from your digital experiment or do you rather stick to the physical experiment.
…
of 400 interlocked rings in a 20 X 20 grid.
V1 - A single 'suLoop' component doing 400 'SUnion' operations (20 X 20): 11.6 minutes
V2 - Two phases: 5 X 10 in phase one and 2 X 4 in phase 2, 58 'SUnions' total: ~88 seconds combined
V3 - Two phases: 4 X 5 in phase one and 4 X 5 in phase 2, 40 'SUnions' total: ~104 seconds combined
Again, these Profiler benchmarks don't reflect the whole picture, and might be affected by other things I was doing on the laptop while the code was running.…
Added by Joseph Oster at 12:29pm on March 23, 2017
,
and then I saw under Application that resources are managed by 'Icon and manifest'.
That can also be set as 'Resource file', but then a file path is required.
Is 'Icon and manifest' OK, or have I to set thing differently ?
Also, in the class code I inserted the following:
( I saw it mentioned here in the forum )
protected override Bitmap Icon { get { return Resources.colour; } }
( colour.png is the image file's name )
but VS gives me an error, saying:
Error 1 The name 'Resources' does not exist in the current context C:\Program Files\Rhinoceros 5 Evaluation\gh\plug-ins\ColourRhOb\Class1.cs 88 26 ColourRhOb
Did I miss a reference in the code ? Here they are:
using System;using System.Drawing;using System.Collections.Generic;using Grasshopper.Kernel;using Grasshopper.Kernel.Types;using Rhino;using Rhino.DocObjects;using Rhino.Geometry;
What am I doing wrong ?
Thanks
emilio
…
a value.
In this case it will be between position 86 and 87 where the x value of a point jumps from 2.32... to -6.04... (see inside red rectangle @ attached image).
Idea so far is:
1) Decompose the list into x,y,z
2) get just the x values in one list
3) compare all values in a kind loop.
4) if value difference is more that let's say 1.0 - get the index
5) split list at that index.
My question: How to do that without looping?
I would be very thankful is someone could give me a hint.
Best, Boris.
…
Added by Boris Baehre at 5:33am on January 28, 2016
fear that it would be too hard, but I was pleasantly surprised. Not that bad, even for a C# novice. I am attaching the *.cs files for three components:
SerialCreate component creates the serial port instance. This component controls port parameters and opens/closes the port. (It won't close the port, however.) SerialWrite and Read try to interact with the port created by SerialCreate. I can verify that the port opens because it's unavailable to other terminal applications, but if I try to close the port, it won't...it stays open until I restart Rhino. SerialWrite works, because I can see the rx light on my device light up when I enter text in grasshopper. SerialRead does not work. I blue screen with a DPC WATCHDOG VIOLATION.
All in all, not too bad for a day's work. I'll forget the user objects and go for custom components. The question that still remains is that I don't think I'm correctly or efficiently sharing the serial port instance with the other classes. Again, this is just a hack, but I'm happy I'm closer to solving the problem (or so it seems). If anyone has any ideas about how to better go about this, I'd appreciate any suggestions.
Thanks again,
~BB~…
glass panel).
2. This actually means that the parts on duty they don't differ that much. Meaning that we can use an "average" size (and "local" topology) acting as the Jack for all trades.
3. Meaning that we can effectively solve the abstract topology with an abstract app the likes of GH and then place in properly defined coordinate systems all the real-life bits and nuts ... closely "emulating" a pro solution (that could "adjust" the parts as well).
4. This means that one particular C# needs more lines of code since as it is it defines cable axis on a per nod to node basis ... but in fact these are defined as the min segment between curves (circles to be exact).
5. Additionally the end part of each strut differs depending on how many pairs of stabilizing cables are used (either 2 or 1). Meaning some lines of code more for defining the proper coordinate systems for the instance definitions.
6. This is the reason that I've postponed mailing to you the 4 horsemen (because PRIOR finishing the whole you MUST define what parts to use: the classic bottom-top design approach).
But in order to receive the Salvation (aka: Apocalypse) you MUST answer correctly to a simple puzzle:
Provided that money is no object, pick your car:
1. Ferrari 245 (Less is more)
2. Lancia Stratos (Lethal).
3. Cobra 427 (Men only)
4. Ford GT40 (Mama mia)
5. Ariel Atom (Mental)
6. Aston Zagato GTB4 (Sweet Jesus)
7. Fulvia HF Fanalone (THE racer)
8. Lambo Miura (Enough said)
9. Lotus Elise (Just add lightness)
10. Alfa Romeo 8C Competizione (In red)…
o Common - just like C#. But Rhino Python has a "Scripting Language Wrapper" which breaks commonly used taks down to simpler functions.
Here's a general Example:
Take a look at the code on this website http://wiki.mcneel.com/developer/rhinocommonsamples/addline). Generally it's Rhino Common code in three language to create a line. They look equally difficult.
But if you use Rhino Python Scripting you can use an simplified syntax to get the same result. It's very similar to Rhino Script.
The code would be:
import rhinoscriptsyntax as rsstart_point = rs.GetPoint("Get start point")end_point = rs.GetPoint("Get end point")line_id = rs.AddLine(start_point, end_point)
OK - No Error Tracking here, but still you can see that the syntax is much simpler. (And in the end you just have less lines of code you have to debug.
And the good thing about Rhino Python is, that you can mix these approaches. Once you reach a level where Rhino Python Script doesn't get you there, which by the way happens very rarely, you can still use the Rhino Common methods.
Also, in Python Sycripting 99% of what you probably would like to do is available as a "wrapped" script function.
Rhino Python Script is currently also better documented than Rhino Common for C# and VB.Net. If you have used Rhino VB Script before, these functions will be very familar to you.
I'm not sure, why it's currently a separate plug-in. I belive the reason is that Rhino 4 (which is supported by GH) doesn't support Rhino Python. Also it's currently WIP, so it needed to be updated more frequently than GH itself. In the long run (I believe) it might be integrated into GH as a general component
- Martin
P.S.: To use Rhino Python within GH is a little more tricky than my example - but nothing compared to developing C#
P.S.2 Here's the code with Error Tracking:
import rhinoscriptsyntax as rsdef AddLine(): start_point = rs.GetPoint("Get start point") if start_point is None: print "No start point was selected" return end_point = rs.GetPoint("Get end point") if end_point is None: print "No end point was selected" return line_id = rs.AddLine(start_point, end_point) return line_idAddLine()
…
s, each made from two Nurbs curves, each with different surface properties.
Curves A1 and A2 have 2 control points:
startpoint and endpoint
Curves B1 and B2 on the other hand were drawn with 6 control points each.
What's more, those point's aren't equally distanced from one another.
The lofts inherit the position of control points of the profile curves.
The distribution of control points in the loft direction is uniform.
So no suprise here:
You can think of Nurbs curves as rubber bands and of Nurbs surfaces as rubber sheets. The areas with less control points would correspond to streched rubber.
Now lets imagine you take an A4 piece of rubber, lay in on a table and draw equally distanced lines on it. When you strech it ununiformally - the distances won't stay equal anymore.
Returning to your first post:
The Divide Surface component operates on u,v values which you can imagine as dimensions of the rubber sheet in relaxed state.
So the result you got was indeed an equaly divided surface, only in the so called "parameter space" of the surface, which doesn't always correspond to the xyz space.
There are methods to divide curves and surfaces in equal distances in the way you want it. For starters check out the Evaluate Lenght component.
I think that's enough teory for today. Have fun!
JJ…