what they really mean by that, as in what buttons to push, so I assume it's a Windows Path entry?
2.) Modify PATH
Add the install location on the path, this is usually: C:\Program File\IronPython 2.7
But on 64-bit Windows systems it is: C:\Program File (x86)\IronPython 2.7
As a check, open a Windows command prompt and go to a directory (which is not the above) and type:
> ipy -V PythonContext 2.7.0.40 on .NET 4.0.30319.225
Tutorial on setting a Windows environmental variable (path):
http://www.computerhope.com/issues/ch000549.htm
But this fails to point out that path contains many entries already separated by semicolons so if I merely add a new variable called "path" it's likely that I will destroy existing program function. There's no info on how to just tack on another entry, and the Windows 7 edit box doesn't even show the whole collection, but one item (!), so I copied the existing path into a text editor to see the whole collection successfully and added the C:\Program Files (x86)\IronPython 2.7 entry after an added semicolon, correcting for an Enthought page typo of no 's' on the end of "Program Files". I also checked the others and many pointed to old missing directories so I deleted those entries.
...and the test fails and "ipy" is not recognized as a command, even though the path now shows up using "path" in the Windows CMD window, that is if I copy all by right clicking and pasting the stuff into a text editor to really view it all. I can run it from the source directory just fine.
The rabbit hole was indeed deep. Using the Task Manager (control-alt-delete) to kill Explorer and then Run in the menu to restart "Explorer," along with restarting the Windows CMD window however, worked. I can now invoke Iron Python ("ipy") via command line from any directory. For the "path" I edited path in the System Variables and not the User Variables. No, you don't have to type that whole crazy line above just to test the path variable, just "ipy" (and control-Z to quite IronPython) in the CMD window invoked by typing "cmd" into the Start menu search box.
From the CMD line this step did work fine:
3.) ironpkg
Bootstrap ironpkg, which is a package install manager for binary (egg based) Python packages. Download ironpkg-1.0.0.py and type:
> ipy ironpkg-1.0.0.py --install
Now the ironpkg command should be available:
> ironpkg -h(some useful help text is displayed here)
But of course Step 4 fails, giving pages of what seem to be error messages;
C:\Users\Nik>ironpkg scipy
Traceback (most recent call last):
File "C:\Program Files (x86)\IronPython 2.7\lib\site-packages\enstaller\utils.
py", line 92, in write_data_from_url
File "C:\Program Files (x86)\IronPython 2.7\Lib\urllib2.py", line 126, in urlo
pen
File "C:\Program Files (x86)\IronPython 2.7\Lib\urllib2.py", line 397, in open
File "C:\Program Files (x86)\IronPython 2.7\Lib\urllib2.py", line 509, in http
_response
...
Why can't I just download Numpy as a normal file and thus also have it easy for other users to install it when they use my scripts? This is just crazy and lazy. The Enthought developer has turned this into a computer game, with a missing registration link and then the last step spits out errors with utterly no information on how to fix it manually.
This Step 4 error is covered here:
http://discourse.mcneel.com/t/trying-to-import-numpy-in-rhino-python-but-im-getting-this-error-cannot-import-multiarray-from-numpy-core/12912/16…
Added by Nik Willmore at 2:36pm on October 11, 2015
as one element.
Thank you
Comment by karamba on October 7, 2014 at 11:27pm
Hello Patricio, divide the beams in such a way that each boundary vertex of the shell becomes an endpoint of a beam segment.
Best, Clemens
Comment by Llordella Patricio on October 8, 2014 at 8:30amDelete Comment
Hi Clemens,
I did what you suggested but now assemble element doesn´t work properly. Could you please tell me how to fix it? Thanks in advance, Patricio
8-10-14losa%20cadena.gh
Comment by karamba on October 8, 2014 at 11:59am
Hi Patricio, if you flatten the 'Elem'-input at the 'Assemble'-component the definition works. The triangular shell elements have linear displacement interpolations whereas the beam deflections are exact. In order to get correct results you should refine the shell mesh.
Best, Clemens
Comment by Llordella Patricio on October 9, 2014 at 8:35amDelete Comment
Hello, succeeds in creating the mesh to the slab, and built the beam segment, but when I see the deformations are not expected because the beam is deformed as the slab.
Thanks for the help
PS: maybe I'm using the program for a type of structure that is not the most appropriate, as I saw in the examples of other structures. But this type of structure is that students taught
best regards
Patricio
9-10-14%20Example%201.gh
Comment by karamba on October 9, 2014 at 10:46am
You could use the 'Mesh Edges'-component to retrieve the naked edges and turn them into beams - see attached file:91014Example1_cp.gh
Best regards,
Clemens
Comment by Llordella Patricio on October 15, 2014 at 3:41pmDelete Comment
Dear clemens
I was doing a rough estimate of the deformation, and I can not achieve the same result with Karamba. When I make a rough estimate of the result with Karamba beams and mine are very similar, I think the problem is when I connect the shell, because there are no similar results.
I sent the GH file, and an image of the calculation
The structure is concrete The result I get is 0.58cm
thank youPatricio
15-10-14%20Example.gh
Comment by karamba yesterday
Dear Patricio,
try to increase the number of shell elements. As mentioned in the manual they are linear elements. A mesh that is too coarse leads to a response which is stiffer than the real structure.
Best,
Clemens
…
decided to concentrate my effort today on this problem and manage to come up with a solution !
I will explain it if somebody else is looking for a similar solution.
Finally my only problem was to create an alternating true/false list that inverse at certain index, this what I came up with: I have a list of points and random index , the box and sphere represent true and false, and the blue sphere is the node(index) where I want to see an inversion.
In reality, it was pretty simple, I just didn't know the right modules. (In yellow, it's the most important part of the patch)(Sorry for the spelling mistake)
Here is a diagram of what I did: I created a list going to 1 to [number of lines], here it's 1 to 10, I had node at 3-4 and 7-8. For each node I created a list of 1 repeated [(number of lines)-index] times. Here, 7 (10-3) and 3 (10-7) times.
After grafting everything, I add everything in mass addition module. I had my final list which I checked if it was divisible by two.
It was more of a logic problem than a grasshopper problem.
Here it is the initial shape with what I wanted !
…
re economical with regards to data path growth. The new logic is roughly as follows: First a master input parameter is identified. At the moment, it is the parameter with the longest path length. The amount of paths doesn't matter. Input parameters that have Tree access are never Master parameters (unless absolutely no other parameter is available) and List parameters have lower priority than Item parameters. In future versions it will probably become possible to assign a custom input as master. This however is an expert user function and I want to post-pone adding it as long as possible in order for the default behaviour to be tested and improved. If all input parameters are list parameters, output paths are no longer grown. I.e. The Reverse List component should output the exact same data tree structure as it gets. The master parameter might not be the parameter with the most branches. It is therefore possible that we run out of defined paths before the component is done computing. If this happens, the last index of the last available path in the master parameter is incremented on each iteration: Input A = {0;0} {0;1} {0;2} Input B = {0;1;0} Output C = {0;1;0} {0;1;1} {0;1;2} A has a maximum path length of 2, B has a maximum path length of 3, B is therefore the Master parameter. However we need three unique output paths since A provides three paths, so {0;1;1} and {0;1;2} are made up on the spot. It is also no longer possible to apply 'Shortest List' and 'Cross Reference' options to components. Old components that had these options set still work like they did before, but that should be considered legacy support. Instead, there are now three components in the Sets tab, List panel called 'Cross Reference', 'Short List', 'Long List' that basically provide the old functionality with a lot of additional flexibility and options.
…
trying to develop it for my own project.
http://www.grasshopper3d.com/forum/topics/shortest-walk-tapered-branching-script?xg_source=activity&id=2985220%3ATopic%3A1450323&page=2#comments
On this page, he shared few 3D coral difinitions and especially interested in first and second one.
First one( bunny like 3D coral) - posted on February 2, 2016 at 9:43pm
Second one( sofa like 3D coral) - posted on February 6, 2016 at 3:16am
I followed these instructions, succeeded to build Tetgen, placed the built files in C drive directory and tried to run the definition. Then some WindowsError came out as follows which I don't know how to fix.
My working environment is;
OS is Windows 7 Ultimate 64 bit.
Rhino is version 5, 64 bit.
Grashoppper is version 0.9.0076, the latest version at this moment.
It would be great if I can have some help advice / comment.
I appreciate for your attention.
…
a given with the third set of information (at the 6th minute). From that, it will then match - for the same exact boats - the speed data given at the 4th minute. Finally it will do a matched subtraction of V(4th) from V(6th) for each boat. Those numbers - whether then scaled up / down or somehow manipulated - will act as the Z dimension which will create the topology. Since V2 - V1 can have a minus value, the overall topology will be a mix of mountains and icebergs this time.
Perhaps to be more accurate, we could divide V2-V1 by 120 and let the topology show the change in speed in a second within that two minutes; the XY coordinates belonging to the latter position of the ships, not the first.
Your definition as you say helps for the linear drawing as it continues from it's stopped. I used that in the current sketch as well for again doing the same thing.However when, I tried to use it for what I am trying to do with the acceleration thing, the result was different. I will try to explain this again;
Let's say that until this point 6 sets of data has arrived - so 12 minutes has passed -. Within that 6 sets, the number of of boats for each one differ as not all of them are able to send data every time. Let's assume in total there are 25 boats and 18 of them have always managed to send data in those 12 minutes. So 18 from the beginning until the end, and finally let's say the remaining 7 of them only could manage to come into the picture at the 4th set of data (so 4,5 and 6).
Now, if I were to build a topology of acceleration for the 6th minute which would mean that I would have to subtract V(4th minute) from V(6th minute) of all 18 vessels, I would need index 2 and 1 from all the branches. If I do this only after 6 minutes has passed from the beginning it would probably work, however if I do it later like at the 12th minute, it does not.
And the very reason for that is when the remaining 7 join the crowd at the 8th minute they obtain an index number of 0, and then 1, and then 2 - at the 12th minute. Because of that when I try to match the V2-V1s with Coordinates on the Unary Force component, while there are 18 sets of coordinates, there are 25 different speed values.
Of course this is quite a simplified scenario and perhaps your vessel matching could solve this specific one but there are cases where its more complicated and random.
I do still want to show vessels' position in a specific time with such pipes you have suggested, but I am trying to construct a collective model, in its simplest form being equal to pipes + topology
For the time thing, what I meant was in this version when you click play the mountains just keep on rising and the topology is constantly deformed. I was wondering if we can set up a timer so that it runs the physics engine for couple of seconds and then freezes the topology as it is. Otherwise I would have to press pause manually everytime, which is not that big of a deal tbh, just for the accuracy sake it would be good to run the engine for the same interval for each model.
All the best,
Levent…
igitais de forma criativa e rigorosa, para a concepção de modelos 3D– Familiarizar-se com as lógicas de criação de geometrias tridimensionais NURBS.- Desenvolver técnicas de criação de imagens fotorealistas com o motor de render V-Ray- Introduzir as lógicas paramétricas e associativas processo criativo.- Introduzir novas lógicas de BIM no processo estrutural (Building Information Modeling).# INFORMAÇÕES E INSCRIÇÕESinfo@rhino3dportugal.comAna Fonseca: 917140716 Mais informações disponíveis no site: www.rhino3dportugal.com# FORMADORES Brimet Silva ( Authorized Rhino Trainer )
...................................................
Curso de Rhino3D Nível I
6, 7 e 9 de Julho9h-13h e 14h-18h (sessões diárias de 8h).....................................................Curso de Vray-Nível I
12 e 14 de Julho9h-13h e 14h-18h (sessões diárias de 8h).................................................Curso de Grasshopper Nível I
16 e 18 de Julho9h-13h e 14h-18h (sessões diárias de 8h).................................................
VisualARQ e Rhino BIM- Nível I
21 e 23 de Julho9h-13h e 14h-18h (sessões diárias de 8h)
…
r your need.. bravo my friend!
2.Hahaha career first, woman later.
3.maybe it is because my country has yet to use the softwares you mentioned, I am pretty sure they are used by engineer, since my practice is only architectural work, we always collaborate with the engineer to get the job done (by collaborate, I mean passing on the job to the engineer, and then we just let them handle all the stuff, the sad news is architect and designers doesnt get paid much to deal with those)
in contrast with your software, me and my team use Rhino,GH,3dsmax, and Zbrush-- these are standard package you got after u graduate from any arch.college. the level of detail I produce in my modelling is not as "heavy" as yours because the client I face every week only worries about the appearance of the building, as well as convenience in terms of planning, efficiency, and cost control over the design.
I am surprised you don't use REVIT or ArchiCAD? they are the standard for BIM documentation.
4.well, subdiv modeling is one of my fave. (That is why Tspline is my fave tool in rhino, to sketch out the model that I want, however it depends on the type of geometry you are after, for "solid modelling" I prefer Subdiv modelling rather than standard NURBS )
5. no comment for that hahaha
6.I disagree, I think Rhino needs a TOP rendering software as part of rhino system itself. to make it at least on par with 3dsmax. rhino isn't built for restrictive use like CATIA, so its purpose is for "MODELLING and VISUALIZATION". at the moment we only see the "MODELLING" part.
7.+1 for this
8.I have to agree with that. there is no way we can incorporate BIM in Rhino. also it is not widely accepted to somehow have BIM file in Rhino format. but...
9. in the future it might be, because if you compared rhino 4 to rhino 5 there has been a major breakthrough, who knows what will happen in rhino 6 or 7.
10.I saw a post the other day,David said he intended GH to be algorimtic modelling instead of parametric, and GH is like a swiss army knife, it has thousands of tools to do general job, but it requires 3rd party member (we call it add-on) to extend its uses. Id prefer GH to have much broader function to encourage people to expand its wings
PS= are u talking about augmented reality? :)
Peace!…
u can still find some wonky behaviour in GH related to datatrees. My experience is that new users quite quickly get the hang of it once they learn that a tree is in fact not a tree but in the first place set of lists, where the path shows how the pieces of data used to be grouped.
Branch Count checking A component has multiple tree inputs, but has different amount of branches, each having branch count > 2. (While I understand the logic of combining multiple trees, I've not once encounted once that combining a component with e.g. an input of 2 branches and an input of 4 branches to give any kind of sensible output.
Desired behaviour: If a component has branches (each being > 2 path count), the component should throw a warning. ("Strict branches behaviour?). For example: take an offset component, with 6 branches of curves and 5 branches of offsets. It is extremely likely that this is the result of an error earlier in the definition. This works however without a problem - the last branch is repeated again, and it's later on quite hard to discover something went wrong.
Checking branch Count The most important numeric is the amount of branches, and the amount of items in the tree. It's desired that the hovers show the amount of data and the amount of branches.
Desired behaviour
Trees with paths of different rank Trees that contain {0;0} and {0} and {0;0;1} is usually a sign of trouble of not well merged trees, faulty C# components, or just nasty coding habits.
Trim as undo graft instead of flatten Having the trim in the context menu would provide an easy way to undo a graft. Right now the easiest way for many people is to flatten it, and then start all over again - while just getting rid of the last index keeps the underlying history and makes it easier to write reuseable pieces of code when you prepend datatrees to it.
Component to get branch by index, not by path Would be great. Suppose you have a grid of points, grouped by row. It would help to show: "look, this is in the first path, it's called {0;0;1}, it's got 10 points, these points are the first row".
Analogue to using list item to show what is the first point, second point, and so on.
Semantic path names (maybe far fetched) But what if we can add a short name of each method that was executed to the path list, so it can show:
{Slider 0; Series 0; Point 0}{Slider 0; Series 0; Point 1}
{Slider 0; Series 0; Point 2}
{Slider 0; Series 0; Point 3}
{Slider 0; Series 1; Point 0}
{Slider 0; Series 1; Point 1}
{Slider 0; Series 1; Point 2}
{Slider 0; Series 1; Point 3}
Make the input/data matching inside components explicit Can we make it even more obvious that a component is not a black box that's executed once, but in fact an iteration machine that tries to make sense of the inputs that's fed to this box?
Show data combination. How data input A relates to data input B and data input C, is currently very implict and is just plain hard to learn., and required the ability to be able to relate the output back to the input. If we can textually or even graphically show what data matching occured inside a component, it would greatly help the understanding (and debugging) of "what's going on here in this component"
A verbose explanation of the data matching in component A
Iteration one: - Geometry: We take the data item from Branch 0, Position 0: (Point 0,0,0) - Motion: We take the data item from Branch 0, Position 0: (Vector 0,0,0)
Iteration two:
- Geometry: We take the data item from Branch 0, Position 0: (Point 0,0,0)
- Motion: We take the data item from Branch 0, Position 1: (Vector 10,0,0)
Iteration three:
- Geometry: We take the data item from Branch 0, Position 0: (Point 0,0,0)
- Motion: We take the data item from Branch 0, Position 1: (Vector 20,0,0)
etc.
A verbose explanation of the data matching in component B
Iteration one: - Geometry: We take the data item from Branch 0, Position 0: (Point 0,0,0) - Motion: We take the data item from Branch 0, Position 0: (Vector 0,0,0)
..
Iteration seven:
- Geometry: We take the data item from Branch 0, Position 0: (Point 0,0,0)
- Motion: We take the data item from Branch 7, Position 0: (Vector 0,70,0)
..
Iteration 27:
- Geometry: We take the data item from Branch 0, Position 7: (Point 80,0,0)
- Motion: We take the data item from Branch 2, Position 0: (Vector 0,20,0)
…
the pipe component .I have one curve ,but Pipe component outputs two pipes .This guide curve have two kinks . Pipe component fails at one of them .
Bug #3
I guess this bug may have been fixed .
Wish #1
I hope adding an "reverse list" option to the right-click menu .I think this would be useful (at least for myself).
Wish #2
I hope the SimplifyTree component would clear the zeros located at the end and middle of branch in condition the branches have same length.For example, I have a tree looks like :
A = {0;1;0} B = {0;1;0;1}
C = {0;1;0;0;1;0;0;0}
After simplify ,I get:
A = {1} B = {1;0;1}
C = {1;0;0;1}
And if the tree structure is something like:
A={0;0;1;0}
B={0;0;1;1}
C={0;0;1;2}
After simplify ,I get:
A={1;0}
B={1;1}
C={1;2}
But If the tree is:
A={0;0;0;0;0;0}
B={0;0;1;0;1;0}
C={0;0;1;0;2;0}
I get:
A={0;0}
B={1;1}
C={1;2}
WIsh #3
I came across conditions that there is no direct way to handle some Datatree matching problems . And now I think I find what's the problem :GH now lack the capability to make cross reference between lists/branches .For example, I have two trees ,the first one have two branches {0}&{1}, the other have three branches{0}&{1}&{2}.Now GH would do:
what I want is :
If this can come true ,I can say it would be very very very useful . I just have a coarse idea on how to do that: Like () wrap items,{} wrap branches, then [] wrap trees .
Say I have a tree [0] ,which have three brabches{0},{1},{2}. So [0]=[{0};{1};{2}] or [0]=[{0},{1},{2}]
If this is ruled, the following fomula is meanningful:
[0]=[{0}] (this means tree[0] just have one branch)
[0]=[{0;0;0};{0;0;1};{0;0;2}]
[0]=[{0;0};{0;1};{0;2}]=[{0;0;0};{0;0;1};{0;1};{0;2}]After that, Maybe we could match [{0};{1}] and [{0};{1};{2}] very easily (Longest List;Shortest List;Cross Reference) ??
I tried to explain the concept of "tree" to my friends ,but I am confuzed somewhere myself .For example ,how could we have a tree including branches {0},{0;0}and{0;0;0} at the same time??{0} should be the biggest tree trunk,and {0;0} is part of {0} .{0;0;0} is just the smallest trunk and store the least data inside .How could the biggert trucks are empty while only the smallest branches contain items ?(David drawed a datatree that tell this,remember??)
But if this idea is acceptable ,then I could make a fairy tale about tree to them :
(Long long ago...)
[0] is a tree ,[1] is a tree.
{0},{1},{0;0}.{0;1;0} are branches.
{0}=(0,1,2,3,4,5) is branch.
[0]= [{0;0;0};{0;0;1};{0;0;2] is a standard tree .
[0]=[{0;0;0};{0;0;2};{0;0;3] is a pruned tree.
[{0};{0;0};{0;0;0}] is an illegal tree .
Gh is lenient enough to allow the existence of illegal tree .
Gh is lenient enough to allow the existence of empty trees& empty branch&null items.
We can use PathMapper to transform an illegal tree into a legal one and vice versa . We can use PathMapper to do any things to tree&branch&item.
Wish #4
wish for Split List component : it would have a wrap option just like many other components.In this way , we can split a list of data at -1 .I think this would be useful .
wish #5
wish for a Preview toggle component .See picture below (it's fake).
this toggle look mostly like the boolean toggle, but it have a input param by which we can control the preview logically and smartly .
When there is no input ,we can control swith the preview with a double click action .This toggle component could control all gh geometry overriding the global setting .The link curve between toggle and target works just like the galapagos.
Wish #6
Wish for adding arc angle output to both Arc 3pt and Arc SED components.This would make things easier sometimes .
Wish #7
Many times I were puzzled that a same gh script would perform perfect if the input is single surface but buggy while the input is more than one surface .After debuging many times ,I just found that if one or two component of the script do things smarter ,this kind of bugs would never happen again !! Simply saying:we need a optional datatree match behavior. Say I have two datatree [{0;0};{0;1}] and [{0;0;0};{0;0;1};{0;0;2};{0;0;3};
{0;1;0};{0;1;1};{0;1;2};{0;1;3}] Normally {0;0} matchs {0;0;0},{0;1} matchs other branches (Longest List behavior).Now I need {0;0} matchs {0;0;0},{0;0;1},{0;0;2},{0;0;3} separately and {0;1} matchs {0;1;0};{0;1;1};{0;1;2};{0;1;3} separately .I cant describe this matching rules accurately but it's very obvious .I hope you can understand the meaning .
I remember David said once that he would not change anything about the datatree matching rules in order to avoid destroy people's production work .And that is my bottomline too .What I want is when I need one component to match the input datatree in this way ,I can switch it (just it ) into this mode (Assuming these is a "xxx mode" option in component's right-click menu ). In this way ,All the exist Gh def would not be destoryed.
PS. I am not carping but I found the DivideKink param input of Divide Curve component is useless except adding a segments output .
…