f 15 points and my teacher said to me afterwards: "Chris, you know that the one point was a sympathy point don't you ?" ... so baby steps but i'm catchin up ..
to help me follow the breadcrumbs through the patch could you maybe dumb it down extremely for me and just list a couple of steps how the system functions, sth like. 1) define string gauge- 2) draw neck liine 3) calculate spacing or sth like that, like a super high level overview. it's great that you have grouped, named and colored everything (many many thx for that !) this helps a lot for my understanding but you are using so many components i have never used that it's a bit difficult at the moment to follow the logical flow.
BUT: everything pans out now and spacing is perfect and all is centered ... with this one can build guitars :-)
…
? do i have to implent it in the rma.opennurbs?
Is it possible to have a custom declaration region for alls vb scripts?
with best regards
Michael Sprinzl
ok i solved the problem....
to build your own custom objects which can be communicating between different VB components:
1. build a classlibary in vb.net like this:
Public Class FEM_element
' Fields
Public Material As Integer
Public Element_nummer As Integer
'Methods
Public Sub New(ByVal i_Material As Integer, ByVal i_Element_nummer As Integer)
Material = i_Material
Element_nummer = i_Element_nummer
End Sub
and save it to the Grasshopperplugin folder!!! as xxx.dll dammm it took me 2 hours to find out.
2. Put 2 VB components on the Grasshopper gui
and attach the xxx.dll with the Referenced Assemblies tool
3. vb component 1:
Dim aa As New FEM_element
aa.Element_nummer = 1122
aa.Material = 12
a = aa
End Sub
vb component 2:
Dim aa As New FEM_element
aa = x
print(aa.Element_nummer)
print (aa.Material)
4. finito bandito .... you now have your own custom type connections ....lol…
ons over a circle) which loft perfectly (still have to adjust the loft at loft options)
As fifth element/curve, I created a circle. When I want to loft the circle together with the 4 periodic curves (circle has only {0} in the panel, the periodic curves have {0,0,0} I think the problem lies here, but I don't know what it means) the loft option goes red:"insufficient valid profile curves"
I created several ways to build a circle....(3 options, see the model attached) but it won't work.
Can anybody help me out to make to loft working? Thanks in advance!
In the end I hope the loft option will work so the output can go into the Divide and Subsrf button, to create a grid.
And I still need to set the loft options to tight and refit, to make the loft smooth.…
h is that when i gave a value of 1.886 is ok and 1.887 is not (metabolic = sitting).
Trying to see what happens when i wear a high clo value (while sitting).
Also wanted to ask if how i can combine sitting, standing, sleeping with clo values of 0.6, 1, 3. See images.
Also, following this discusion, i wish the issues mentioned there regarding the passive strategies were solved ... unfortunately y understood that they are not.
Thanks,
-A
Thanks,
-A.…
ose the radius of the terrain which will be taken into account around that location, and components automatically download and create the 3d terrain.
In order to use them, you would need to follow these steps:
1) go to http://www.food4rhino.com and register.
2) download the "ghpython.gha" file from this page: http://www.food4rhino.com/project/ghpython
Right click on that downloaded "ghpython.gha" and choose "Properties".
Click on the "Unblock" button, if one exists. Then click on "Ok".
If that kind of button does not exist, just click on "Ok".3) download the terrainGenerators.gh file I attached at the bottom of this reply, and open it in Grasshopper.4) you can directly use the first "Terrain Generator" component. For "Terrain Generator 2" components you need to download some other files and copy them. The component itself will provide instructions on how to do that. Here is a screenshot of the resulting terrain from the second component ("Terrain Generator 2"):
Both components may provide different 3d terrain geometry, due to different data sources.The first component (upper) will also provide satellite image of the terrain, which is a feature the second (lower) one does not have. You may get more help on this from the component author.Depending on the very purpose of your topography, Ladybug can further conduct a couple of terrain analysis of it.Let us know if you have any issues.…
am having from Energy Plus.
I made a simple building with around 20 zones. I spent a lot of time in drawing this so it should be ok when it comes to tolerance issues. In any case it is MUCH better than other models I've simulated.
However I get around 3700 lines on my output and a total of 73 warnings and 38 severe errors.
The warnings have to do with the message "one of the surfaces has less than 3 identical coordinates and has been removed". The errors are various, ranging from FenestrationSurface erros due to invalid building surfaces, adiabatic surfaces cannot have windows or doors (even though I believe I did not set any surfaces as adiabatic), adjacent surface not found, etc. I attach my file and by running the simulation you can see the range of errors.
I am still running EP 8.1 btw, should I update to the new version?
I will start looking into my open zones. It is true I have some walls with holes (more like ventilation shafts) but I thought it would be ok. Also, I don't know for the life of me why I get surfaces with such a small area or why surfaces are removed. I tried to play with tolerance, and the above errors are with minimum value of 0.1. Many more come with 0.001.
Any insight would be appreciated. Also, do you think it would be possible to have some kind of component that can pinpoint the surfaces that give the error. Atm I can only see hexa names and not sure how I can select them.
Thank you very much in advance!
Kind regards,Theodore.…
ld work.
For example there's a grid shell and I've got a number of control points (for example 3) that can move up and down.
Depending on the control points I get forms that are structurally good and some that are bad.
In my office we've got a GH-Component, which leads the geometry in structural members and solves the structural forces and so on through an external Software called Sofistik and afterwards gives back to GH some Values, for example maximum bending moments. (Like Karamba)
Now I want to create this optimization component or something like that to minimize e.g. the bending moments in the given geometry.
Let's start with the work of the component.
So when I've three control points that can only move in z-direction.
P1(0,0,Z1), P2(10,0,Z2), P3(5,5,Z3)
They only depend on Z, so everything depends on Z1 to Z3 which have a range between 0 and 10 f.e.
First I want to get some (between 9 and 15) random Particles, one particle consists of this 3 different Z's.
So for example the first particle Part1 is [Z1=10, Z2=5, Z3=7]
and the second particle Part2 is [Z1=7, Z2=1, Z3=9]
and so on.
I created these Start Particles in a Cluster. See attached file.
I also tried this in C#, but thought it is easier in GH.
After I've got the Start Particles I want to give out the first particle and evaluate with its including Z's the target value in GH. Therefore I had to take the first branch and graft this branch (Discussion before)
Afterwards I want to save this Target Value that depends on the first starting Particle. Then I want to give out the second starting Particle to evaluate its target Value and store it. And so on till the last target Value of the last Starting Particle got assigned.
Then I want to assign the particles with its target values. E.g. part1: t=0.9, part2: t=1.8...
Then I want to define neighborhoods or the count of the expected local minima.
These neighborhoods can look like: Each neighborhood has to include not less than 3 particles. And the particles have to be next to each other.
E.g. if there are 12 particles and I want to have a look for 3 local minima, I need 3 or 4 neighborhoods. Then I would take 3 neighborhoods, because the more particles in one neighborhood, the better.
So the Count of the neighborhoods would be N=min{(Count of Part/3)& N_min}
How to define these neighborhoods I don't know at the moment. I think it has to be searched for the distance between the particles. E.g. part1 with (9,9,9) and part2 with (9,9,8) are next to each other but part 3 with(1,1,2) is far away.
Then each StartParticle is set to Partx_localbest.
And in each Neighbourhood the best of these localbeststs is Part_NyBest. (The best ist the one with the smallest target Value)
Loop:
Now I want to create new Particles. These Particles don't change their Z-values randomly. They change their Z-Values depending on Part_NxBest and Part_localBest. Therefore it has to be evaluated a new velocityfactor with v_Partx_new=0,792*v_PartxOld+1,5*random(0,1)*(partx_localbest-partx)+1,5*random(0,1)*(part_NyBest-partx)
The new particles will then be partx_new=partx+v_Partx_new.
The new Particle partx_new will be set to partx and then set in the output.
then there has to be caught the targetValue of part1 afterwards part2 can be put out and its target value caught and so on.
Then it has to be looked for the Partx_localbest through comparing the partx_localbest and its target value with the new part_x and its target value. If the target value of the new partx is smaller than partx_localbest,
then partx_localbest is the new partx.
This has to be done for each partx. Afterwards the same for neighborhoods best (best of all partx_localbest in one neighborhood)
Endloop if velocity gets small.
Output all part_NxBest
Output all targetvalues of the part_NxBests.
So in the Input there have to be:
StartParticles if they are given through the cluster attached.
Device on the target Value like in the attached gh.file from David Rutten I found in the discussions
Count of neighborhoods
And in the output
Output particle for evaluation
Output all part_NxBest
Output all targetvalues of the part_NxBests
Hope didn’t forget anything. And hope it isn’t crushed to badly. Sorry for my bad English by the way ;-)
For more explanation, how the PSO works in other programs. There’s attached a workflow script (is it called like that?) I think for GH it should be a little bit changed like I tried in my explanations.
So if you can help me a in some parts or you have any advices would be great, otherwise thank you nevertheless!!!!
Thankfully there’s no limit for the words in the discussions :-D
Best, Heiko
…
le case of list I produced different operating flow data.Watch this quick example:
With the same component I generates two different structures that depend on the input, be an item or be a tree.
This poses a huge problem for the verification of input data, rather tedious.…
(a,m,e,s). It doesn't work with intersections AT ALL ... thus the presence of holes, cats, dogs (and quite probably one alligator) etc etc means nothing to the method.
2. The right one assumes that your input (breps and lines) is wrong: (phase a) it "corresponds" each brep with the right line and (phase b) creates the right (per brep) vectors for the stepped [step = v.Unitize()] translation. Then (phase c) each brep is moved > using a function exactly the same as the left C# has > distances are sorted and the first is returned from the function (meaning the smallest). If the smallest is > something > thanks > Adios Amigos.
Thus if something = 0.0001 > it's like checking for a non null intersection event.
Now ... if you want all that paranoid stuff to work with the intersecting Breps only > 2 lines of code more > take only the intersecting things and do the magic > leave the others in piece.
Of course for these 2 lines I'll charge you extra (5 cans more of the finest sardines known to mankind)
more soon, Lord (Of Sardines)…
tries (numbers) in a list, by some other numbers (in a different list) using their index:
For exemple, replace the list item n°5 by this number.
I saw that there are already some topics on this (sptember/november) but I did not found solutions in it... Here is the thing:
The values are coming from a simple comparaison between to list: when a value is found then it gives its index (and then I would like to use this index list to replace some values in a similar list):
"Search "123" in this list" --> "Oh, there's one in the index 24" --> "Ok, so say to this list that it has to update with this new value at the same index".
If someone has a clue...
Thanks for your help,
T.
// Hors sujet: For the french guys out there: I'm working on the french translation of the GH Primer, it will be out in a week or two :) //
…