s: the nut's width is divided in equal segments resulting in queal spacing from string center to string center but the spacing bewteen the top strings is smaller than between the lower strings. It's not very comfortable to play, on bass guitar it's really awkward
2. equal spaces: the nut is divided so that the spacing between the outer edges of all 6 strings is the same. Since eachstring has a different width (gauge) this requires some calculations but is much more comfortable to play
i have attached my pathetic simple attempt at creating this. It works for 'equal centres' but i can't really figure out several things:
A. how to use a table or list of values as an input for the string gauges. Ideally i would like to select from different 'sets' of strings so that i can create different nut templates for different thickness strings easily. So ideally i would like to select a preset like: 'light', 'ultra light', 'medium', 'light top heavy bottom' and then it would adjust everything according to the different string gauges defined in those sets/lists.
B. how to use metric units for the spacing of the top and bottom strings to the fretboard/neck edge. I have tried to do it by eyeballing it with the 'point on curve' element which i'm pretty sure is not the way to do it properly. I want to be able to simply input this in mm, so for example a 4mm distance from the strings to the fretboard edge.
C. how to figure out the 'equal spaces' and divide the bridge and nut curves accordingly so that the distance from the outside edge of the top and bottom strings to the fretboard is equal, and the spacing between the strings outer edges (not the centres) is equal.
would really appreciate any help or tips to point me into the right direction :)
…
, Arq. Daniel Gelardi
Año: 2013
Memoria Descriptiva
La primera etapa del proyecto final se enfocó en la participación del concurso International Velux Award 2012: Concurso que anima y desafía a los estudiantes de arquitectura a ‘explorar el tema de la luz del día en su sentido más amplio’. Se adoptó una postura centrada en el manejo de la luz natural en el espacio interior, pero aplicada específicamente para el contexto natural y cultural de la provincia de Mendoza - Argentina.
El proyecto enviado al concurso se enfoca en tomar la luz natural del medio, como elemento protagonista dentro del espacio de uso múltiple y social diseñado y configurado para el desierto de Mendoza. En la cubierta se desarrolla una ‘piel responsiva’ que varía según los cambios climáticos de temperatura: la cubierta se divide en diversas piezas que evocan a la piel porosa de un cactus: cuando la radiación solar es alta o baja, estas piezas empiezan a adquirir movimiento, tamizando o dejando pasar la luz del sol.
La idea del proyecto, después de un extenso proceso de investigación, evolucionó para convertirse en una ‘Reserva Genética de Vegetación’ que toma como inspiración los factores naturales del medio local: el desierto; sustentados por la identidad cultural de nuestra ciudad oasis.
En la Reserva Genética de Vegetación se pretende realizar dos actividades principales que tienen el fin de aportar a nuestra provincia aquello que la destaca culturalmente como un Oasis :
1. Centro especializado de cultivo, donde se producen una cantidad ilimitada de especies vegetales (técnica de Cultivo In-Vitro) para forestar lugares de la provincia donde se necesite urbanizar.
2. Centro de investigación y experimentación de la flora autóctona xerófila, que pretende incorporarla como potenciales especies para forestación y uso público: Como ya sabemos, estas plantas son las que más se adaptan a nuestro medio.
La reserva genética pretende ser el exponente de una arquitectura que toma parámetros concretos del medio y su cultura, para así prestar un servicio que forma parte de la escencia de nuestra ciudad de Mendoza: el cultivo vinculado con la forestación.…
good value so 4 times would get you there.
Ok. I understood. You have to consider that the mesh displayed is generated by genTestPoints component where the grid size is effectively 0.5m:
The pressure plot you shared above, it seems like your cell size varies, are you using any gradient options in the blockMesh step? In this example there'd be no need, as all areas are equally important.
The pressure plot varies because I have modified the cell grid size of the meshParams component in (0.25, 0.25, 0.25):
Now, I have re-uploaded the basic values of (1,1,1) and modified the cell size in the blockmesh component as you suggested in the previous post:
As cell size by default, this component considers the length/5. So, in this case, there would be a cell size of about (1.5, 1.1, 0.6). It’s correct? But If I display the mesh with load mesh component connected to the case output of the snappyhexmesh component, I find this:
With a cell size of (0.25, 0.25, 0.25) as modified in the screenshot of the blockmesh component reported above, the mesh is extremely dense:
The residuals decrease:
with a more clear image.
Regards,
Francesco…
.3 and the Python plugin (IronPython seems to be pre 2.7).
After finally getting my setup to parse and work based on the most simple example files. I'm stuck going forward with XML namespaces.
Can't get ElementTree.register_namespace() to work, think it's due to old python version. Instead I found an old tutorial and workaround defining a variable namespace and using format().
This method worked fine until i got to the fourth nested "child" from root, which is a XLMNS in the XML file. The code below results in:
print "Find: " '{0}define'.format(namespace), "in:"print [elem.tag for elem in root.getiterator() if elem is not root]
print "Is Object: ", root.getiterator('{0}define'.format(namespace))
for define in root.getiterator('{0}define'.format(namespace)): print define.tag, define.attrib, define.text
try: defineexcept NameError: for define in root.getiterator('{http://schemas.mathsoft.com/worksheet50}define'): print define.tag, define.attrib, define.text try: define except NameError: print "Didn't find " '{0}define'.format(namespace)
>>>
Find: {http://schemas.mathsoft.com/worksheet50}define in:['{http://schemas.mathsoft.com/worksheet50}regions',#regions being first child
'{http://schemas.mathsoft.com/worksheet50}region',
'{http://schemas.mathsoft.com/worksheet50}math',
#math being third child, which I can iterate and find
'{http://schemas.mathsoft.com/math50}define', '{http://schemas.mathsoft.com/math50}id', '{http://schemas.mathsoft.com/math50}placeholder',
#.... Long list, can't find any child deeper than math ....
]Is Object: <generator object at 0x000000000000003F>{http://schemas.mathsoft.com/worksheet50}math {'resultRef': '0'} None{http://schemas.mathsoft.com/worksheet50}math {'resultRef': '2'} None{http://schemas.mathsoft.com/worksheet50}math {'resultRef': '4'} NoneDidn't find {http://schemas.mathsoft.com/worksheet50}define
Any thoughts?
Does cElementTree work better with namespaces or is it the same?
From XML file:
<worksheet ... xmlns:ml="http://schemas.mathsoft.com/math50">
<regions>
<region>
<math>
<ml:define>
<ml:id>
....
</ml:id></ml:define></math>
and so on..…
Added by Peter Fajers at 1:11pm on October 5, 2015
ight be able to provide more insight). Whenever you run a new simulation in Radiance, it is not always necessary to re-write all of the initial simulation files from scratch. These initial simulation files include both a .rad geometry file as well as a separate .pts file that contains the test point locations. If all that you are changing in a given parametric run is the locations of the test points (like your case), it is not necessary to re-write (or reinterpret) the entire .rad geometry file. My guess is that there is some type of check for this built into either code Mostapha wrote or radiance functions that Mostapha is calling. As such, it seems that the rad geometry file is not being re-written (or re-interpreted by radiance) completely when all that you change is the test points and this actually seems to be saving you an extra 10 seconds each time that you run the component without changing the materials or the building geometry. Other times (like when you plug in custom radParameters), it seems that it re-writes (or re-interprets) the .rad geometry file from scratch since this file is probably affected by customized rad parameters.
So far, if this explanation is holding, it seems like there would be no concern on your end but I also recognize that the difference between these long and short simulations is giving you radiation results that are ever so slightly different from each other (by my estimates, they differ by about 0.2%). Compared to the other types of assumptions that the radiance model is making, though, these are mere rounding errors that probably originate from the number of decimal places in the vertices of the rad geometry file. Rather than worrying about whether your simulations are giving you the right rounding errors to give you matching results, I would encourage you to instead contemplate how much your radiance results are matching reality given all of the assumptions that you are making about the climate (with the epw file for a "typical" year) and with the number of light bounces in the radiance simulation. To give you an example, I ran your model with a higher quality of simulation type (3 ambient bounces) and this gives you results that differ by 1.1% from the original simulation that you were running with only 2 ambient bounces (this is practically an order of magnitude larger than 0.2%).
To address your unease I will say that, for a long time, I also felt uneasy any time that I encountered something that seemed unpredictable in software that I was using. Once I started coding my own stuff, though, I realized quickly that unpredictable behavior is an unavoidable aspect of all software. There is always a tradeoff between accurate results and the time it takes to get them, which produces a multitude of possible ways to arrive at a solution. Add into this complex situation the fact that you might have an almost infinite number of possible inputs to a given set of code.
Because of the unpredictable multitude of cases, there is no application that is completely free from limitations and assumptions. In this light, what ends up being more important than the actual calculation method used is the social infrastructure that is in place to help understand what is being run under the hood, hence why both Radiance and Honeybee are open source and why we try to build a robust community of support through forums like this one!
-Chris…
owing a tutorial is easy and adapting the idea of it again - it's not a fuss - i guess my skills are at 1 - since I can not yet stand alone! However I am very determined to nail this program to the ground and be at a 9 by Easter - of course that means a lot of work and hours testing - but I am young and ambitions!
I am a revit user and I just switched over (from the dark rigid side) to rhino because of a simple math problem which has to do with variations and combinations.
I am investigating the form factor for my thesis.
Form factor= building envelope (the area of the facade+the area of the roof+the area of the footprint)/the total area of the floors.
I have started by defining a specific set of parameters such as height, number of floors, maximum total floor area so I can compare the results.
Therefore the floating number will be the facade area - which in the end, considering the height is a constant - ends up being just the length of a certain shape - circle, square, triangle ...
I have done the calculation through excel after extracting from revit but only on simple shapes as follow(the following examples are my own analyzing work):
My problem is: I need a way to get all possible shapes that meet the criteria i put in - which at the moment will be defined by square meters of a floor- that is why galapagos comes in - I need it to make all possible combinations that can be computed that meet the criteria - so then the user(myself or who ever else want to use it) can make an informed choice. I am not looking for a square - circle, sphere or anything I can manually create by just using basic geometry, I am looking for all the possible combination that equal the same area.
(plan view)
After i can solve it for one level - i will constrain that all the levels add up have specific total area - so if a level get's bigger in size another one gets smaller. Again run it through Galapagos and get all possible outcomes (like the sections below)
I am aiming to get an outcome from which you have options to pick out of -> a design process not a specific shape.
You are thinking too complex - not that it's a bad thing - but I am looking for something more simplistic than that. I need a shape - windows and panels are for later use in my process and at this early stage completely irrelevant - and that will be another percentage math problem rather than aesthetics. I just need shapes to morph based on input parameters.
I hope this was an interesting read for you and I really appreciate your patience with me.…
me of the dimensions that changed ( become Diagonal after they were Vertical or Horizontal)
I sometime use Record History in rhino for saving time, but when I change some points of curves or trim curves , I have problems with dimensions (see the two pictures below).
Problem 2 :
After trimming , only two dimensions should be changed depending on their place in changed curves . But what happens is that all the dimensions become crazy!!!!!!
I always use Aligned dimension in rhino. Now I know that dimensionsdo not exist in grasshopper. So I ask you if we have expertise in BV , C#, can we create a script for dimensions or is it impossible ??
If we can , I only need Aligned dimension.
I hope that I find or create a script that can define all points: start and end of curve ribs and create dimensions from grasshopper to rhino directly with or without the ability to change automatically .
Thank you
…
how to call excel vb commands from within rhino
The idea is that data from grasshopper could produce a very basic diagram or certain conditions, in this case floor plates and stairwell locations. The user could then "draw" using the formatting tools. In this case the dark colors would represent a change in the fenestration pattern Code in excel would search for the formatting (easy enough to do through Excel Vb) and output the resulting data into another workbook.
Basically you would be using excel as a CAD tool. The advantage of this is that it gives you a flexibility that pure code can't. Which I think is very exciting, because code can't deal with exceptions very well. For example, another possible use I could think of would be the manipulation of a brick wall. Since excel has multiple worksheets, you could LAYER code for one object. One worksheet could give instructions on brick rotation the other on a cull pattern. . . . The advantage of excel is that you can vary these patterns based on the location of your program for example, so that the density would decrease at a certain point. With the vb script, you could also get quite sophisticated with the patterning. In essence each cell is a pixel.
image by danielle aubert "excel artist"
The difference with excel, which makes it a very POWERFULL tool in my opinion is that you are not trapped into what your code outputs, which often is incredibly difficult to have respond to various condition, program, sunlight etc. With excel you can use code to generate a basic pattern, but then modify it. You can also layer code, just like you do in photoshop to produce different effects on the same geometry. You could even execute different code in different areas. . . . Anyway, I thought that it was potentially a game changer. Let me know what you think. And if you have any pointer on , how to start running excel code from rhino or importing rhino data to excel please share so I can start playing with these ideas.…
Added by Ben Fortunato at 8:15am on February 28, 2010
ours looks like). Anyway, you'll probably want to start with a Fader 1-way. I set mine up to go from 0 to 300 over the course of 6 seconds. Then I just wrote a very quick C# component to check the output of the Fader component and whether it met one of three conditions. Here's the code (very simple). Note: you'll need to use the input manager to remove one of the Y input and the output manager to add 2 more outputs (B & C).
if (x <= 100) { A = true; B = false; C = false; } if (x > 100 && x <= 200) { A = false; B = true; C = false; } if (x > 200) { A = false; B = false; C = true; }
Now, we know if at any given Fader value if it's in the first phase, second phase, or third phase. I output a boolean value which can also be considered a 0 or 1 if converted to an integer. So, if I multiply those boolean values by 255, then the one that is true will be 255, and the others will always be 0. Now, you should have your color scheme which switches depending on what phase its in. Simply connect that to the Uno Write component (with the Firefly Firmata sketch loaded on your board) and send the color values to the board as PWM values.
Some things I should note... You probably notice the Fader component looks a little different (it's missing the start input and I'm using the GH_Timer). I've decided (for good reason) to abandon the Form Timer I was using in a lot of the Firefly components in favor of the newly re-written GH_Timer component. So, in order to get the Fader component to update in the next version, you have to connect a Timer and turn it on (not that much different). But, it's significantly faster. Part of the reason is that the form timer just wasn't fast enough to get really smooth results... Now, it's blazing fast. I've incorporated this Timer scheme in a lot of the Firefly components and the results are roughly 10x faster. Since, you're only switching values (and not trying to quickly modulate the PWM values) the current version of Firefly should be just fine (just use the Start input to start the Fader component). But, when we release the next version (hopefully very soon), this may change a bit. Anyway, I hope that clarifies it a bit. I've attached a screenshot below. I didn't include the file because I've got a newer version of Firefly that would just crash on you (or not open properly)... but hopefully you can get how to do it.
…
you working on a PV system which will power a domestic hot water boiler?
To answer your questions:1) Each grasshopper component (ghpython being one of those too) is using grasshopper's data matching algorithm. This algorithm takes care of complex issues which may arise from combining lists with single items, data trees with different number of items per branch and so on.I think there is a way of introducing a call to other processor's threads per each inputted surface, but this will be a very difficult job, as it will require writing a custom data matching algorithm. I do not think I am up to that task.Instead I tried to introduce the multithread only to the final part of the PVsurface component and one of its time consuming parts: calculation of sun angles, solar radiation and ac/dc power output.I attached the test file below, but sadly it didn't go well: the multithreaded version mostly runs at the same time as the regular version.I do not think I am qualified enough to answer why is that so, but I think that it may have something to do with the type of the function that the multithreading is applied to: the code is suppose to run few separate functions a couple of thousand times, and work with a couple of lists. From my experience, the multithreading works the best when a single list or two are supplied to a single function. I may be wrong on this.I am very sorry to say that I can not implement this feature.2) I am not familiar if open source PV modules database has been released.But one can always download the data for specific modules from producers websites. It can then easily be transferred to a .csv file or other text file.Ladybug Photovoltaics are based on NREL's PVWatts model.In comparison with other commercial software applications, PVWatts offers a more generalized system model, with some of the values and characteristics being assumed or embedded.The Fuentes empirical thermal model we are currently using follows the same logic: it generalizes the Module characteristics. The following characteristics are only editable: module efficiency, temperature coefficient and module mount type.It may be possible to replace Fuentes with some other, less generalized 5 parameter thermal model. But as an architect, I would definitively need help on this.
Sorry if my reply did not fulfill your expectations, and thank you for the kind words!…