Search
  • Sign In

Grasshopper

algorithmic modeling for Rhino

  • Home
    • Members
    • Listings
    • Ideas
  • View
    • All Images
    • Albums
    • Videos
    • Architecture Projects
    • Installations
    • Add-ons
  • Download
    • Rhino 7 w/Grasshopper
    • Add-ons
  • Forums/Support
    • Current Discussions
    • Legacy Forum
  • Learn
    • Getting Started
    • Online Reference
    • API documentation
    • Video Tutorials
    • Common Questions
    • Scripting and Coding
    • Books and Articles
  • Attend
  • My Page

Search Results - 谷歌排名霸屏【飞机:e10838】google留痕.gpf

Comment on: Topic 'Need Help!!!!!!!!!! how to do this?????'
ably after some sort of rough cutting you can no longer see. But it's not standard CAM ("computer aided manufacturing") software toolpaths, since they are not parallel to each other, the fine little ribs that is, but sort of web between the bulk fabric like macrostructure. Nor are they of fixed width, but often quite wide, often tapered even from fat to skinny. It's always possible that the entire big/small structure was fully 3D modeled then CNC cut very finely, so we are not really looking at efficient toolpaths at all in the fine structure, but actually CAD modeling, as if the whole thing was 3D printed. 3D printing would of course add its own layer-by-layer artifacts. Here is the original artist's web site, based on a reverse Google image search: http://www.danielwidrig.com/index.php?page=Work&id=CREAM Ah, the artifacts (thick vs. thin tiny ridges) are likely explained by use of a spiral toolpath, which is fast and efficient, or either a circular toolpath, which would add artifacts between concentric circles, but you can see how a ball mill is making a micro-pattern here, over the CAD model of folded fabric, where I added red lines: To achieve this as a 3D model, you would overlay by addition an undulated spiral of ridges on top of a folded fabric model, so just ignore the little ridges and worry about how to undulate a fabric like this, since the micro ridges are just decorative embellishment of the bulk structure. One way, since I don't see any undercuts is to think in grayscale, in order to create a height map. Swirly stuff in Illustrator or Photoshop, or just 2D curves that then become filled in as stripes then blurred like crazy to make gradient transitions, then converted to a plaque to give it height field 3D structure. The artist's Flickr has more detail that makes the little ridges look less regular, and more like webbing that conforms to the bulk structure: https://www.flickr.com/photos/danielwidrig/ Again, so what? Getting the bulk structure is what matters. I don't have an answer yet, but that's some initial impressions. Kangaroo (physics engine) can create fabric and let it fold about but I still think a 2D image strategy may work easier than trying to do physics (!). There are Photoshop plugins that do chaotic swirling patterns, for instance, and I assume you know what a heightfield is, or can look it up. It's just the more white the higher you make it in Grasshopper, via some component. Native Rhino has that too. Native Rhino also had the Drape command, in which you could merely create some 2D construction plane lines and raise them above a surface plane and 3D point edit them a bit to make the middle higher and the ends go down a bit, then drape a plane onto the combination and that would likely give some nice 3D "fabric" structure with the same sharp mountain peaks and smooth hills between them. …
Added by Nik Willmore at 5:33am on October 19, 2015
Comment on: Topic 'Best Uniform Remesher For Patterning Organic Suraces'
variable. It's a short enough script for normal users, along with Stackoverflow and Google English language searches to debug in the future. Just try isolating the problem in a copy of the script, paring it down to a few lines that still fail the same way, then ask around, since then you'll likely only have a basic Python issue to figure out. import Rhinoimport subprocess# TO MAKE THIS WORK, RIGHT CLICK RHINO.EXE AND OPENFLIPPER.EXE TO ACCESS THE PROPERTIES>COMPATIBILITY TAB AND CHECK "RUN THIS PROGRAM AS ADMINISTRATOR."# ALSO MAKE SURE TO EDIT THE OPENFLIPPER CORRECT VERSION NUMBER AND INSTALLATION PATH THAT I HAVE HARD-WIRED TO VERSION 3.1, BELOW.# Write an ASCII format STL file for the input mesh, for OpenFlipper to operate on:stl_file = open("C:/NIKS_OPENFLIPPER_PARSER_TEMP.stl","w")stl_file.write("solid OBJECT\n")Input_Mesh = Mesh # Let's not use the Rhino term Mesh in the script itself.Input_Mesh.Normals.ComputeNormals() # NITM ("Not In The Manual") but this is needed first.verts = Input_Mesh.Vertices # Get all vertices of the mesh from Rhino.for i,face in enumerate (Input_Mesh.Faces): # Rhino gives faces by vertex index number.stl_file.write(" facet normal %s\n" % str(Input_Mesh.FaceNormals[i]).replace(",", " ")) # Rhino gives normals!stl_file.write(" outer loop\n")stl_file.write(" vertex %s\n" % str(verts[face.A]).replace(",", " ")) # Rhino has ABCD properties for face vertex index numbers.stl_file.write(" vertex %s\n" % str(verts[face.B]).replace(",", " "))stl_file.write(" vertex %s\n" % str(verts[face.C]).replace(",", " "))stl_file.write(" endloop\n")stl_file.write(" endfacet\n")stl_file.write("endsolid OBJECT\n")stl_file.close()# Generate an OpenFlipper script on the fly in order to alter settings not accepted on its command line:openflipper_script = open("C:/NIKS_OPENFLIPPER_PARSER_TEMP.ofs", "w")openflipper_script.write("core.loadObject(\"C:\\\\NIKS_OPENFLIPPER_PARSER_TEMP.stl\")\n")openflipper_script.write("id = core.getObjectId(\"NIKS_OPENFLIPPER_PARSER_TEMP.stl\")\n")openflipper_script.write("remesher.uniformRemeshing(id,%s,%s,%s,true)\n" % (TargetEdgeLength, Iterations, AreaInterations))openflipper_script.write("core.saveObject(core.getObjectId(\"NIKS_OPENFLIPPER_PARSER_TEMP.stl\"),\"C:\\\\Out.stl\")\n")openflipper_script.write("core.exitApplication()\n")openflipper_script.close()# Windows command line execution of OpenFlipper with argument to run our script:OFS = "C:/NIKS_OPENFLIPPER_PARSER_TEMP.ofs"subprocess.call(['C:\Program Files\OpenFlipper 3.1\OpenFlipper.exe',OFS]);# Read in the OpenFlipper output STL file back into Grasshopper:mesh = Rhino.Geometry.Mesh() # Initialize "mesh" variable as a blank mesh object to hold each face.MESH = Rhino.Geometry.Mesh() # Initialize "MESH" variable as a blank mesh object to accumulate faces.with open("C:/Out.stl") as f:  for line in f:    if "vertex" in line:      q = line.replace("vertex ", "")      q = q.replace("\n", "")      q = [float(x) for x in q.split()]      mesh.Vertices.Add(q[0],q[1],q[2]) # Fill mesh with three vertex lines in a row.    if "endloop" in line: # File itself tells us we are done with three vertices for one face.      mesh.Faces.AddFace(0,1,2) # Create a single face mesh.      MESH.Append(mesh) # Magically build a real multi-face mesh while removing redundant vertices.      mesh = Rhino.Geometry.Mesh() # Reinitialize empty mesh object for each mesh face.MESH.Normals.ComputeNormals() # Gives nice mesh and preview but makes the script take longer.…
Added by Nik Willmore at 4:32pm on October 9, 2017
Event: DIGITAL TOOLING vol.1
を進める。 後半で行われるコン ピュテーショナル・デザインの技術を使った料理の展開を紹介し、試食も行います。 ■第2部18:00~21:00(ワンドリンク制 ¥500) RGSS KANSAI(仮) 昨今、デザインの最先端で見られるようになったコンピューテーショナルデザイン。 すでにスタジアムや大型建築、プロダクトデザインなどの分野で認知されてます。デザイナやデザイナを目指す人達には今後必須の技術と言えるのではないでしょうか。 RhinocerosとGrasshopperをつかえば、今までプログラムの知識が必要だったアルゴリズミックな3Dデザインもスクリプティングを要さず生み出すことができます。 首都圏では数年前からRGSS(コンピューテーショナルデザインのコミュニティ)が存在し日本におけるコンピューテーショナルデザインの裾野を拡げています。 コンピューテーショナルデザインに関する技術や知識の交流が発生し、関西におけるデザイン技術の底上げを期待しています。 当日は2~3名のプレゼンテーションを予定。まずはキックオフ的にはじめてみて、続けていくことで形作っていければと思います。  大前 道久 OPH(おっさんパワーハウス)主催  15年間ジュエリーメーカーで勤務し、  制作からデザインまで様々な部署を経験してきました。  Grasshopperの恩恵を受け、新しい表現や効率的な  モデリングを実践しています。  私なりの、コンピューテーショナルなジュエリー制作を  見ていただきたいと思います。 FBイベントページ:https://www.facebook.com/events/709226442478364/…
Added by Michihisa Omae at 9:09pm on August 23, 2014
Comment on: Topic 'How to Marshal a variable sized array of ON_3dPoint to C#'
_1 = resZ+1; /*if((resX_1)*(resY_1)*(resZ_1) != sizeof(data) / sizeof(data[0])) { *outNum = 0; return NULL; }*/ int sliceXY = (resX_1)*(resY_1); double intervalX = 1.0/resX; double intervalY = 1.0/resY; double intervalZ = 1.0/resZ; ON_BoundingBox box = ON_BoundingBox(*minCorner,*maxCorner); ON_Box refBox = ON_Box(box); //Get corners of a single voxel ON_3dPoint corners[8]; corners[0] = refBox.PointAt(0.0,0.0,0.0); corners[1] = refBox.PointAt(intervalX,0.0,0.0); corners[2] = refBox.PointAt(intervalX,intervalY,0.0); corners[3] = refBox.PointAt(0.0,intervalY,0.0); corners[4] = refBox.PointAt(0.0,0.0,intervalZ); corners[5] = refBox.PointAt(intervalX,0.0,intervalZ); corners[6] = refBox.PointAt(intervalX,intervalY,intervalZ); corners[7] = refBox.PointAt(0.0,intervalY,intervalZ); double d[8]; ON_3dPoint intersectionPoints[16]; int minCornerIndex= 0; vector<ON_3dPoint> pts; for (int z = 0; z < resZ; z++)     {         for (int y = 0; y < resY; y++)         {             for (int x = 0; x < resX; x++)             { minCornerIndex = z * sliceXY + y * resX_1 + x;                 d[0] = data[minCornerIndex];                 d[1] = data[minCornerIndex + 1];                 d[2] = data[minCornerIndex + 1 + resX_1];                 d[3] = data[minCornerIndex + resX_1];                 d[4] = data[minCornerIndex + sliceXY];                 d[5] = data[minCornerIndex + 1 + sliceXY];                 d[6] = data[minCornerIndex + 1 + resX_1 + sliceXY];                 d[7] = data[minCornerIndex + resX_1 + sliceXY]; ON_3dVector translate = refBox.PointAt(x * intervalX, y * intervalY, z * intervalZ) - corners[0]; int num = VoxelBox::GetFaces(corners, d, iso, intersectionPoints); if (num > 0)                 {                     for (int i = 0; i < num; i += 3)                     {                         pts.push_back(ON_3dPoint(intersectionPoints[i].x + translate.x, intersectionPoints[i].y + translate.y, intersectionPoints[i].z + translate.z));                         pts.push_back(ON_3dPoint(intersectionPoints[i + 1].x + translate.x, intersectionPoints[i + 1].y + translate.y, intersectionPoints[i + 1].z + translate.z));                         pts.push_back(ON_3dPoint(intersectionPoints[i + 2].x + translate.x, intersectionPoints[i + 2].y + translate.y, intersectionPoints[i + 2].z + translate.z));                         *outNum += 3;                     }                 } } } } ON_3dPoint* result = new ON_3dPoint[pts.size()](); for(unsigned int i =0;i<pts.size();i++) { result[i].Set(pts[i].x,pts[i].y,pts[i].z); } return result; } I think it's slow in tow places. 1. using vector<> to hold all the points first, then copy them to the array.  2. in c#, List<double> .ToArray The first time I tested the code in Grasshopper, a warning "can''t find entry point blahblah..." came up. Then I did some google, used extern "C"__declspec(dllexport) and a .DEF file. If more code is added in, updating the .DEF file manually will be annoying.  How is RhinoCommon manage all the exported functions?  …
Added by Ian Chan at 3:55am on October 27, 2012
Comment on: Topic '30 steps to heaven (i.e. hell)'
efied when confronted by your elevated thinking and ability. I (rather obviously) fully support your position, however I think the upset expressed by individuals on this post is valid. They are not on your level. They never will be. They probably won't ever need to be. And that's why you run your own business (let's use American Sniper analogy: you're the sheepdog) and they're the sheep - they're skilled people, but require a safe environment within which they can work. Without them you wouldn't be able to run a successful business. Without you they wouldn't have jobs. It's a symbiotic relationship; and please, anyone reading this, I'm not saying this to be provocative, it's just the way the world goes round. Think about the leaders of Google, Apple, Tesla, then re-read the above; it should provide solace to anyone struggling to accept that there are minds out there far greater than their own. Anyone with real experience in office will know that Peter is making an irrefutably valid point; any building project, even remotely advanced - and like Peter I am making my argument strictly from the perspective of real-world design and delivery of a building project - requires a robust tool to deliver. Utilisation of a computational design tool will invariably warrant some sort of intervention to that tool that supports the needs of the project, namely: coding. I have argued before that without this intervention the designer is then restricted to "prepackaged components that could potentially kill off a novel design solution". That said, the use of GH natively for such endeavours will always suffer this fate, not unless the scheme utilising the tool is largely simplistic. It is not an AEC tool. The paradigm shift in the AEC industries to BIM means Rhino and GH are going to be defunct if they fail to evolve. I'm confident they will, but clearly these tools will never be primary design tools. Dynamo is an interesting one to bring up; I predicted a while back that GH was the "Betamax of the parametric world". The fact that Dynamo plugs into Revit seamlessly and that increasingly, Revit is taking a stranglehold on the market, means that there may be some truth in my prediction. Admittedly, it still has a long way to go before Dynamo or Revit is anywhere near Rhino/GH. A surface modeller with a brilliant algorithm editor (ie GH) has its uses, but ultimately it could find itself wiped out by the prevalence of BIM authoring tools, the associated government legislation, and the desire to utilise modern technology for design realisation. Grasshopper is a tool geared largely towards students - it's colourful, pretty, engaging, "easy to use" (a fallacy up there with man-made climate change - ask the sheepdog if you don't understand why) and has successfully opened up a whole new world to a generation of designers (rue the twisty towers, voronoi, hexagonal cladding, circle packing and 'wallaby'). But equally when these students graduate - as Peter points out - they then use GH for live project work and therein lies the problem. Of course this doesn't cover all cases, but nevertheless, a failure to understand the demands of professional practice - a disregard to broadening ones horizons - has the potential to lead to a catastrophic brain-drain for the built environment and engineering. Why not embrace the opinions of others (Peters) who have identified this and wish to enlighten? But then this forum never has been democratic, I know it all too well; any opinion at odds to the collective mass gets shunned, accused of 'trolling', and vilified. In conclusion, Grasshopper can only be used for project delivery with the aid of coding. I closely observe many (only decent) building projects that have used GH for project delivery and it's the same recurring theme: coding to bridge the GH shortfalls and get the job done. Visual programming by itself is intrinsically flawed, after all why is GH programmed with code? This is the point Peter is making and one which he feels is important to convey; coding is a requisite for anyone seriously looking to implement GH as part of a real-world work-flow for building design and delivery. That's the truth of it. Now, best run before the GH fanboi mob comes after me - it's been a while and I'm sure they're thirsty...…
Added by AnewGHy at 4:25pm on February 16, 2015
Comment on: Topic 'surface Morph'
control points are sufficient. For arcs that its complicated, it all fake checkpoints more vectors. See the results here: http://www.youtube.com/user/rhymone1?feature=mhum#p/a/u/1/7eXiOGvevaA…
Added by Rémy Maurcot at 12:28pm on April 13, 2011
Comment on: Topic '[Q] gradient coloring of text dots (text tags)'
u forum.J'apprecie votre page ainsi que l'exemple du composant gha.(je suis la dessus en ce moment). Pour ce qui est de votre exemple je trouve ça trés intéressant.Les ID de départ d'ou provienne t-il, d'un Text dot ou d'un point ? J'aimerais modifier le texte dans rhinoceros et que dans gh le text se mettent à jour.Pour ce qui est de leurs position c'est bien ça que je veux; elle est fixé par lobjet de départ:ID Si je démarre d'un fichier vierge comment injecter les objets comprenant l'ID ? Merci encore de votre intéressement et de vos efforts de traduction.   Google Translate: Wooh, good job. I start working with VB script and other, and for now my level is beginner but I'll catch up soon, thanks to you and people on the forum. I appreciate your page and the example of the component gha. (I'm the top now). As for your example I find it very interesting. IDs starting or he comes, a text or a dot point? I would like to change the text in rhinoceros and gh in the text are updated. In terms of their position it is what I want and is set by lobjet starting: ID If I start with a blank file how to inject objects containing the ID? Thank you again for your sharing and your translation efforts.…
Added by Rémy Maurcot at 7:10am on December 23, 2011
Topic: Read this first! How to get help on this forum.
uick answers. Below you will find some suggestions, but don't think of them as rules and especially don't think of them as guarantees. 1. Choose a descriptive title for your post Don't call your question "Help!" or "I have a problem" or "Deadline tonight!", but actually describe the problem you are having. 2. Be succinct but clear in your wording People need to know some details about your problem in order to understand what sort of answers would satisfy you, but nobody cares about how angry your boss or how bad your teacher or how tight your deadline is. Talk about the problem and only the problem. If you don't speak English well, you should probably post in your native language as well as providing a Google Translation of your question. 3. Attach minimal versions of all the relevant files If you have a GH/GHX file you have a question about, attach it to the post. Don't expect that people will recreate a file based on a screen-shot because that's a lot of pointless work. It's also a good idea to remove everything non-essential from a GH file. You can use the 'Internalise Data' menu option to cut everything to the left of a parameter: If you're importing curves or Breps or meshes from Rhino, you can also internalise them so you won't have to post a 3DM file as well as a GH file. If you do attach large files, consider zipping them first. Do not use RAR, Ning doesn't handle it. It is especially a good idea to post files that don't require any non-standard components if at all possible. Not everyone has Kangaroo or Hoopsnake or Geco installed so if your file relies on those components, it might not open correctly elsewhere. 4. Include a detailed image of the GH file if it makes sense If your question is about a specific (group of) components, consider adding a screenshot of the file in the text of the post. You can use the Ctrl+Shift+Q feature in Grasshopper to quickly create nice screenshots with focus rectangles such as this: 5. Include links to online resources if possible If you have a question about Schwarz Minimal surfaces, please link to a website which talks about these. 6. Create new topics rather than continuing old ones It's usually better to start a fresh question, even if there's already a discussion that kinda sorta tangentially touches upon the same issue. Please link to that discussion, but start anew. 7. This is not a 'do my work for me' group Many of us like to help, but it's good to see effort on our part being matched by effort on your part. Questions in the form of 'I need to do X but cannot be bothered to try and learn the software' will (and should) go unanswered. 7b. Similarly, questions in the form of 'How do I quickly recreate this facade that took a team of skilled professionals four months to figure out?' have a very low success rate. -- David Rutten Lead Grasshopper Development Robert McNeel & Associates…
Added by David Rutten at 12:58pm on October 1, 2013
Page: gHowl Videos
Diploma project from knagata on Vimeo. Kinect hack on GRASSHOPPER 01 from knagata on Vimeo. Kinect & Grasshopper from Elise Elsacker on Vimeo. gHowl + Processing + Lazycutter Test from Atel
Added by Luis Fraguada to gHowl at 4:13am on June 22, 2011
Comment on: Topic '(14/09/15)クラスA サンプルファイル'
Cにカーブ、Lに分割ピッチを入力 ③各分割点の接線方向のベクトルを出す。    ※ベクトルをRhino上で確認したい「vector display」     A(ancor point)にはPのポイントを、Vのベクトルには接線ベクトルのTを入れる。 ④各接線ベクトルからZ方向を排除し、world座標のX-Y平面に平行なベクトルに揃える。     接線ベクトルをxyzに分解 ⇒ 「deconstruct vector」     これを「vector xyz」によって再構築する。(x,yのみを入力すればよい)改めてvector displayで確認してみるとよい。 ⑤各点ごとに座標系を定義する。 ⇒ 「construct plane」で、OとXに、それぞれPとV(再構築したベクトル)を入力。     ※各分割点での座標系(平面)が小さく、確認できない場合がある。     display ⇒ preview plane size を100くらいに設定すると、良く見えるようになる。 ⑥階段のステップ(四角形)を描く。⇒ 「rectangle」を使用。以下のパラメータを入力。     P・・・使用する平面(先ほど作ったもの)     X・・・300     Y・・・800     ※長方形が階段状に表示されるが、原点がまちまち。 ⑦長方形の中心を、各分割点の原点に合わせる。     「area」コンポーネント ⇒ 面積を出すコンポーネントだが、同時に重心も出せる。     「vector 2 Pt」コンポーネント ⇒ AからBへのベクトルを作る。 これで原点から長方形の図芯へのベクトルを作成する。     「move」で長方形と、先ほど作ったベクトルを選択することで、全ての長方形の図芯を各座標系の中央に移動させる。 ⑧階段に厚みを付ける     長方形をサーフェイスに変換。 ⇒ 「boundary Surface」に長方形のジオメトリを入れて、サフェースにする。     面に厚みを付けて立体にする。 ⇒ 「Extrude」に、ジオメトリと、方向(Z軸)を入力。     Z軸は、ダブルクリック⇒zと入力⇒ 「unit z」 ⇒入力に数値(ベクトルの長さ)を入力。 ⑨手すりのカーブを作成する。     最初に参照したカーブを左右にオフセットさせる。     ⇒「offset」で、カーブのアイコンのものを選択。     Cにはカーブ(最初のカーブ)を入力     Dにはオフセット距離を入力。     階段幅(先ほど800と入力したモノ)の1/2を入れればよい。     「division」を使用。固定値は、「number」コンポ―の右クリック⇒setnumberで2を入力。     反対側も同様に用にして作る。     「marge」で2つのカーブを統合。     「move」でZ方向に800オフセット。 ⑩手すりを作る。 ⇒「pipe」 Cに先ほどマージしてmoveしたカーブを入力。Rに50を入力。 ⑪縦のパイプを作る。     divide lengthで両側の手すりのカーブを分割する。ピッチは最初にステップを分割したものと同じモノを持ってくる。     「line SDL」で縦のラインを作成する。     Sには先ほど分割した手すりの分割点。Dには方向(-z方向)、Lには距離(手すりのラインをオフセットさせた距離と同じ)を入力。     pipeでラインに沿ったパイプを作成。***…
Added by Yusuke Takei at 8:24am on September 16, 2014
  • 1
  • ...
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105

About

Scott Davidson created this Ning Network.

Welcome to
Grasshopper

Sign In

Translate

Search

Photos

  • Parametric Facade

    Parametric Facade

    by Parametric House 0 Comments 0 Likes

  • Parametric Wall

    Parametric Wall

    by Parametric House 0 Comments 0 Likes

  • Parametric Vase

    Parametric Vase

    by Parametric House 0 Comments 0 Likes

  • Connecting Towers

    Connecting Towers

    by Parametric House 0 Comments 0 Likes

  • Columns on Curves

    Columns on Curves

    by Parametric House 0 Comments 0 Likes

  • Add Photos
  • View All
  • Facebook

Videos

  • Parametric Facade

    Parametric Facade

    Added by Parametric House 0 Comments 0 Likes

  • Parametric Wall

    Parametric Wall

    Added by Parametric House 0 Comments 0 Likes

  • Parametric Vase

    Parametric Vase

    Added by Parametric House 0 Comments 0 Likes

  • Connecting Towers

    Connecting Towers

    Added by Parametric House 0 Comments 0 Likes

  • Columns on Curves

    Columns on Curves

    Added by Parametric House 0 Comments 0 Likes

  • Cosine Shade Pavilion Rhino Grasshopper Tutorial

    Cosine Shade Pavilion Rhino Grasshopper Tutorial

    Added by June Lee 0 Comments 0 Likes

  • Add Videos
  • View All
  • Facebook

© 2025   Created by Scott Davidson.   Powered by Website builder | Create website | Ning.com

Badges  |  Report an Issue  |  Terms of Service