he last nights, let me try to describe it:-disclaimer: I'm an industrial designer, my coding experience can be compared to your, when you were 4 year old :)-disclaimer 2: I did a picture at the end of the post that maybe explains more than my words
the component has 2 inputs (Start Value, End Value) and one output (Picked Value)
this phantomatic component (which I would refere to as "dynamic value picker") supports any amount of domains on every input -> it works as if they come grafted, from a "longest list" component
The component "at rest" shows only one slider -with question marks on both edges-
For every couple on inputs you connect (1 Start Value connection + 1 End Value connection) it would visually generate a new slider (exactly like a "number slider" component)main difference from the "number slider" component, this one would show the Start Value and End Value numbers at the edges of each thus generated slider
Right click -> edit on it would recall a window similar to the "number slider", with the main difference that only the first part of those options would be present (see attached image for clarity)Whatever slide accuracy you set, it will affect the whole "dinamic value picker" phantom component (if you set "integer numbers" and for any reason one or more inputs are "floating points numbers", the component automatically rounds the inputs to the best "Integer", and allows you only to pick integer numbers in-between)
If you suddenly change a "Start Value" or an "End Value" input, the affected slider/sliders in the component will try to stay as close as possible to the same % value they were before (example if the domain was from 5 to 11, integers only, and you first picked the value 8, the slider was exactly in position 50%: when you change the End Value domain to 21 the slider will set itself to 13 - yes, I picked an easy one lol )
When you first plug a couple of Start Value + End Value, the slider sets itself to Picked Value = Start Value
It could also be possible to supply negative values as Value End and positive values as Value Start: the slider let you pick a number on that domain regardless of the numerical order you use
Last thing, but it's just fancy imagination, if you zoom-in the output (Picked Value) connection dot, a little - and + appears (like in other common components), letting you add a new cursor to every existing slider (it could be possible to customize the color of the new cursor to avoid confusion)
This is the exact description of what I would ask to the lamp genie :)
I attach a pic I just did, in the hope to better explain myself: picture link
and of course thank you again for reading this long poem!
…
Tetrahedron: 24 Symmetries
Pyramid: 8 Symmetries
Design space = 24 X 8 = 192 permutations
So I decided to write a simple orientation script to iterate over all permutations. And this is the result. Below are some technical notes.
I used the vertices of the shapes for creating a 3 point plane, and used it for orientation.
I used compound transform to combine multiple steps of transformation.
The cross reference component is very handy, generating all the possible combinations without worrying too much about data tree.
The spatial relationship and the basic grammar A -> A + B and B -> A + B
The basic grammar and possible marker positions.
All results in 6 iteration steps
All results in 6 iteration steps (Top View)…
l design.
2/ Optimization
2.1/ in prefabrication
2.2/ combinatorial
2.3/ approach comparisons (i.e. deterministic vs stochastic)
2.4/ share your research
2.5/ ... etc. the list goes on and on
3/ Share you design rationale and how computation fits in
4/ Need help with this problem...
5/ Challenges and workshops announcements
6/ CD News
7/ Share computational design projects under construction or built (akin to skyscrapercity)
8/ and so many other categories and sub-categories...
Just my first thoughts. That breakdown in optimization is just an example. Maybe 'sections' is an old-school way of seeing things, I just wanted to share some thoughts on the kind of content I look forward to seeing. It can be pragmatic topics, but also theoretical, and allow folks to share their projects and research. Some categories are specific, others broad. I suppose I'm interested in community building with regards to computational design. I think SmartGeometry attempted to accomplish this at some point in the past, to some degree. However their focus appears to be in the workshops and challenges.
I recall the silly flame wars that the CG industry had 20 years ago (lame). I'd avoid that, even if it meant forbidding the mention of any specific software in certain areas or in the entire forum. Which would be tricky, but the endless flame wars and silly comparisons were such a waste of everyone's time in CG.
Without dwelling on this too much yet, I think that the software specific questions belong in software specific forums. If we already had a common language for computational design, you'd just need to add the right description as a meta-tag to any Dynamo or Grasshopper forum post, and you'd be able to find analogous solutions in either forum effortlessly, right?
The Dynamo and Grasshopper forums lack design-centric content. The emphasis is generally on the tools and workflow. Computational design is hybrid in essence, it involves both design and computer programming (be it visual or textual). We could really use a forum for knowledge exchange where the expectation is that both are discussed with equal status.
I disagree that such a forum ought to exclude professional programmers. It should include professional programmers whom have an interest in design, and also include professional designers whom have an interest in computer programming, and everyone in between, and enthusiasts, and artists whom are curious about algorithms as a creative medium, and academics, and students, and etc etc. As long as there is rich content and activity on design as well, not only the computational bit, then the crowd will be diverse and we'll all have more to learn from one another.…
this was about some boring building I wouldn't respond ... but here we are talking sardines.
Here's my take on that matter:
1. The 4 C# first create/use a nurbs, then define some random planes (and transformations) and then (a) either they place some humble stripes or ... er ... (b) sardines as instance definitions (NOTE: Load Rhino file first).
2. All important decisions are the ones in yellow groups.
3. You control what you get via this (priority on stripes or sardines? that's the 1M Q):
4. If you decide for sardines (the right thing to do) then you must ENABLE the Sardiniser(C)(tm)(US patent pending) as follows:
5. The vodkaFactor on that Sardiniser C# adds some spice in the sardine placement (it does that by altering the priority on the "composite" transformation in use: first randomly rotate then planeToPlane .... or the other thing?).
6. Only the finest Da Morgada sardines are used in this definition:
7. Spot the WARNING in the filter related with what sardine to choose > do it wrong and no hard disk on your workstation > no risk no fun > sorry Amigos, he he.
8. 1M question for you all: why placing sardines (it's real-time you know) is WAY faster than creating these humble stripes?
9. Although the sardines are placed in real time as regards your CPU ... the critical factor is your GPU (display mode: rendered).
10.Still WIP (dancing sardines in the next update).
have some sardine fun, best, Lord of SardineLand…
minativo (15, 16 y 17 de julio)
- MÓDULO 3. Curso de scripting con Grasshopper, Processing y Arduino: modelado iterativo, interacción y sensorización (22, 23 y 24 de julio)
Más información y reserva de plazas.
¡Consulta los descuentos para estudiantes de grado y posgrado y para más de un miembro del mismo estudio!
Los cursos serán impartidos en Madrid por dos Authorized Rhino Trainers.…
diverse group of design participants from afar for a full schedule of exchanges with leading practitioners, practices, fabrication labs… all while exposed to European transit infrastructure... trains planes & even a few mountain roads. LaN FLIGHT EUROPE marks LaN's fifth initiative on-the-fly & our first in EUROPE. JOIN us for the full trip or the leg that suits your interests. LaN is looking to attract a geographically diverse group of students & professionals with various design backgrounds. LaN FLIGHT 2012 EU is co-piloted by LaN Monika Wittig & Co-de-iT Andrea Graziano. LaN FLIGHT is looking for highly ambitious-adaptable-endurance oriented participants to fully embrace the nature of this curated experience. Please take a look at our 3 previous editions to best judge if this type of experience suits you. If you are willing to allot 8 days of your life to this pursuit and have no allergies to extreme mobility & group dynamics… welcome to LaN FLIGHT.…
mport the geometry again.
Right?
How about this? I add an extra object called something like "Geometry Cache". You have to give it a unique name. If you plug geometry data into the left side of this component, it will bake all that geometry and attach UserStrings to all those objects like "<name>: {0;0;3}(8)" where <name> would be your name and the rest is the exact location of that piece of geometry in a DataTree. It should probably also delete any objects already in the 3dm file that have that custom name/data assigned to them.
If you don't plug any wires into the left side, it will instead search the 3dm file for all geometry with the appropriate user data, load them into a correct DataTree and supply that data to whoever plugs into the right side.
If you plug wires in both ends, it will just function as a generic Geometry Parameter.
It might be tricky to write a good event handler for this thing, maybe I'll just restrict myself to an UPDATE NOW! button on the object itself, so you can trigger an update manually.
ps. benefit of this approach is that everyone can create and harvest geometry with such user text, whether they use Grasshopper or not.
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
me)
And got the same result as you did. Suddenly the definition started working. Although I got this error message when I opened the compression tension null.gh file:
Message log start (chronological): --------------------------------------------------------------------------------Plugin version: 0.8.0066 Input parameter chunk is missing. Archive is corrupt. Output parameter chunk is missing. Archive is corrupt. Output parameter chunk is missing. Archive is corrupt. Output parameter chunk is missing. Archive is corrupt.
Why is that?
Can I dare to ask you few more questions?
2) I want all of my members to be made of solid (not hollow) circular cross-sections.
Does that mean that my diameter and thickness need to have the same values? Like this:
?
3) I have wind load from 8 directions. Is there a way in Karamba to create load groups and choose the one with the most extreme values (group that will be used as the most relevant one for dimensioning)?
Thank you.…
are just the 8 cases, so you're actually doing it right here (scroll down on this page, and you'll see a separate subset all about marching tetrahedrons http://paulbourke.net/geometry/polygonise/). The benefit to using marching tetrahedrons is exactly this: that the number of possible "cuts" through the tetrahedron are dramatically smaller in number than those through a cube.
However, I have found that also what you're seeing that the linear interpolation creates some odd distortions (which is why I went ahead and later did the marching cubes implementation). Some of this comes from the density of the sampling grid: the more dense, the fewer distortions.
What I would suggest, if you want a (relatively) quick way to improve this outcome:
1) build up a full mesh rather that bunch of surfaces, and use Rhinocommon to combine identical vertices, and rebuild the vertex normals
2) run a couple rounds of laplacian smoothing on the mesh to better distribute your vertices (for each vertex, make it equal in location to the average of its neighbours)
3) create a line normal to each vertex roughly the length of your sampling grid and test the endpoints of it against your scalar field formula, and then do one final linear interpolation between those two points for your vertex.
This should give you a smoother mesh for sure.
But good work getting this far! …
Added by David Stasiuk at 1:37am on February 6, 2015