he implementation of the Component more autonomous without the need for user intervention.
At present you have 1 main input for the data to be placed on a single sheet as per the input and the option to add more sheets manually.
Would it be possible to alter this to have a Data input and a Sheet Name Input so that the Path Structure dictates which sheet gets what data and the optional Name input gets applied.
For example
{0;0;0}(N=10) is Range A1:A10 on Sheet 1
...
{0;0;9}(N=10) is Range J1:J10 on Sheet 1
{1;0;0}(N=10) is Range A1:A10 on Sheet 2
...
{1;0;9}(N=10) is Range J1:J10 on Sheet 2
etc.
I realise that this would have to be very particular, making sure that only Place Holder A has influence over what sheet is used If there is a distinction of multiple sheet names.
For Example if you had a list of:
{0}(N=10)
{1}(N=10)
{2}(N=10)
{3}(N=10)
Place holder A could either be sheets or Rows so it would have to only work when there was a corresponding Sheet Names List for {0}, {1}, {2} and {3}
At present I have to do this manually using Explode Tree etc. Whenever I expand on the conditions (different Draft or Heel) Then I have to increase all of the outputs for the components highlighted in Pink
…
model is at a scale of 1:200 and is planned to be laser cut out of 1mm sheets of card and stacked on top of each other to create the contour. I will also need to create a rib structure underneath in order for the model to stay upright. From then onwards, the year group will be creating the buildings to be placed on top.
What I have done so far:
I have created the surface topography using digimaps contour lines, then extruded down 5mm (the desired thickness of the stacked contours)
I have then divided into contours 1mm thick) and split them to the size of our A1 card
From here I have struggled all day to complete -
What I am struggling with:
-I need to project the road map and building outline onto the top surface of each contour, but only onto the part that is exposed, not the part that is overlapped. And these lines need to be in Blue for laser cutting (etching) purposes
-I need to project the edge of each contour down onto the contour below, so that when it is constructed the layers can be accurately positioned.( also Blue)
-I need to number each slice (eg. row A, column 1, slice, 1 etc) for ease of assemble.(Blue)
-I need to collate/nest all slices onto A1 size sheets, and for laser cutting purposes the outlines of the slices need to be in Red.
Like I have said, I have tried multiple attempts today to try and sort these things but I am having great difficulty as my knowledge is fairly basic (even though I have been nominated as the best for the work)
I have attached my files below so If anyone could help me out with this I would greatly appreciate it.
Thanks, Alex…
Added by alex morgan at 11:42am on October 6, 2017
50 and reduced the 'cell size' slider to 0.5. When the 'Azimuth' angle is changed to 180 +- 90 (dawn or dusk), the points are widely dispersed, reducing the density and increasing the number of cells in the "sparse grid". Under these conditions, the number of cells was ~2000 and the Profiler time for 'Boundary' went up to a full minute or more each time 'Altitude' or 'Azimuth' was changed.
So I created this code to benchmark some alternatives and found two interesting things:
'Boundary' surface performance (v.1) is not linear. As the number of surfaces goes from 1000 to 2000, the time per surface goes up dramatically.
I tried three alternatives for creating a rectangular surface at a given point that are all substantially faster: v.2, v.3 and v.4. For 2000 points, v.4 is 150 times faster than v.1 !!!
Performance of v.2, v.3 and v.4 are similar and all scale up very well. To benchmark beyond 2000 points, I recommend disabling the VERY SLOW v.1. At 5000 points the 'Pop2D' component takes ~11.3 seconds but v.3 and v.4 take less than one second to generate 5000 surfaces!
See boundary_2015Nov19a.gh attached.
So I replaced the 'Rectangle' and 'Boundary' components in my sun reflection model with v.4 in focus_2015Nov19b.gh (also attached) and the performance is amazing.
I'm sure someone has mentioned this performance issue with 'Boundary' on the forum before but as with many things, I didn't realize what a major obstacle it can be until I discovered this for myself.…
Added by Joseph Oster at 9:16pm on November 19, 2015
grout lines, a tile surface and tile perimeter poly line). I then use that as a Mesh (from Rhino) in the second definition.
2. I can tile out the mesh surface and rotate all the tiles in 90 deg. increments.
To get what I wanted. I took the Mesh and have copied it in series to make a grid. I can then control the dimensions of the grid. X and Y extents. I can also rotate the tiles around their centers.
The spacing of the grid is set from an edge curve of the tile (or mesh). This sets the size of the squares in the grid themselves.
See definition, images and Rhino 4 File, to give the definitions a shot. I have labeled how to use them.
My question -- how can I randomly rotate squares in my grid? I would like the deg of rotation to be random and also which tiles they are.
Also how might I rotate (every other tile) for example? So that I can control the pattern more?
Thoughts?
Thanks!
…
ror when it comes to points on edges of the surface.I guess it is because normal vectors at a few of points are invalid. After all, because of these invalid points, an error message comes out which is saying " Runtime error (PythonException) : Unable to add polyline to document " and it results in no output. Please give me some help if you know how to handle this problem. I post a code below.Thanks in advance.
---------------------------------------------------------------------------------------------
import Rhinoimport rhinoscriptsyntax as rsimport mathimport ghpythonlib.components as gh
output_crvs = []
for pt1 in input_pt :output_pts = []newPt = pt1output_pts.append(newPt)
while len(output_pts) <= 100: newPt = outputpoint(base_srf, newPt, distance_factor) output_pts.append(newPt)
output_crv = rs.AddPolyline(output_pts)output_crvs.append(output_crv)A = output_crvs
def outputpoint(base_srf, input_pt, distance_factor):centre_point = rs.AddPoint(0,0,0)height_point = rs.AddPoint(0,0,10)
zaxis = rs.VectorAdd(centre_point, height_point)
cp_pt = rs.SurfaceClosestPoint(base_srf, input_pt)normal_vector = rs.SurfaceNormal(base_srf, cp_pt)drain_vector = rs.VectorCrossProduct(normal_vector, zaxis)
dvector2 = rs.VectorUnitize(drain_vector)dvector3 = rs.VectorRotate(dvector2, 90, normal_vector)
mpt = gh.DeconstructVector(distance_factor*dvector3)moved_pt = rs.PointAdd(input_pt, mpt)moved_uv = rs.SurfaceClosestPoint(base_srf, moved_pt)output_pt = rs.EvaluateSurface(base_srf, moved_uv[0], moved_uv[1])
return output_pt…
g from a list of 12 items I would find all the combinations taking just 4 at time.
I'd use a Stream gate that takes the indexes of the items and pass them to a list item in order to select just the items of the combination. Doing so I can choose a single combination of index at time to pass to the list item.
In this moment all the data come out from the first gate, all the others are empty.
If I pass these index to the list item it gives me an error (probably because of the data structure).
*long version*
I start from a list of 12 segments, all of them with the starting point in common and the ending point distributed regularly in the space. It's a quite simple starting point.
What I'm trying to achieve is to find all the possible spatial configurations made of 2, 3, 4 segments. I started with 2 segments so I've 12^2=144 possible configurations but just 4 different configurations that can intuitivelly be recognized (60°, 90°, 120°, 180°).
Doing the same with 3 segments generates 12^3=1728 configurations and I don't know how many different ones. With 4 segments I've got 12^4=20736 possible configurations.
As you can imagine many configurations are identical but just with a different orientation so at the end I'll have to parse geometrically the output to delete duplicates (I'll address this later on).
Please could you help me to figure out how to mix these segments in different configurations?
Thank you in advance.…
per bake commands to bake the connected geometry with the corresponding materials.
mxDiff is a simple diffuse material. Only reflectance color for 0° and 90° are exposed.
mxEmit is a basic emitter material. You can set light color, power and efficiacy of the emitter.
mxBasic is the most complex material for now. You can set all the properties of a single layer material including. Use this for transparent materials.
mList is your way if you don't want to create your own materials. This component returns a list of all the materials on the Maxwell scene manager. Make sure this is evaluated after you add your own materials if you want to see them in the list.…
ed - but then shouldn't it be needed for the locked nodes as well?
We are not previously familiar with GSA, (we have used mainly ABAQUS), and we are trying to keep the entire analysis in GH, doing the moment analysis with CurveElementForces and 1dSetDecompose. Could we see the moments in GSA directly from the GH file you gave us, or did you "post process" in GSA? (We notice a "Case A1" in your image.)
We have used the Model Decompose component to find the coordinates of nodes, and combine this with the element and node numbers, which we get from outputs P and V in 1dDecompose component. In this way we can recreate your moment image from above! However we get a few strange moments, please see the attached file.
Cheers!
Agnes & Lukas…
itual:
dll and gha files unblocked
Rhino5 64bit SR11 and GH 0.9.0076 (evaluation version)
.NET framework 4.5 or later
COFF loading turned off (either the global setting or just for Kangaroo2, following the instructions above)
I´v my kagaroo2 dll and gha files in local machine
I worked at windows 8.1 (64 )and windows 7 (86)
The kagarro2 work´s in these machines without problems
only the Grap component does not work...
I´d an educational lab licence for Rhino, and I´ll try to work with another one maybe it does not work with newest release, my licence is SR 7
I install the Rhno 5 version SR11 but will expire in 30 days…