exchanging emails with Edmund on CAMel. But I haven't had time to study it yet (will do it tonight) or discuss with him in details.
Beaver & Lobster are also interesting, but I think they are aiming at something a bit higher right now, I focus more on getting the automation / batch process right at the moment. But I promise I'll look at them in details. Note I'm also interested in developing something up to 5 axis (head head) machine. Robotic arm is a bit too much for me, since I aim at creating a plugin more for batch production and real construction more then experimental stuff (since most experimental researchers are able program routines that they need any ways)
Time Estimation - Yea Mach3 is a nice driver. But I start to think that most CNC programmer or even operator don't know how their machine were actually configured. Not many people know what motion profiles, look ahead or even acceleration. So I don't know how the acceleration profile could be a setting that a general programmer could enter and get an good estimation. /// One way of getting a more precise estimation is to use a simple trapezoidal speed profile and make a guess. /// Another way is to just sum up the speed X distance (Even CATIA and MadCAM do it this way.)
The file you have uploaded, 2dPartsGeneratorTest.rar, I couldn't download it from the forum's server, seems to be a problem with the rar file format. I can download your .gh, but I can't understand it without the Rhino file. And sorry, I also have only Rhino 4, no money at the moment.
Outline Extractor? Can you explain more?
I had difficulty making good and reliable offsets with some 2D curve input, I'm not sure if it is a Rhino 4 problem or if the new RHino SKD haven't improved that yet.
I do not have intent to overlap with RhinoNest, RhinoNest is already nicely developed with integration with GH, I think RhinoNest or other Nesting software users can easily perform nesting in Rhino or in GH (such as RhinoNest in GH) and the results are fed to this package.
Thanks a lot for your info.
…
e to subscribe to the same set of rules of course, but things I like to do when programming are:
Declare variables as late as possible. Don't put them all at the top, but put them on the line above the first line that uses them.
Give variables understandable names. "curves" is to be preferred to "crvs" or "c".
Don't nest conditional structures too deep. If there's no way around it, move inner loops into their own functions. A great way to reduce too much indentation is to write:If (Not x) Then Continue For
Instead of
If (x) Then blahblahblahEnd If
Always check for null/Nothing if you get a reference type from some process.
Always check for empty arrays.
Use ReadOnly class level variables whenever possible.
Import few namespaces. Basically, don't import any unless you have to specifically refer to a namespace, say, more than 5 times.
Use #Regions to combine properties, constructors/destructors and other closely related methods.
Prefix class level variables with m_. This is in fact an archaic rule borrowed from Hungarian notation which is not recommended by the .NET style guide any more, but I like it.
Don't compare booleans to True or False in conditionals, i.e.If (x = True) ThenIf (x = False) Then
should be
If (x) ThenIf (Not x) Then
Put the conditional statements in If blocks in brackets.
Use AndAlso and OrElse instead of And and Or whenever possible.
Use String.Format() instead of &'s to combine strings.
Use constants like String.Empty and Vector3d.XAxis instead of "" and New Vector3d(1,0,0)
When comparing strings, use the .Equals() method with the proper StringComparison instead of =.
It also seems like the algorithm you're using is pretty sensitive. I'm not exactly certain what your input is supposed to look like, but I think it can be made more robust.
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
ting up but I’m glad the discussion has been rolling!
I understand what you mean, Abraham with property boundary rights and I’ll admit that I can potentially see some usefulness in what you are suggesting with the solar envelope. For example, I could imagine this integrated into the component as a "trimWithSiteBoundary" boolean input that a user could flip if they are only interested in seeing what is going above their property boundary. However, I have a big fear that new users might not fully understand what this operation is doing if they are first encountering my component and would therefore end up with a misleading result. In other words, I would like users to see the complete solar geometry before they trim it with the site boundary extrusion so that they are fully aware of what is going on. Also, because this trimming operation is very easy to set up with existing grasshopper components (you were able to do it yourself pretty easily in the file that you uploaded), I would rather have users employ this method rather than having something built into the component.
As for the solar fan suggestion, I think that filling in that portion of the fan would just be too misleading. I could all-too-easily see new users making the mistake of saying that a neighbor’s cantilever over the north part of their site blocks their sun, which is simply not true. Also, there is the argument that this operation (if the user really wants it) should be very easy to set up with existing grasshopper components. However, I see that in your uploaded GH file, this has not been working correctl. I have been playing around with it for the last hour and I am pretty confident that you have found a bug in Grasshopper that I will report to Guilio shortly. In the meantime, I have uploaded a new file in which you are able to get the type of solar fan that you desire. I will try to keep you posted.
As Mostapha and Saeran have suggested, I think things would be best if we press forward with having my component useful for very detailed lengthy solar fan/envelope analysis and Saeran’s component useful for quick, initial analysis. By the way, Saeran, I am really impressed with the speed of your component, especially for the solar envelope. I like the methodology you used and it’s a huge asset to the Ladybug suite.
Thanks again, Abraham, for all of the feedback and I hope that you are able to get a lot of use out of these components.
-Chris…
ecific than the thread title...
and here i have a generic application of this approach to surfaces created by a two dimentional "sketch" of kd tree from a random float, extruded z direction. i did using only grasshopper components for now.
but then i have to analyze the surface curvature because any tangent circle on the surface should have less than 5 cm diameter. so when i get a mesh i want analyze, it has like 400k faces at the moment. when i intersect this mesh with plane every 1cm or so, the mesh intersection work in no time, but then i wont get to the end of joining all the little lines into curves.
its the curves of the surface i need so that i can interpolate the points using discontinuity components, evaluate curve, tangent circle and cull the circles by diameters to see where the surface design can cause material to damage or have cosmetic defects.
i was hoping to use either galapagos or octopus to minimize the numbers of the tangent circles that exceed 5cms on the surfaces, once i have recorded a kangaroo simulation run, rather than having to run and rerun kangaroo for surfaces individually to simulate and analyze the mesh outputs.
when i design the support structure for the panels that depends on the shape of each panel, I also want to see the total material length of the support structures and its efficiency before i make any changes to the initial control brep (show in green, blue, pink and white)
for me its important to show how it is possible for the initial floats to be altered (like the swarm behavior, or some other algorithms) and have the entire process reset, analyze and record data. because the sheet material is a formable but NOT FLEXIBLE material which can take on many possible shapes, i wanted to create a definition robust enough for many iterations and for me to be able to navigate between the possibilities. …
loudy) sky it should be 50%.
For each case I get close to those numbers but not those numbers. I get around 38 for the CIE and and 48.something for the uniform sky.
Also I would expect that for each window, which has the center point above the roof or the context they would all get the maximum value, irrelevant also of their horizontal location,which is not the case (they have very slight deviations).
Radiance uses a stochastic method for lighting simulation and up to 5% tolerance in the results even for the same case is normal. Just re-run the analysis couple of times and you will see the numbers will slightly change. You will get 49.something in couple of tries.
Also I noticed that I have to reconnect the ptsFileAddress input each time I change the testSurface objects, but probably this is an expected behavior.
In case you are using searchAnnual component to read the results, connect done output to refresh input so the results will be updated automatically.
are you considering of adding a Radiance Folder Output to the runDaylightAnalysis so we don't repeat with text Concatenation the folder location manually?
It is already there. gridBasedResultFiles outputs the file address. Sorry if the example file was confusing. In that example I wanted to make it clear that you can reproduce all the results from the study folder. I intentionally made the result visualization harder than what it can be to make sure users will educate themselves about the outputs but not as hard as what you have been doing. Sorry! :)
Check the attached file for a revised version of your file.
…
d react in length to the variation of their respective angle deviation from the sun.
For the moment I have established a way that depending on Bigger than/Smaller than X value, there is a dispatch of data to produce to types of panel lenghts. As you can see on the image.
But I would be interested to find the way to organize the list of all angles and classify them in groups like 5 packages of 20 degrees deviation. So, the panels deviated 16,3 and 27,9 degrees would go in the package of 15-35º, for example, and the 33,1 would go in the 35-45º...etc..
And the question would be to assign the different groups of angles, to given positions for the vectors that define the panel surfaces.
I am confused at how I should tackle this problem. Is it a question of dividing domains? Or creating sublists? But then, how can I assign the data to a set of positions? Dispatch only works with A/B..
And if so, how could I limit the positions of the vectors that define the surfaces, to a min and max length that would not overlap out of the base pattern?
These are huge questions, eh? But I'm sure that someone has tackled this problem before...
Looks like an accumulation of pretty standard problems,..but all together!
Thanks a million for any examples or hints on how this could work!
M.A.
StepStudies_20100815.3dm
StepStudies_20100815.ghx
…
file, I am getting Grasshopper IO generated message:
IO generated 9 messages:This document contains the messages that were recorded during the most recent Grasshopper® file read/write. Whenever a read/write operation fails or behaves unexpectedly, this summary will be compiled and put on display. If you experience problems saving or opening files, please include this log with any bug-report you file. You can use the Send... button to mail this report directly, or you can save the log and attach it to a personal email message. This log contains no personal information beyond what you supply, nor any other information that is not directly related to Grasshopper. Developer contact Message log start (chronological): --------------------------------------------------------------------------------Plugin version: 0.8.0010 Archive file written with older version: 0.8.0004 Input parameter chunk is missing. Archive is corrupt. Input parameter chunk is missing. Archive is corrupt. Output parameter chunk is missing. Archive is corrupt. Input parameter chunk is missing. Archive is corrupt. Output parameter chunk is missing. Archive is corrupt. Input parameter chunk is missing. Archive is corrupt. Object list read
After this, a new window inside Grasshopper appears, with following message:
Component ExceptionAnalysis [Analysis]An exception was thrown during a solution:Component: Analysisc_UUID: aa901e22-c085-45da-820d-9728d9ff0252c_POS: {X=1028, Y=592}Das Objekt des Typs "Karamba.support" kann nicht in Typ "Karamba.GH_Beam" umgewandelt werden.
What seems to be the problem? My Grasshopper or Karamba versions are too new for this files?
I am using Rhino SR8, Grasshopper 0.8.0010, Karamba 0.9.06
I did not have Karamba before on this PC, this is the first time I installed it on this one. But I had Karamba about 5 months ago on different PC and on that one, these two .3dm and .ghx files worked without problems. You can download both files from here:
http://www.gamefront.com/files/20530681/karamba_test04.rar
So what is the problem?
Thank you for all the help.
…
ing done in a private skunk-works studio owned and operated by an Oscar Award winning Visual Effects Producer/Director. You will be working directly with him and his team.
The work is currently voluntary but we expect this to change as funding is secured and as candidate(s) prove valuable. Our interest is to assemble a dedicated set of talent with whom we can hit the ground running. We currently have 5 feature projects in the pipeline so this could be the beginning of a long run.Regarding the requirements: The main models for the movie are being created with Rhino using Grasshopper, Weaverbird, and TSplines. We have existing pieces of the overall model completed but require much additional development. These models will then be made into PHYSICAL models. The movie will NOT feature many CG models.Regarding the Candidate(s): Although volunteer, candidate(s) will be expected to conduct themselves professionally, show commitment to task, and be quick studies. Our ideal candidate will be in the New England area, and self sufficient equipment-wise. No computer equipment can be provided. It would be EASIEST and most expedient if the candidate(s) could work on site. Under special circumstances we would allow SOME off-site work, provided that the level of communication and response time is relatively immediate. Our location is approximately half way between Boston and NYC.Regarding the Producer/Director: Candidate(s) will find that this is an open collaboration environment. Your ideas will be heard by everyone in the loop and we are a strong team ethic organization. Candidate(s) will likely interface directly with the Producer/Director and myself on a DAILY BASIS. More details will be made available once Non-Disclosure agreements are signed. We are looking forward to both creating a number of film projects and moving forward with a tight knit, professional team.Phone interview/on-site interview, samples, and resumes will all be required.
To reach me you can respond here and I will be happy to contact you to move forward.
Thank you for your interest in this unique opportunity.-Marc Dantonio…
e following inputs:
| title: The title of the new Rhino view.
| projection: A basic projection type.
| position: A position.
| floating: true if the view floats; false if it is docked.
| Returns: The newly constructed Rhino view; or null on error.
However when I try to use it python gives an error:
Add() takes exactly 5 arguments (4 given)
I've figured out that it wants me to give it also the "self" argument:
Add(self: ViewTable, title: str, projection: DefinedViewportProjection, position: Rectangle, floating: bool)
However I have no idea what to give as a first argument.
Here is the code if it helps:
import Rhino.DocObjects.Tables as tables
import Rhino
import System
tables.ViewTable.Add("Testi",Rhino.Display.DefinedViewportProjection.Perspective,
System.Drawing.Rectangle(0,0,100, 100),True)
Thanks from your help in advance!
-Matti Pirinen…
Added by Matti Pirinen at 3:08pm on December 8, 2015
aniker.com/electricity/
Anyway, I figured it out in the end, and added another layer information about solar power the photo-voltaic panel generated.
It's quite interesting to visualize how the building performance along with temperature and activities. If anyone is interested, I'd like the share the method I found.
The first step is to collect data we need: temperature and electricity usage.
So the electricity data is easy to get from electricity company website, that only took me 5 minutes. However, how to get annually hour weather data is quite challenging: I need hourly temperature data for the whole year. Weather underground do have that data, but it only displayed daily, so I will need to click 365 pages to collect all the information. Fortunately, there's already someone figured out the solution -- screen-scraping.
http://flowingdata.com/2007/07/09/grabbing-weather-underground-data-with-beautifulsoup/
I only modified the searching code to hourly data instead of daily average temperature (see the attachment ).
After getting all the data I need, the visualization part is much easier. I just assigned the value to the point cloud as color and size. However, there's one question that really bothers me which is how to color the grid and export to illustrator. It's easy to use the colorMesh component but when export to illustrator the color disappeared. What I did in the end is using the hatch component from human to convert each mesh into hatch. This worked but I am wondering if there's any more efficient way? I know ladybug component can bake graphics that maintain the color information to illustrator.
Best
Qinheng
…