Giter Site home page Giter Site logo

duongbinharch / dynashape Goto Github PK

View Code? Open in Web Editor NEW

This project forked from longnguyenp/dynashape_legacy

0.0 0.0 0.0 1.31 MB

Open-source Dynamo plugin for constraint-based form finding, optimization and physics simulation

Home Page: https://forum.dynamobim.com/t/dynashape-published/11666/

License: MIT License

C# 100.00%

dynashape's Introduction

The information below is mainly intended for those who are interested in working with DynaShape's source code.
If you want to use DynaShape in Dynamo directly, visit the DynaShape Thread on Dynamo forum for how-to-install and other information.

How to build, package and install

Step 1: Clone source

Clone the source from GitHub and open in Visual Studio

Step 2: Deal with missing references

After open the source in Visual Studio, You will notice that many of the referenced dll files seem to be missing. However, the NuGet package manager will automatically restore these files the first time you build the codes. So you don't have to worry about them. The only exception is MeshToolkit. To get this file you need to first install the MeshToolkit package using the Dynamo Package Manager, you can then find the MeshToolkit.dll typically at %AppData%\Dynamo\Dynamo Core\2.x\packages\MeshToolkit\bin

Step 3: Build and package

Build the solution and you will get DynaShape.dll (along with DynaShape.xml) in the build output folder.

You can now assemble the DynaShape package folder according to the following structure:

(The files marked with * are included in the visual studio solution, under the "ManifestFiles" folder)

_DynaShape
├── pkg.json *
└── bin
    ├── DynaShape.dll
    ├── DynaShape.xml
    └── DynaShape_DynamoCustomization.xml *
└── extra
    └── DynaShape_ViewExtensionDefinition.xml *

Very Important: Notice that there is an underscore character in the "_DynaShape" folder name as shown above. This is to ensure that Dynamo will load the DynaShape package alphabetically AFTER the MeshToolkit package, which is a MUST.

Step 4: Install the package into Dynamo

Once the DynaShape package folder has been assembled, you can "install" the package to Dynamo by to Dynamo-Main-Menu > Settings > Manage Node and Package Paths..., and add a path to the package folder.

Once the package has been installed, you can start playing with these Dynamo sample scripts to see how DynaShape works.

Contact Info

Acknowledgement

I would like to acknowledge the following people:

  • Ian Keough and the Dynamo development team, for the great visual programming tool.
  • The EPFL Computer Graphics Lab and Geometry Lab, for developing the important theoratical framework, which DynaShape is based on.
  • Daniel Piker, for playing a major role in popularizing physics and constraint-based digital form finding in the design community, mostly via his well-known plugin KangarooPhysics for Grasshopper. The highly positive response that KangarooPhysics receives from the community has inspired me to start DynaShape in hope to make similar computational design tools available to the Dynamo and BIM community.
  • Autodesk (particularly Phil Mueller and Matt Jezyk) for co-organizing and co-sponsoring AEC Hackathon Munich 2017, where DynaShape was born.

dynashape's People

Contributors

longnguyenp avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.