e is changed.
This is what I am trying to achieve: If the dropdown component is changed, the c#-component should update the slider... It is also working with GH_Document.SolutionEnd Event but as far as I understand, this will recompute the whole solution. So if there is a huge script following downstream, this will be called always twice (correct?). I would like the script to:
1. detected the change of an input parameter value 2. stop the script and set a few sliders 3. continue computing downstream stuff.
Thanks in advance!
private void RunScript(System.Object mySliders, bool startme, ref object A) { if (!startme) return;
if (_running) return;
_run = true;
Component.Params.ParameterChanged += new GH_ComponentParamServer.ParameterChangedEventHandler(OnSolutionEnd);
}
// <Custom additional code> private bool _run = false; private bool _running = false;
private void OnSolutionEnd(object sender, GH_ParamServerEventArgs e) { // Unregister the event, we don't want to get called again. Component.Params.ParameterChanged -= OnSolutionEnd;
// If we're not supposed to run, abort now. if (!_run) return;
// If we're already running, abort now. if (_running) return;
// Reset run and running states. _run = false; _running = true;
foreach (IGH_DocumentObject obj in GrasshopperDocument.Objects) { if(obj is Grasshopper.Kernel.Special.GH_NumberSlider) { var slider = obj as Grasshopper.Kernel.Special.GH_NumberSlider; slider.TickValue = 9; _running = false; } } }
…
actually can perform using a dedicated software:
in 3D:
https://www.facebook.com/francescopiasentini/videos/523532707845171/
in 2D:
https://vimeo.com/189618609
The output of Modal Analysis (at a given frequency) is a list of point (x,y,z), each of them has the three coordinates and the maximum displacement in the direction normal to the surface (that's not flat)
Point number x y zmax1 24,007565 337,876028 -0,6545572 -28,0404705 337,947773 0,7760153 57,141457 316,757768 -0,8413914 18,667466 314,814543 -0,235288
My idea is:
-import stl surfaces of the object (violin)
-import Modal Analysis data
-deform stl (or Nurbs) surfaces using something like a customized CageEdit
-animate this deformation from zero to maximum displacement
-give a color to deformation (or first-second derivative of the interpoled deformation curves)
My wish is to have closed surfaces at any steps, and to create "natural" deformation shapes.
I just tried to import MA data. I was trying to create an array of circles with given x,y,z and radius, I could not figure how to separate information of position and radius when importing the file:
file content:
0,1,0; 5;2,1,3; 2;5,2,6; 4;
thanks for yout attention.
Looking forward to hear you soon!
Francesco
…
y in English. ○Presenter
Robert (Bob) McNeel (McNeel & Associates founder) Robert (Bob) McNeel is the founder and president of Robert McNeel & Associates (RMA). Founded in 1978, RMA originally focused on developing accounting software for accounting, architecture, engineering, and other personal services firms. Within a few years, RMA expanded its services to include selling and supporting microprocessor-based engineering and design software including AutoCAD. By 1985, the main focus of the business had shifted to AutoCAD sales, service, training, and software development. Bob McNeel grew up in the mountains of southern Washington State on a subsistence dairy farm. To pay for college, he worked in construction as a carpenter, welder, and cement finisher. Bob has a BA in Accounting from Washington State University. Prior to founding McNeel & Associates, he was a practicing Certified Public Accountant and the comptroller for a large construction company in Spokane. Andrés González (Rhino Fablab director) Andrés is a software trainer and developer since the 1980s. He has developed applications for diverse design markets as well as training materials for different CAD and Design software including the community of training materialswww.Rhino3D.TV Andrés has been working with the Rhino Team since the very early stages. He is now the head of the McNeel Southeast US & Latin American Division. He is the worldwide director of the digital fabrication community called RhinoFabLabwww.RhinoFabLab.com as well as the Generative Jewelry & Fashion Design community GJD3D www.GJD3d.com and Generative Furniture Design community GFD3D www.GFD3d.com 1981 -1985 University of North Carolina at Charlotte N.C. - EE.UU. B.S., Bachelor of Science in Engineering
…
Added by Yusuke Oono at 9:28pm on October 16, 2013
arametric Design, in the history of architecture, has defined many rules for current designers and for future practitioners to follow. One of the strongest aspects that are prominent from this style is ‘geometry’. Arguably, there is nothing new about geometry and aesthetics forming the most prominent aspect of any style or era. The language of any style, in the long history of architecture, is visually defined by geometry or shape, beyond the principles that define the core of the style. In the distinguishable style of parametric architecture, geometry has played and is continuing to play an integral role. And with this fairly young style, there are many strings of myths and false notions associated.
The workshop aims to provide a detailed insight to ‘parametric design’ and embedded logics behind it through a series of design explorations using Rhinoceros & Grasshopper platforms, along with understanding of data-driven fabrication strategies. An insight to Computational Design and its subsets of Parametric Design, Algorithmic Design, Generative Design and Evolutionary Design will be provided through presentations, technical sessions & studio work, with highlighting agenda of using data into Hands-on fabrication of a parametrically generated design. A strong focus will be made on ‘geometry’ and ‘matter’.
// Methodology
Workshop has been structured to teach participants the use of Grasshopper® (Generative modelling plug-in for Rhinoceros) as a generative tool, and ways to integrate it with Hands-on Fabrication process. A strong agenda on ‘geometry’ and ‘matter’ will form the focus of the studio with design experimentation through computational & parametric techniques, culminating into a manually fabricated wall panel using understanding of data-driven design during the course of workshop.
Day 1 Topics / Agenda
Rhinoceros 3D GUI and basic use
Installing Grasshopper & plug-ins
Grasshopper GUI
Basic logic, components, parameters, inputs, numbers, simple geometry, referenced geometry, locally defined geometry, baking, etc.
Lists & Data Tree: management, manipulation, visualization, etc.
Design Experimentations with Geometry & Data
Understanding Data for Manual Fabrication
Day 2 Topics / Agenda
Design Experimentations with Geometry, Form, Matter
Data for effective numbering and strategizing during Manual Fabrication
Collaborative effort for Hands-on ‘making’ process
Analysis & Evaluation of Fabricated Geometry
Documentation…
ect + Geco
TUTORS:
Arturo Tedeschi (Authorized Rhino Trainer) + Maurizio Arturo Degni
Il workshop avanzato ECOLOGIC PATTERNS affronta l’impiego di strategie parametriche all’interno del processo progettuale, approfondendo l’utilizzo di Grasshopper in sinergia con plug-in, software di analisi ambientale e simulazione fisica. Obiettivo fondamentale è la generazione della forma come risultato di tecniche di form-finding e di input ambientali (solari, termici e acustici). Verranno acquisiti nuovi strumenti operativi e di simulazione al fine di costruire modelli parametrici ottimizzati in grado di adattarsi a diverse condizioni di contesto.
MORE INFO…
er line. The problem is the projection continues even when the lines stop. The only stop parameter is the max vertical distance between top and bottom line.
Is there a way to terminate the loop by checking there no intersection is happening either through a empty parameter check or something like that?
This is the loop code
List< Point3d > bottoms = new List<Point3d>(); List< Point3d > tops = new List<Point3d>(); List< double > horiz = new List< double >(); List< double > vert = new List< double >();
int lastVert = 0; int lastHoriz = 8500; double lastParam = 0;
while(maxVert > lastVert && minHoriz < lastHoriz ) { Point3d start = lineB.PointAt(lastParam); Plane yz = new Plane(start, Vector3d.XAxis); double param = 0; Rhino.Geometry.Intersect.Intersection.LinePlane(lineA, yz, out param); Point3d proj = lineA.PointAt(param); double dist = start.DistanceTo(proj); int intdist = (int) Math.Floor((dist / (double) step)) * step; double length = (area / dist); int intlength = (int) Math.Round((length / (double) roundfactor), MidpointRounding.AwayFromZero) * roundfactor;
Thank you!
…
s. (Go to RCE Tabs)
Normaly a compoment is disable.
Fill the 3 parameters: name, e-mail and company.
Enable the component with the right mouse button on the component and enable.
A file is created here:
C:\RhinoDeveloppements\RhinoCivilEngineering\license\licence_a_envoyer.txt
Send it to this address:
rhinodeveloppements@gmail.com
You will receive your license within 24 hours
----------------------------------------------------------------------
Pour procéder à la requête de licence, merci de suivre ces étapes.
1. Installer RhinoCivil Engineering
2.Charger Rhinoceros et Grasshoper
3.Glisser Déposer le composant RCE Protection sur le canevas de Grasshopper.(Sur le panneau RCE)
Normalement le composant est désactiver.
4. Remplir les 3 paramètres: Nom, Adresse mail et société.
Activer le composant avec un clic droit sur le composant et "enable"
Un fichier est alors créer ici:
C:\RhinoDeveloppements\RhinoCivilEngineering\license\licence_a_envoyer.txt
Envoyer le à cette adresse:
rhinodeveloppements@gmail.com
Vous recevrez votre licence dans les 24 heures.…
s levels of detail by subdividing a 6 sided cube mesh and projecting its vertices according to a referenced height map. This is one of the standard conventions for building full sizes planets. At the lowest level (0) the mesh planet is made of 6 pieces(each 32x32 resolution). The next level down (1) is made of 24 pieces... 6 divided by 4 = 24. Level (2) is 96 quads etc etc. The script will generate each quad at its sub-division level and compare edge vertices to neighboring quads. It will then make sure any shared vertices are in fact at the same projected vector. This ensures a planet quad with edge vertices that match.
The problems comes in texturing each quad.
If I build the quad as a nurb surface from points I can place the texture easily because each surface UV maps squarely to my texture map (which is also square).
If I build the quad as a mesh I cannot just apply the square texture to the mesh UVs. This is because when you unwrap the UVs from a mesh they will not unwrap like a nurb surface's UVs. Therefore to get the correct mapping I would have to manipulate each UV back to an evenly aligned array (which is 1024 points in a 32x32 resolution UV). Maya and blender have 'relax uv' and 'align UV' functions but they don't do the trick and manual corrections are out of the question. So why not skip the mesh method and use the nurb method?
I did this and there is a trade off. The nurb will accept the material texture I want with no other work on my end but when I export the object as an .obj rhino creates its own mesh to describe the nurb(with various unsatisfactory setting options). This works great up to a point because at some level the interpreted mesh will have vertices that do no match at the edges, ie .. creating visible seams in the mesh. The picture below is the nearly seamless planet at LOD(1) made of 24 quads, each with 32x32 vertice resolution and a 512x512 jpg texture running in Unity3d 5. It works but at close level there are seams. This will be resolved simply by having the next LOD(x) instantiate before getting close enough to see the seam but at core nerd level I want the seamless mesh.
So, I can make the seamless mesh but I can not realistically texture map it. I can also make the nurb surface from points and texture it at the expense of the edge vertices matching. I am at the split in the road but I want to have my cake and eat it too. Thoughts, comments, trolls...?
Thanks for reading =)
Footnote: For you pros I am not using seamless noise across the map I am using grasshopper to sew up my otherwise non perfect edges.
Other programs in the pipeline:
-WorldMachine 2
-Wilbur
-Photoshop
-Unity3d…
2015. You will have the opportunity to play with an experimental large scale distributed framework we have been busy with over the last few months called 'Stampede'. You will get knowledge on MDO and parametric design, meet some of the developers of the framework, hands-on experience and investigate the gained results in an experimental atmosphere. You will be working with Rhino and Grasshopper during the workshop.
PROGRAMME
The workshop will start with an introduction on Stampede and the different technologies involved, such as cloud computing, parametric modelling and multi-disciplinary design optimisation. After the presentations, we will discuss an example use case, get to work with and gain some hands-on experience by applying your newly gained knowledge to design your own multi-disciplinary design optimisation model and investigate its behaviour.
REGISTRATION
Excited? The IASS conference organisation lowered the price of the two-day workshop from € 250,- to € 150,-. You can register here via the IASS2015 website. The workshop is also available for people who did not register for the IASS2015 Symposium. There is also a rumour around that if you e-mail White Lioness that you can get a code for a even bigger discount.
MORE INFORMATION
Keep an eye on the Stampede website if you want to keep up to date with the latest developments about the workshop. Updated information about Stampede and the workshop will be regularly posted.
CONTACT
Please contact Dion Jansen for more information +31 (0) 20 737 1997 or send an email to dionjansen@wlnss.com.…