Expiring solution in Grasshopper

Regarding Bengesht!

Due to sequential model of Grasshopper it’s tricky to implement asynchronized codes. The idea is that you have to focus on single function called SolveInstanceĀ to read, calculate and export the results. But when it comes to handling threads it means that all of states of the code have to be handled through same function and one of these states is exporting data!

read more…

Repository: On Gist

Turn on developers mode in your website

Just an idea!

Recently I’ve been working on two websites ( and which have a common point; They rely heavily on Javascript! In the both cases, they use Ajax technology to fill a HTML element with retrieved data. To debug them I had to refresh the whole page which wastes about 2s of my life every time!

read more…


AutoCad has been always the last thing that I want to deal with! But ever since I start working as an architect, I find AutoCad as a mandatory part of professional environment where all the documents should be transferred and reviewed in this software. And I said “Okay! let’s face the truth and instead of complaining, make it a better place to work…”.

read more…

Download Url: Download Dll file
Repository: NxAutocad on Github
Programming Language: C# .Net

AC Version

Detecting DWG files version right into your browser

It happens sometimes that you want to transfer an AutoCad DWG file and you have to change its version (for example downgrading to lower version number). It’s a good practice to check version of files’ before sending them to the client.

read more…

Motion detection

A simple solution

Think about intelligent shop’s window adapts displayed goods for passers-by and tons of artistic ideas which could become possible by using image processing technologies. Maybe it was a dream a couple of decades ago to gain a real-time effect, but nowadays by emergencing of powerful computers and gadgets such as Microsoft Kinect and Asus Xtion, it’s quite possible to use image processing as a mature technology.

To acquire a basic understanding about these technologies, this Processing code has been developed to demonstrate how moving objects could be detected by comparing two consecutive frames of a captured video.

read more…

Repository: Motion Detection as a Gist
Programming Language: Processing

Assign materials randomly by MaxScript

Working in NextOffice architecture studio, I faced the problem of giving a natural look to a masonry building includes thousands of individual bricks!

read more…

Repository: Randomizer on Github
Programming Language: MaxScript

“BtStepper” class introduction

Stepper motors are great! they’re as flexible, simple and lovely as Arduino; and I think we can deal with them much easier than the way Stepper class works. So I’ve developed BtStepper motor class as a part of BtMicro library. The most significant difference between Stepper class and BtStepper is the method they add delay before taking each step.

read more…

Repository: BtStepper on Github
Programming Language: C++

Create PNG icons for AIR application by Adobe Illustrator Script

If you’re an AIR developer and a graphic designer using Adobe illustrator to create icons, you’ve probably faced maddening problem of resizing icons to 128X128, 114X114, 72X72 ,… pixel and saving them into different PNG files šŸ˜• . Therefore I developed this Script to help you out in this situation! šŸ˜‰

read more…

Repository: AI Scripts onGithub
Programming Language: Adobe Illustrator JavaScript

CFD streamlines in Grasshopper

As an experience I tried to import streamlines generated in Ansys Fluent into Grasshopper environment and I developed two (actually one and a half!) C# components in Grasshopper to do this. Basically generated tables in CFD Post are saved as a single file so you have to separate different tables and save them as individual .CVS files which is really easy, and then these C# components will do their missions!

read more…

Download Url: Grasshopper file
File Format: grasshopper [.gh]
Requirements: Rhino 3D, Grasshopper
Programming Language: C# .Net