JILLA
-and when i look at the output values for SPRINGS and REJILLA, both
are modified by the operator!
so my question is:
how can i introduce a list in vb and keep it non-modified (while i
operate with another one created in vb that has inherited its values)
the script:
thanks a lot!
jorge
Sub RunScript(ByVal puntos As List(Of On3dPoint), ByVal springs As List
(Of On3dPoint), ByVal k As Double, ByVal m As Double, ByVal iter As
Integer, ByVal num_f As Integer, ByVal num_c As Integer)
Dim i As Int16
Dim p0 As New On3dPoint()
Dim cont As Int16
Dim num_i As Integer
num_i = num_f + 2
Dim num_j As Integer
num_j = num_c + 2
Dim max_i As Integer
max_i = num_f - 1
Dim max_j As Integer
max_j = num_c - 1
Dim j As Integer
Dim p_max As Integer
Dim p_list As New List(Of On3dPoint)
p_max = springs.Count() - (num_f + num_c)
Dim rejilla As New List(Of On3dPoint)
For i = num_j To p_max Step num_j - 1
For j = i To i + num_c - 2
rejilla.add(springs(j))
Next
Next
While cont < iter
For i = 0 To rejilla.count() - 1
rejilla(i).x += 3
rejilla(i).y += 4
rejilla(i).z += 6
print("posicion " & rejilla(i).x & " " & rejilla(i).y & " " &
rejilla(i).z)
Next
cont += 1
End While
SP = springs
RJ = rejilla
PT = puntos…
JILLA
-and when i look at the output values for SPRINGS and REJILLA, both
are modified by the operator!
so my question is:
how can i introduce a list in vb and keep it non-modified (while i
operate with another one created in vb that has inherited its values)
the script:
thanks a lot!
jorge
Sub RunScript(ByVal puntos As List(Of On3dPoint), ByVal springs As List
(Of On3dPoint), ByVal k As Double, ByVal m As Double, ByVal iter As
Integer, ByVal num_f As Integer, ByVal num_c As Integer)
Dim i As Int16
Dim p0 As New On3dPoint()
Dim cont As Int16
Dim num_i As Integer
num_i = num_f + 2
Dim num_j As Integer
num_j = num_c + 2
Dim max_i As Integer
max_i = num_f - 1
Dim max_j As Integer
max_j = num_c - 1
Dim j As Integer
Dim p_max As Integer
Dim p_list As New List(Of On3dPoint)
p_max = springs.Count() - (num_f + num_c)
Dim rejilla As New List(Of On3dPoint)
For i = num_j To p_max Step num_j - 1
For j = i To i + num_c - 2
rejilla.add(springs(j))
Next
Next
While cont < iter
For i = 0 To rejilla.count() - 1
rejilla(i).x += 3
rejilla(i).y += 4
rejilla(i).z += 6
print("posicion " & rejilla(i).x & " " & rejilla(i).y & " " &
rejilla(i).z)
Next
cont += 1
End While
SP = springs
RJ = rejilla
PT = puntos…
, one is office and the other one is hotel for example.
Ā - a list will control the points height
Ā - to each of this point I amĀ attachingĀ a planeĀ
Ā - this plane will intersect the skin of the tower
Ā - from this intersection I am try to take out the floor plate (as Curve) and the area ( as Data)
I think I've got most of the script. but I have some error that I can't figure it out.
Please if you have time can you look to this code?
thank you very much
Private Sub RunScript(ByVal skin As Brep, ByVal f1 As Integer, ByVal DELTAh1 As Double, ByVal Lobby1h As Double, ByVal f2 As Object, ByVal DELTAh2 As Object, ByVal Lobby2h As Object, ByRef A As Object, ByRef C As Object) 'Declare the list of Point on which attach the planes for intersections Dim p As New List(Of Point3d) 'first sector office Dim q As New List(Of Point3d) ' second sector hotel Dim floorPlate As New List(Of Curve) 'Declare a list for storing the curve
'for loop condition statement Dim i As Integer ' for the office Dim j As Integer ' for the hotel For i = Lobby1h To f1 + Lobby1h For j = f1 + Lobby1h + Lobby2h To f2 + (f1 + Lobby1h + Lobby2h)
p.Add(New Point3d(0, 0, i * DELTAh1)) ' points
Dim pl As New Plane(New Point3d(0, 0, i * DELTAh1), Vector3d.ZAxis) 'Planes Dim iCurves As curve() 'temporary store the curves Dim not_used_pt As Point3d() 'points needed only for the Intersect function
Intersect.Intersection.BrepPlane(skin, pl, 0.1d, iCurves, not_used_pt) floorPlate.Add(iCurves(0)) 'if you assume only once curve for each intersection
Next Next
Dim Areas As New list (Of Double) 'I will try to have a summ of all te areas 'Dim Areatot As Double
Dim k As Integer ' for loop to iterate the floorplates For K = 0 To floorPlate.Count - 1 Areas = AreaMassProperties.Compute(floorPlate)
Next
A = Areas.Area C = floorPlate
Ā End SubĀ …
y combo of anchor points (although using all the peripheral points ... well ... that's a good starting point for your adventures in C# > get a tree: say x: branches and y: items and gimme all the points in the perimeter, he he).
2. There's nothing wrong with the 3dPDF (but I'll mail to you anyway) > maybe you use some archaic Adobe Reader build? Have you configured the Reader properly? Have you ever attempted to exploit a 3dPDF thingy in the past?
3. Most humorous: you mean in the Monty Python way? (WHAT a bunch of genius was that "group" ...).
4. Skype weekends: well , since the MotoGP season is over why not? (ALAS: due to an enormous conspiracy [by Honda] > Hero-Valentino > got the short end of the stick > all that because he kicked someone [is this a big deal?] > why should I live ? > Seppuku ASAP).…
he normal vector (per quad/tri set).
Random means that the vector length can vary between a desired min/max and sin distortion means ... hmm ... something "equivalent". Ā
Clash detection (and topology validation) means that a variety of trigonometry based checks are performed in order to assure that tubes and the other paraphernalia ... stay clear each other AND the drilling axis in the balls are doable. But this is only half the bacon: since roofing material (say VM Zink and the likes) usually imposes several restrictions (for instance: you can't "bend" a VW sheet beyond a given angle etc etc).
Then coordinate systems (Planes) are made that are used in classic Plane to Plane transformations: i.e. take an instance definition related with a part of the system (sleeve, cone etc etc) always defined at WorldXY and put it in the desired plane.This has severe limitations in Rhino (actually is undoable and thus I very rarely do this type of work in Rhino/GH). What limitations may you ask? Well ... imagine fully parametric feature driven solids (the nuts and the bits of the system) that MUST comply (NOT yielding some clash, that is) with the whole topology OR they must change OR the topology must change: stuff for CATIA and the likes.
Then the structural department evaluates the whole thingy and gives the OK - if not another variant is attempted etc etc.
Then connectivity trees are made that relate nodes to edges etc etc ... in order to assemble the thing in real-life.Ā
Then it's roof/envelope time ... and that is a pure nightmare.
BTW: having some NVidia Kepler K4200 (and up) is a must ... other wise ... well ... dealing with 20++K "objects" is not that trivial. NEVER attempt to do that type of stuff using, say, a laptop and the likes.…
triangles.
Here's a mesh before this clustering:
and after:
In general this won't lead to a very smooth mesh, but you can get strict edge lengths.
I attached the definition for this below. There is a slider for how strongly vertices try and keep near their original locations - by adjusting this you can vary the priority of exact edge lengths vs closeness to the original shape.
This is just a start though - there's lots more work that could be done along this direction.
For instance, instead of fixing the target lengths once at the start, the groupings could be adjusted iteratively using something like K-Means clustering.
Slightly more involved would be to make a custom goal which adjusts whole triangles instead of edges.
It is sometimes helpful to think of triangle shapes as points in a three dimensional space, where the coordinates correspond to edge lengths. However, you need to also account for the fact that a 3,4,5 triangle is the same as a 4,5,3 triangle, and so on.
…
Added by Daniel Piker at 10:12am on February 23, 2016
am to find the coverage for various public-transport stations and is interested under what conditions that coverage will poorly represent reality, then that would fit perfectly within your proposed forum, but the SO people will close it as off-topic before you can say directed-infrastructure-networks.
Or discussing which properties of a transport network would be sufficient to encode into a graph in order to give a model accurate enoughĀ for early design iterations.
Or discussing the fabrication costs under various manufacturing methods of elements (a, b, c, ...) with amounts (K, L, M, ...). ie. is it cheaper to manufacture faƧade panels using manual welding if I have 50*a + 50*b + 25*c or would it be cheaper to have 120*a + 3*b + 2*c?
Or discussing the visual aspects of various types of geometry. Do Bezier or Akima splines look more natural? What about them makes them look natural/unnatural? Can people tell the difference between a perfect circle and a circularish Nurbs curve with 12 points? Does it matter whether the Nurbs curve is small or big? Next to a perfect circle or not? Horizontal or vertical?
What equation would better describe experienced time by humans travelling from A to B rather than measured time?
How can I find out under what wind conditions this sharp edge on my building will start whistling?
How much might the potentially bad smell of this cheaper material lower the value of my building?…
List A:
{0;0} - contains breps A, B
{0;1} - contains breps C, D, E
{0;2} - contains breps F, G
List B:
{0;0} - contains breps H, I
{1;0} - contains breps J, K, L
and want to create a list all possible combinations:
{0;0}
{0;1}
{0;2}
{1;0}
{1;1}
{1;2}
or thinking in a matrix format:
I feel like this should be very simple but I am having trouble figuring it out! Any help would be appreciated.…
tps://github.com/johnharding/Biomorpher/releases/tag/0.7.0
Change log:
Geometry input takes Curve and Surface geometry as well as meshes.
Creation of the āBiomorpher Solutionā parameter for internalising data.
Complete overhaul of the Reader component now using Biomorpher solutions.
Lists of performance values can now be used with repeated names automatically indexed.
Main component in āgalapagos pink!ā
Incorporated elitism into selection to negate losing ābestā designs between generations.
Optional elitism mutation.
Restart button for a new evolutionary run negating the need to restart Biomorhper.
New scatter graph plot for comparing two performance criteria.
Performance plot now includes current population data.
GUI grey colour to relate to standard Rhino background.
Main control area is now on left hand side.
K-means display angles are distributed evenly.
Fixed min-max bug on performance graph.
Minimise and maximise criteria clearly labelled.
Performance display above design now based on radius rather than opacity.
Evolutionary history justified correctly.
Scrollbars now visible on history canvas.
Donate button in case you wish to say hello and buy me a coffee :)
Thanks and please take care during these times,
John.…