Hello Dynamites!
This Challenge is now over - a massive thanks to all who submitted their entries for the Dynamo Wrong Tool, Great Output and we can’t wait to see what epic connections and left-field things the community votes in as winner and runner-up!
All graphs will become available after the close of the voting session in the Challenge Library
as well as present in this thread, so that you can inspect each DYN file to help you choose your favorite! You can vote based on any criteria you like: Approach, graph size, simplicity, humor or any other criteria of your choice!
Dynamo Challenge 03: Wrong Tool, Great Output
Entry 01: “QR Code Generator”
Entry 02: “Data Interop between Revit and Archicad”
Entry 03: “DynamoSat - A orbital transition simulator”
Entry 04: “Dynamo Hangman”
Entry 05: “Recreating Burton Wasserman’s ‘Peace’ art in Dynamo”
Entry 06: “Dynamo testing Machine Learning - Reading Integers from Drawings”
Entry 07: “Voice Messages from Dynamo”
Entry 08: “Analog date picker”
Entry 09: “Simple 3D Audio Visualizer”
Entry 10: “Parametric Baseball Field”
Entry 01: "QR Code Generator"
Blurb:
I was looking for a Python or C# script that would allow me to encrypt a string and get the geometric points of insertion of the pixels in an image, since the images are basically pixel histograms, and each pixel has a color, but as I know almost nothing about programming I was not able to find anything, so I searched the forums and I came across a very interesting post:
Process Images to Split geometry for Color changes - #21 by jacob.small
and one of the answers had a Vikram Subbaiah’s script, his script is to analyze an image and deliver geometric information, so I thought to make a script to generate a QR Code in .png format and then use Vikram’s script to analyze the image and now if I get the points of my histogram of “pixels”, so we can say that I used the wrong tool to get a great result, and that to my point of view fits whit the challenge, most impressive of all is that the objects created in CAD in fact function as real QR Codes almost all the time, not every scanner recognize its, try by your self.
Notes:
Dynamo Core 2.5.2.7915
Dynamo Civil 3D 2.5.2.860
.png file printed from Autocad used for this post
.dwg file whit the block pixel
.mp4 file to help to understand the workflow
dyn file whit the instructions
package “QRCoder 0.9.0” to create QR Codes in .png Format, is available in the web packages I cant upload all the folder.
QR_CODE_CAD_NATIVE_Local Block.dyn (1.1 MB)
QR CAD Native.dwg (746.2 KB)
Entry 02: "Data Interop between Revit and Archicad"
Blurb:
The wrong tool in this case is… Dynamo…
We work together with different architects. Some work in Archicad. The project team needs to export the Dutch Classifications called NL-SfB. I want it to be exactly the same. Not just the contents but also the name of the IfcClassificationReference . I found out that this is a mess in the Netherlands. A lot of different names, mistakes in the contents and the usage of older versions.
So I wanted to provide the architects with the correct files. In Revit it’s easy, it’s the .txt file that can be loaded as the Assembly Code. In Archicad however it is a .xml file. So how do I create a .xml file with thousands of lines? Yes! With Dynamo! to run the graph you need to select an output-xml-file. I cannot upload that here so just create an empty file and rename it to .xml.
Here is the English translation of my LinkedIN article on the matter. I made a similar graph for SketchUP as well but one graph is enough for this challenge right.
Dynamo Challenge 03 - Wrong tool with great output.dyn (107.5 KB)
NL-SfB_Tabel_0-4_Update-V201912.xlsx (309.1 KB)
Spoiler as the LinkedIn link and English PDF gives away the author and this challenge is a blind vote
Entry 03: "DynamoSat - A orbital transition simulator"
Blurb:
5.4.3.2.1 Launch!
A orbital transition simulator for launching the DynamoSat satellite / space probe on a journey to Jupiter from Earth.
By adjusting the start angles of the planets (locations relative to a base Y-Axis plane with the Sun as the origin), based on the a date value, it should be possible to model the projected orbital transition to most of the planets.
The current date is set to the same launch window as Voyager 2 in 1977, as to utilise the properties of that probe for the creation and trajectory of the DynamoSat.
This code is prepared in Dynamo Sandbox, with OOTB nodes and Python and uses classes for storing / updating solar system body information for the Sun, Planets, and Satellites.
The code uses gravitational constants to project and update orbital transitions of solar system bodies based on the orbital cycle of the Earth.
Using the Periodic Run mode with 50ms intervals yields some nice animations.
Not sure if NASA should adopt Dynamo for future missions but this yields a great result to show maybe they should.
DynamoComp03_DynamoTool_OrbitalTransit.dyn (134.3 KB)
Entry 04: "Dynamo Hangman"
Blurb:
Here’s my entry, “Don’t hang me”.
It’s glitchy as moose… But run outta time.
Also, I really can’t fix the head appearing on a first correct guess in Dynamo Player, I’ve tried about 6 different fixes (but none work). Any suggestions?
Gallows.rfa (340 KB)
Hangman.dyn (199.7 KB)
Entry 05: "Recreating Burton Wasserman's 'Peace' art in Dynamo"
Burton Wasserman, Peace.dyn (57.8 KB)
Entry 06: "Dynamo testing Machine Learning - Reading Integers from Drawings"
namespace integerImage
open System.IO
module integerML =
type Example = {
Label : int
Pixels : int []
}
let readExamples path =
path
|> File.ReadAllLines
|> Array.map (fun line -> line.Split ',')
|> Array.map (fun line -> line |> Array.map int)
|> Array.map (fun line -> {Label = line.[0]; Pixels = line.[1..]} )
let distance (img1 : int[]) (img2 : int[]) =
Array.map2 (fun pix1 pix2 -> abs(pix1 - pix2)) img1 img2
|> Array.sum
let classify (img : int[]) =
let bestMatch =
readExamples (__SOURCE_DIRECTORY__ + "/train.csv")
|> Array.minBy (fun x -> distance x.Pixels img)
bestMat
Entry 07: "Voice Messages from Dynamo"
Blurb:
Some scripts of mine include voice messages at the end. Some are useful, but most are just funny. If the script has run successfully, the user will be prompted to get a cookie from the boss.
Sometimes I use this script to talk to my colleagues in the room.
voice_message.dyn (6.0 KB)
Entry 08: "Analog date picker"
analogClockTimePicker.dyn (107.5 KB)
Entry 09: "Simple 3D Audio Visualizer"
Blurb:
a simple 3D Audio Visualizer, via periodic mode and some other features.
+Python3 Packages:
DSIronpython2.7
python3 lib : librosa
python3 lib : ffmpeg
python3 lib : numpy (version1.22 or less, auto pip with librosa)
+Additional External Resources Required:
see 02_WAV files folder
Dynamo Challenge 03 - Google Drive
note 1:
need to run script on Revit 2022 or 2023 (Sandbox not supported)
note 2:
only wav files are supported
note 3:
If you have problems with the numpy and librosa packages:
1/ uninstall the numpy package
2/ uninstall the librosa package
3/ reinstall the librosa package (numpy will be automatically installed, in the good version for librosa )
Dynamo Challenge 03 Video2.mp4 - Google Drive
Entry 10: "Parametric Baseball Field"
baseballfield.dyn (287.0 KB)
1 Like