... er ... hmm ... I would strongly suggest Plan B:
How to get the gist of C# in just 123 (+1) easy steps (I've already posted that 3-4 times if memory serves well):
Step 0: get rid of the computer (press the OFF button), buy some cigars:
Step 1: get the cookies
The bible PlanA: C# In depth (Jon Skeet).
The bible PlanB: C# Step by step (John Sharp).
The bible PlanC: C# 5.0/6.0 (J/B Albahari) > my favorite
The reference: C# Language specs ECMA-334
The candidates:
C# Fundamentals (Nakov/Kolev & Co)
C# Head First (Stellman/Greene)
C# Language (Jones)
Step 2: read the cookies (computer OFF)
Step 3: re-read the cookies (computer OFF)
...
Step 120: re-read the cookies (computer OFF)
Step 121: tun ON computer
Step 122: do something
Step 123: shut down computer permanently, forget all that
May The Force (the Dark Option) be with you.…
l, you can find examples of parametric design using LB/HB, specifically the HB component pollinator workflows.
In these examples, a GH component (data recorder) is used to locally store either input parameters or output values of different model configurations and transmit them to pollinator. I can imagine, depending on how your facade is made parametric in GH, that you could save those input parameters (e.g. angle of surfaces or height of extrusion) and output variables for each iteration (e.g. annual shading).
This a search process through the design space. I do think that if you would set up the model as such, then it would be ok that the components in the PV workflow resetted after each iteration as the results would be saved. There is even a really good visualization platform Mostapha has shared to go along pollinator.
You can find examples of these workflows in the forum, simply search pollinator. I have one that I shared somewhere as well, although it was doing rudimentary things it would help.
This design space approach is a bit different than the optimization approach utilizing components like galapagos. It gives you an idea of the space of possible different desings and allows you to compare alternatives. Plus, it usually allows me to avoid all these issues of losing results between components in the workflo.
I also find it very handy and much more efficient than simply allowing a component optimize everything for me. However, it can ncrease almost exponantially (or is it geometrically, I am always bad at this) to the range and number of your input parameters. So, if each square on the wall has more than a couple of input values for a a few input parameters, I would expect this to take a long time. Thankfully, the components in the workflow will let you know exactly how many iterations.
If this method is interesting to you and you follow it I would suggest a few things to hasten the process like utilizing only the squared above and on the sides of the PV panel, since the others won't really affect shading, selecting just 2 or 3 characteristic angles for extrusions, and perhaps approximating energy production through annual shading numbers (since I imagine they have an almost linear relationship).
I do hope that I have understood what you want to do and the above information helps. I'm sure Djordje will give much better feedback on the specifics of the PV workflow. I will try and keep this page saved so that I can send over the example once I'm back at work mid of next week.
Good luck!
Kind regards,
Theodore.
…
ave bugs and your set-up may differ from what we tested. If you find any, please note bugs in the comments so we can fix them, thanks... Greg
The implementation is pretty logical, and open enough that you can use GH to easily link the robot toolpath and rail/table control for 1,2 and 3 axis linear rails and 1, 2 and 2x1, 1+2x1 etc. rotary tables. The 'Create External Axis' component is included so you can add you own geometry, or create other configurations.
Linear Rail: Plug External Axis into P on the robot.
The basic idea is that you instruct the rail to move the robot base plane either independently or relative to the toolpath. The later is preferable, so when you modify the toolpath the robot base position remains linked. For smooth toolpaths this works well, if you have a lot of back and forth movements, the whole robot will do that too, in which case a direct approach may suit you better, or some bracketing (we'll generate some examples for that soon).
Note: To keep the Linear Rail static while it is working on the Rotary Table, you can input a list of duplicate values to the Rail Axis input.
Rotary Table: Plug External Axis into E on the robot.
Control this through a list of angles in radians. The list of length values for the Linear Rail or the list of angles for the Rotary Table must be the same length as the number of Planes in the Path - as each value goes onto the same line of robot code.
There are two basic examples in the attached file:
Still to do:
- Integration with the IO Milling plugin.
- API calls.
- Tutorials for Create External Axis component.
For any questions, feature requests, bugs and example file requests - add your comments below... Please share you examples as well.
…
Added by Gregory Epps to IO at 12:55pm on August 12, 2015
uld help me to optimize the script, so it works reliable.
At the end the script should work only by the input of the following informations:
- Top-Curve
- Bottom-Curve
- accuracy ( like poly-count)
- is the bowl an open or closed structure?
This is an example of a good result:
From here its probably the best if you open both attached files, so you understand the problems.
1. Bug:
Offset direction of the bottomcurve needs to be set up by hand sometimes.
The script uses "loft" on a bunch of 3pt Arcs to create transitions. Arc 3pts" needs a "Point B" on the offset of the bottom line. Sometimes the offset is inverted, so i need to change it by hand.
The rule to make it work correct is: "The offset of the bottom line goes into the same direction as the top line, but on the same hight as the bottom line."
How can i implement this in GH?
2. Bug:
The floor generation needs a lot of guessing the right index numbers of lists.
The script uses 2x "Deconstruct Brep" to find the actual bottom curve of the created transition Brep. "Patch" is used to create a floor from this curve.
If the bowl is an open structure, the script creates a line between the endpoints of the bottom curve to close it, in order to create a trimmed "Patch". But again, you have to set up the right Index Numbers by hand...
3. Bug:
If the bowl is an open structure and the endpoints of the top-line and the bottom-line are the same the lofting is not working. At the moment I use a script that finds double points in the list and deletes it.
But the the result is, that the loft is not starting at the beginning or the end. Here is an Image.
I have only a little experience in gh, but i really want to learn more.
Thank you all for your help!…
mers considering extreme sports reject mainstream retailers and like to check out small stores rather of at chains plus malls. Several smaller retailers discuss trends in sports shoe sales. http://skateszone.com/
Though athletic shoes and sports stores and from doorways retailers have reported somewhat uptick in footwear sales due to the increase in extreme sports, the particular beneficiaries inside the trend are independent surf and skate niche stores.
Some West Coast surf and skate shops stated teenagers and even more youthful Generation Xers are not only rejecting traditional sports, but they're also shunning mainstream retailers and malls meant for smaller niche shops transporting hard-to-come-by brands.
Eddie Miyoshi, district manager at Atomic Garage, a 3-store chain situated in Gardena, Calif., stated the soaring recognition of skateboard footwear has boosted the retailer's total footwear business 20-thirty percent this year, rather of '95.
Skate footwear presently represent 80-90 % of Atomic Garage's shoe sales, while couple of years back, Dr. Martens and Timberland drove the retailer's footwear business.
Like many retailers, Miyoshi pointed to Airwalk since the trend's catalyst.
However, if Airwalk broadened its distribution to larger chains, which are frequently located in malls, only a few skate shoe customers adopted. Rather, many youthful males have switched for your skate shops for additional elusive brands like Etnies, Duffs, and Electricity Footwear by Circus. By refusing to market bigger retailers or sports stores, these brands are increasing their cachet among youthful consumers.
"Kids don't want stuff which have been within the shops,In . Miyoshi added.
Searching ahead, Miyoshi forecasted skate shoe sales will remain strong through spring '97 provided "the [hot] vendors don't auction other [non-particularly shop] retailers."
"Skaters and non-skaters are rebelling against mainstream retailers so on to surf and skate shops for many looks," echoed Mark Richards, co-online sources Val Surf, a 3-store chain situated in North Hollywood, Calif. Soaring sales of skate footwear have driven total footwear receipts up 25 percent this year rather of '95.
"The quantity of that increase might be connected while using exposure of maximum games? I am unsure. [Skate footwear] may also be actually the think about the moment,In . Richards acknowledged. And in relation to getting this right look, youthful customers can be very picky.
"Skateboard footwear is a huge category for people, but we're not able to own the brands, Etnies, Duffs, Electricity and Nice, simply because they won't sell us," stated Mark Anderson, buyer at Chick's Sports, a six-store chain in Covina, Calif. "We have people coming every single day requesting them." Consequently, skate footwear have consistently ongoing to obtain about 5 % of Chick's overall footwear business. http://skateszone.com/the-top-8-best-skateboards-for-beginners-reviews-2017/
Nonetheless, some outdoors, niche sports and sports retailers are noting the growing recognition and coverage of maximum sports will receive a modest impact on footwear sales. Trailrunning footwear and approach/outdoors crosstrainers will be the two groups benefiting the very best inside the recognition. Like the skate shoe business, some retailers realize that styling instead of function frequently drives sales of individuals footwear.
"At this time the merchandise is a lot more visual than function," stated Chet James, gm of Super Jock 'N Jill, Dallas, speaking about trailrunning footwear. Still, James noted the current hype over adventure sports helps draw more customer traffic. "The marketing campaigns and media help bring growing figures of people in, nonetheless they frequently occasions day an issue that increases results on their own account,Inch he conceded.
John Wilkinson, executive vp inside the 85-store chain Track 'N Trail, Eldorado Hillsides, Calif., stated the shop has "seen some activity in approach footwear," but he requested the amount of consumers depend in it commercially sport. And, instead of accelerating total footwear business, Wilkinson speculated elevated sales of approach footwear and trailrunners are gnawing away at traditional hiking shoe and boot volume.
But Dan Bazinet, president of Overland Exchanging, a 34-store chain situated in Westford, Mass., believes the company-new looks have breathed existence for the wilting hiking boot category. "[Approach-type footwear] don't represent the lion's participate the hiking market, nonetheless they have elevated the hiking business and provided us extra sales," Bazinet stated.
He designated Timberland's Treeline Series and Rockport's Leadville line as strong performers. Unsurprisingly, he noted the company-new looks are attractive to youthful consumer base than traditional hikers.
For that month of June, sales of men's hikers were up 49 percent at Overland, rather of June '95, while sales of women's hikers were up 17 % for that month. Bazinet also attributed elevated sales that shops walked inside the hiking business, departing that business for that specialists.
Some retailers draw a good example concerning the hiking boom of two yrs ago combined with the current extreme sport phenomenon. "Plenty of bigger chains will get a specific percent in the industry while [extreme] sports remain a fad because they are selling cost-point type gear," described Steven Carre, assistant hard goods buyer at Adventure 16, a six-store chain situated in Hillcrest.
"However individuals [true enthusiasts] will say `we need real gear' and may shown up at us. That will help us after a while. What Size Skateboard good for an 3 4 5 6 7 8 9 10 11 12 13 14 year old
…
pproach that will hopefully work. There's still the last part of putting it all together, but I figured I'd post my progress so you could play around with it if you wanted. This is kind of a lucky situation since its only single face breps and simple trims that are being worked with.
I've attached 3 definitions to this post. The first is my reorganization of your original definition, which creates the surfaces from the point grid and culls out any surfaces that are not "on" the surface so that we don't have to deal with them later down the line. This is done through a small VB component which determines whether any of the corner points lie on the surface. If it does it keeps the surface, if not, then it doesn't. The only issue with this is that in your example file, there are some surfaces which the corner points do not lie on the surface, yet the surface that they create spans the underlying surface. At this point I'm not worrying about those. You mentioned that you only want the surfaces that lie at the edge...this can be done by testing whether all 4 corner points lie on the trimmed surface or not.
The second definition is a coded version of the project function. In the example it will project to all the breps supplied, yet in the final version this probably won't be desired. Also, the direction (z axis) is hard code...this could be swapped out if desired.
The third definition is an shot at trimming a surface with an input curve (that curve happens to be projected). I tried this many ways, but found that the function RhinoCutUpSurface seamed to work alright. The other attempts at doing this directly with through functions available for OnBrep were unsuccessful and very complex. Luckily because the underlying brep is an single, untrimmed surface this function works well for us, but in situations where we have a trimmed or multiface brep we'd be up a creek with out a paddle. The function creates an array of breps, but in our case it will create essentially the same surface split by our curve and joined together as a single brep with two (possibly more) faces. All we have to do is find out which face we want to keep and duplicate that into a separate brep and pass it out of the component. In the example file I'm determining which on to keep based off of the distance from a test point to the centroid of each face.
The other option here, which would trump the need for projection or trimming, would be to extrude the edge curves through the surface in question, and use the BrepSplit function which requires two breps. There would still be the need to sort out what to keep, but if this approach were used, all the split pieces would be separate breps.
So, all the pieces are pretty much working separately, all that I have left to do is put them all together in the base definition. The only thing that is really the hump with that is determining exactly which face to keep. My idea at the moment is to find out which corner of the surface does not like on the base surface and use that to determine which face will be thrown out. This might be one of the easier ways, but will not be rock solid. The other option is to pull a test point that's on one of the faces to the base surface and the other face, then use the distance from test point to the point on the base surface and the distance to the pulled point on the other face to the base surface to figure out which one to keep.
As to sectioning off parts of the solution, you could do this in a number of ways, but here's two simple ones. In a scripting component just add a boolean value to the inputs and put the whole script inside of an if statement that looks at that boolean value. With components just add a boolean gate or a null pattern componet anywhere you want in the stream. Again, hook in a boolean toggle value, and that will stop the info from going to components that are downstream.…
umbers behave differently from the reals, in that when they are squared they give a negative result. They are written as multiples of the imaginary unit i, which is defined so that:
i*i=-1
Complex numbers are numbers which have two parts (hence the name complex) - a real part and an imaginary part.
For example:
3+4i,
or more generally:
a+bi, where a and b are some real numbers.
Well that's a definition, but I guess you might be wondering what is the point of them - I've not said anything yet about why they are interesting and useful...
Solving cubic equations was one of their first uses, but I doubt that is what most of you are interested in.
Where they really get fun is when you start looking at them geometrically.
The Argand plane is a setting that allows us to treat complex numbers a bit like vectors.
Each complex number a+bi defines a point relative to an origin (0,0), much the same as a vector with an x and y component.
Like vectors we can add and subtract them to get a new point.
But when we multiply them, unlike vectors, we add the angles (measured anti-clockwise from the positive real axis, also called the argument) and multiply the lengths (or the modulus of each number).
This all follows naturally as a consequence of the definition of i as the square root of minus one.
........
That is just dipping a toe into the great depths.
Complex number math, and in particular complex Analysis (calculus with complex numbers) is a vast subject that I obviously can't cover much of here.
If you are interested in learning more :
The Math department at Cal State Fullerton has some very nice Complex Analysis pages.
Chapters 5 and 6 of the film Dimensions covers complex numbers very visually. You can watch it online here, or read the description here.
Complex numbers on Wikipedia
on MathWorld
Hans Lundmark's complex analysis pages
The book Indra's Pearls is about making certain types of fractals with complex numbers, and includes a good introduction, along with lots of pseudocode.
To really engage with some of the true depth and power of complex numbers I particularly recommend the beautiful Visual Complex Analysis. This was the book that made me love this subject.
I'm really looking forward to seeing more designers make use of complex numbers. I think it is a wonderful tool. It is an advanced branch of mathematics, requiring some serious study to understand, but because of its strong geometric connections, I think relatively accessible to those who tend to think more visually. Now that David has included them in Grasshopper, starting to explore them should be easier than ever.…
Added by Daniel Piker at 4:38am on November 25, 2009
.
as you can see I devided it into 3 parts.
part1: when I try to connect the new shape to the rest of your definition,the plan z,which gives the panels individually when baked(so I can work them individually)doesn't work,apparently there is something missing when I want to explode it.
that is why I connected it to the definition that I already had(part2)( the only cool part about that one is the attractor point)well it kind works,but not really(if you zoom in you can see that there are some parts overlapped and really not looking good).however I much rather your definition because of the option it gives me to work with individual panels when baked(planz).
however it's around 4 am. and I have decided to make some major changes in design (to prepare some closed and open space,I'm talking about part3 that works with the fibonacci like shape,I know it doesnt look really good,but seriously 4am.!).the major problem is that I tried to make a form like that with kangaroo so the shape would be smoother but I wasnt really able to make it with kangaroo,that's why I made it manually in rhino.I was wondering if you can help me make something like this ( not exacly like this) with kangaroo or (if impossible to be made with kangaroo)even helping me optimizing it so it doesnt look as bad,as you can see when I try to work the grasshopper definition on this shape,it gives me different panel sizes for each surface and all of them are to small compared with the overall size of the so-called pavillion(give it 200-500 sq feet (20-50 sq.m).and any suggestions about the shape would be appreciated,please forgive my basic knowledge of rhino and grasshopper,and let's say I wanted to make a shape like these(don't laugh please!)
u promised not to laugh!!!
please help me find the right way!
…
a reply.
Q1. I run two generations in my generation 0 I can distinguish 3 lines...what do they refer to? I got my Fitness as 5 values Heating, Cooling etc and thought there will be 5 lines
Q2. What are values on X/Y/Z axis and color legend? What colors means I got black 409.87 and red 33.63 amd tis dot 99.2:5 and green 2.27:4?
Q3. I can see that in every generation my values are condensed ...of course I shall run this for many more generations... but as result of my simulation which is minimize energy will be the last one that head down?
Q4. I was reading this forum and there is no current way of savings all results for each run ?
Q5. If there are some any general advice how I shall tackle my problem this would be great!
Ps. I will try to run this example over the weekend to see what is the result.
…