nch, xno items in one list)2 divide the list lenght value by the numer of items per branch needed3A generate a list with the series component: the step equal to the target numer of items per branch; the no of items equals the number of target branches
3B generate a list with the series component: the first number of the series equals to the number of items needed (-1 to account for the 0 index); the step size again equal to the target number of itmes per branch as 3A4 feed 3A & 3B to a domain component thus identifying the start -3A- and end -3B- of the domains by which the list will be subdivided5 use a subset component with the domains above thus creating 19 branches with lists having 5 items eachfor lists which are subdivided into branches when the target number of branches is not a multiple of the number of items contained in the list:6 identify if the target number of branches is a multiple of the list by using the modulus component fed by the list lenght -1- and the target number of branches7 identify last index in the 3B series with the item component (reversed to take the last value fed)8 add 6+7 above which dill define the start of the domain that will pick up the remanent items not accommodated in 59 add (+1) to 7 above to define the end of the domain that will pick up the the remanent items not accommodated in 510 feed 8 & 9 to a domain component11 include 10 as part of the subset in 5I'm now trying to understand the components mentioned by Michael...
sn
…
arget group The workshop is addressed to students of architecture and civil engineering faculties at master level from Estonia (11 seats), Latvia (3 seats), Lithuania (3 seats) and Sweden (3 seats). The selected students will have full scholarship that will include travel, board and lodging in Tallinn for 10 days (arrival on Sunday 03.07.2016 departure on Wednesday 13.07.2016). The workshop is funded by the NORDPLUS programme of the Nordic Council of Ministers (NCM) - Higher Education objective.
Description The use of digital and computational design tools is increasingly important for the activity of design and research for architects and engineers. It permits to integrate environmental and energy aspects from the very early stages of the design and planning process to achieve more performative, efficient and integrated buildings and urban environments. The workshop attendants will broaden their design and technical knowledge with solar design, daylighting and energy efficiency topics and will learn how to integrate environmental analysis and building performance analysis tools with parametric and generative methodologies in architecture and planning.
Location
Tallinn University of Technology – Departments of Structural Design and Environmental Engineering
Dates
From 04 to 12 July 2016
Workshop blog
For detailed program, info and registration visit the blog at ceedtut.blogspot.com
In the weeks just before the workshop the blog will present also materials and tutorials to get a basic knowledge of the topics prior to the beginning of the workshop.
…
s the "Surface Populating" definition: I manage to populate my geometry over the surface, but after I bake it, I have to delete the boxes that define my components limits as well! Is there any way of populating and baking only the chosen component, without having to delete the boxes afterwards?
Secondly:
Basically: I am trying to cover a surface with two types of components [ an open one and a closed one] , which will be proliferated over my tubular surface according to the main sunlight direction.
1. I introduce the surface component.
2. I use "Divide Interval2" in order to have division into U and V.
3. i generate the target boxes [ "surfaceBox"] .
4. I use "Isotrim" ( same intervals) and "BRepArea" to find centroid of each area.
5. My "Curve" component introduces sun angle, with its "End Points".
6. I use "Vector 2Pt" to specify sun-light direction.
7. I want to measure the angle between sun-light and the surface normals, at the position of each component; after generating the centre points, I need the normals of each centre point to get the surface's points' UV, and "Evaluate" the srf at points.
8."Angle" and "Vector" components: I use them in order to evaluate the angle between the sun direction and the srf.
9. I convert this angle to degree by using a "Function" [ to see if the angle is bigger from the max.angle or not...]
10. Function "x,y" gives me boolean data.
11. Data become "Dispatch"ed...
12. Two "Morph" components , each one linked to one part of the "Dispatch" data, generate "closed" and "open" components over the srf.
The result should have been different types of components, based on the surface's curvature, diraction and sun-light direction...
I do not understand where the mistake is in this definition...
Thx in advance1
Spyros K.…
ells new products like the Firefly Interactive Prototyping Shield which mounts on top of your Arduino Uno and provides access to a number of useful input (ie. sensors) and output (ie. motors) devices. It includes features like:
Three linear slide potentiometers connected to analog pins 0, 1, and 2
Two-axis joystick connected to analog pins 3 and 4
Light sensor (photocell) connected to analog pin 5
Three push buttons connected to digital pins 2, 4, and 7
Red LED connected to digital pin 13
RGB LED connected to digital pins 3, 5, and 6
Two servo connections on digital pins 8 and 9
A connection to the Easy Stepper Driver (co-designed by Sparkfun Electronics and Brian Schmalz) to control stepper motors. The direction of the motor is controlled through digital pin 10 and the number of steps through digital pin 12
High-voltage MOSFET circuit capable of driving lights, valves, DC motors, solenoids, or anything else requiring higher voltage or current. The gate of the MOSFET is connected to digital pin 11 (PWM).
Some come take a look and let us know what you think!
…
gh, when I bake, the geometry suddenly exists in rhino.
Second, I can seem to figure out how to set default numeric values in the component.
Protected Overrides Sub RegisterInputParams(pManager As Grasshopper.Kernel.GH_Component.GH_InputParamManager)
pManager.AddPointParameter("Focal Point", "FP", "The focal point", GH_ParamAccess.item)
pManager.AddNumberParameter("Focal Point Horiz Dist", "D", "Focal point distance from performance boundary", GH_ParamAccess.item)
pManager.AddNumberParameter("Focal Point Height", "H", "Focal point height above performance boundary", GH_ParamAccess.item)
pManager.AddPointParameter("First Row Start Point", "FR", "Location of first row in tiered seating", GH_ParamAccess.item)
pManager.AddNumberParameter("First Row Horiz Dist", "FRD", "First row distance from performance boundary", GH_ParamAccess.item)
pManager.AddNumberParameter("First Row Height", "FRH", "First row height above performance boundary", GH_ParamAccess.item)
pManager.AddNumberParameter("C Value", "C", "C value", GH_ParamAccess.item)
pManager.AddNumberParameter("Row Width", "RW", "Row width", GH_ParamAccess.item)
pManager.AddIntegerParameter("Number of Rows", "RN", "Number of Rows", GH_ParamAccess.item)
pManager.AddIntegerParameter("Construction Tolerance", "CT", "Construction Tolerance: 1=1in, 2=1/2in, 4=1/4in, 8=1/8in", GH_ParamAccess.item)
pManager.AddNumberParameter("Max Riser Height", "MR", "Maximum riser height allowed", GH_ParamAccess.item)
pManager.AddGeometryParameter("Spectator", "S", "Seated/Standing spectator", GH_ParamAccess.item)
End Sub
Protected Overrides Sub RegisterOutputParams(pManager As Grasshopper.Kernel.GH_Component.GH_OutputParamManager)
pManager.AddLineParameter("Sightlines", "SL", "Sightlines", GH_ParamAccess.list)
pManager.AddLineParameter("C Value", "CL", "Line represents C value height", GH_ParamAccess.list)
pManager.AddLineParameter("Ground Line", "GL", "Ground Line", GH_ParamAccess.list)
pManager.AddLineParameter("Tier tread", "TR", "Line represents tier treads", GH_ParamAccess.list)
pManager.AddLineParameter("Risers", "RI", "Line represents risers", GH_ParamAccess.list)
pManager.AddGeometryParameter("Spectators", "SP", "Seated Standing Spectators", GH_ParamAccess.list)
End Sub
Protected Overrides Sub SolveInstance(DA As IGH_DataAccess)
Dim newLine As New List(Of Line)
Dim newCValue As New List(Of Line)
Dim rowWidthLineList As New List(Of Line)
Dim floorLineList As New List(Of Line)
Dim riserLineList As New List(Of Line)
Dim leghtList As New List(Of String)
Dim newSeated As New List(Of GeometryBase)
Dim inputPoint As Point3d
If (Not DA.GetData(0, inputPoint)) Then Return
Dim viewPointY As Double
If (Not DA.GetData(1, viewPointY)) Then Return
Dim viewPointZ As Double
If (Not DA.GetData(2, viewPointZ)) Then Return
Dim firstRowPoint As Point3d
If (Not DA.GetData(3, firstRowPoint)) Then Return
Dim firstRowY As Double
If (Not DA.GetData(4, firstRowY)) Then Return
Dim firstRowZ As Double
If (Not DA.GetData(5, firstRowZ)) Then Return
Dim cValue As Double
If (Not DA.GetData(6, cValue)) Then Return
Dim rowWidth As Double
If (Not DA.GetData(7, rowWidth)) Then Return
Dim numberOfRows As Integer
If (Not DA.GetData(8, numberOfRows)) Then Return
Dim M As Integer
If (Not DA.GetData(9, M)) Then Return
Dim maxHeight As Double
If (Not DA.GetData(10, maxHeight)) Then Return
Dim seated As GeometryBase
If (Not DA.GetData(11, seated)) Then Return
Call addNewRow(newLine, newCValue, inputPoint, viewPointY, viewPointZ, firstRowPoint, firstRowY, firstRowZ, cValue, numberOfRows, rowWidth, rowWidthLineList, floorLineList, riserLineList, M, maxHeight, seated, newSeated)
DA.SetDataList(0, newLine)
DA.SetDataList(1, newCValue)
DA.SetDataList(2, rowWidthLineList)
DA.SetDataList(3, floorLineList)
DA.SetDataList(4, riserLineList)
DA.SetDataList(5, newSeated)
End Sub
Public Sub addNewRow(---constructor----)
---additional code----
end Sub…
lane that looks like the outline of a gear wheel
2. Scale a bunch of copies of the curve to different sizes (I use 11 different sized curves.)
3. Move each curve vertically to a different Z-height
4. Rotate each curve to get the desired wavy/wiggly effect
5. Create a Loft surface using all the curves.
A critical step when creating the Loft is to add the curves in order - either top to bottom or bottom to top.
Step 4 can be omitted if you want a constant curvature throughout the final part. In this case all you have to do is Twist by the desired amount the Loft surface made from un-rotated curves. …
Added by Birk Binnard at 2:18pm on October 15, 2016
ings" [every person on the experiment is one ring] which show the time duration. The outer sphere is divided in 11 segments [which are basically the segments of a human brain] I hav imported the data so far but what i aim is to find a way to connect each moment[time, second] from the inner sphere to a number of points from a specific segment in the outer. For example for Person number1, at 5th second the segments that are activated are 4th , 6th, 11th with 2, 3, 2 points.
It could be done manually but since the connections are a few thousands and i got the lists, i wonder whether there is a better way.
Any help is appreciated, i do not attach files since you need the excel files aswell. If anyone would like to help i can email the files.
Thanks in advance.…
elated with the Topology outputs:
So let's try to do (via components) the face reconstruction stage (the missing 4 as above):
Alias crenelatedEdgesTree as polylineTree.
Imagine a Lst that samples all the edges per Face ("changed" and "unchanged") as Curves.
1. Let's take face 3: this is surrounded by edges 10,11,12,13 and 37.
2. Has edge 10 "changed" (to polyline) ? No because in the polylineTree there's no branch {10} ... thus sample edge 10 from the EList (Note: apparently that's a boundary edge). Has edge 11 "changed" ? No ... blah, blah.
3. Has edge 12 "changed" ? Yes because in the polylineTree there's a branch {12} ... thus sample the item from that branch. Same for 13 ... etc etc.
4. Thus we have sampled all the surrounding edges as Curves and the next step is to join them > yielding a closed Curve.
5. Then we must "planarize" that Curve (by projecting it into the corresponding Brep Face plane) ... and the rest are history.
So ... try it and report any issue encountered.…
Target group The workshop is fully funded and is addressed to students of architecture and civil engineering faculties at master level from Estonia (11 seats), Latvia (3 seats), Lithuania (3 seats) and Sweden (3 seats). The selected students will have full scholarship that will include travel, board and lodging in Tallinn for 10 days (arrival on Sunday 03.07.2016 departure on Wednesday 13.07.2016). The workshop is funded by the NORDPLUS programme of the Nordic Council of Ministers (NCM) - Higher Education objective.
Description The use of digital and computational design tools is increasingly important for the activity of design and research for architects and engineers. It permits to integrate environmental and energy aspects from the very early stages of the design and planning process to achieve more performative, efficient and integrated buildings and urban environments. The workshop attendants will broaden their design and technical knowledge with solar design, daylighting and energy efficiency topics and will learn how to integrate environmental analysis and building performance analysis tools with parametric and generative methodologies in architecture and planning.
Location
Tallinn University of Technology – Departments of Structural Design and Environmental Engineering
Dates
From 04 to 12 July 2016
Workshop blog
For detailed program, info and registration visit the blog at ceedtut.blogspot.com
In the weeks just before the workshop the blog will present also materials and tutorials to get a basic knowledge of the topics prior to the beginning of the workshop.
…
jogs between the curves. My Grasshopper program uses the curves to add orientation curves. These curves are then broken down into 150 segments with a "Divide Equal" command", then merged and fed to my Kuka|prc core. 24 commands in total.
The program works well on the Kuka in T1 setting so I can adjust the speed. Albeit my hand is exhausted holding the buttons... and this will not work when I am not in T1 mode.
When trying to program I found that if I did not have each curve broken into an equal number of segments (i.e. 150) the commands would not merge. I found that each LIN command on the kuka is completed in the same time interval. Unfortunately this means that some of my shorter jog curves can take longer to run than my cutting curves. And my velocities are not constant throughout the program because the curves are different lengths. I need the cutter when in the material to have a consistent cutter speed to optimize my machine time (as well to speed up the jogs).
Is there a better way to program this (or component to use) so I can manipulate the velocity with Kuka|prc? i.e. should I be using Divide Equal and Merge?
Thanks
Joanne…