PolyFrame 3D Graphic Statics Plug-in

(Andrei Nejur) #1

PolyFrame is a geometry-based, structural form finding plugin for Rhino based on the principle of the equilibrium of polyhedral frames known as 3D graphic statics.

You can download it from food4rhino

Please post your PolyFrame inquiries in this topic.

Here is some more info about PolyFrame

In graphic statics, there are two diagrams: the form diagram that represents the geometry of the structure, and the force diagram that describes the equilibrium and the magnitude of the internal and external forces in the form. These 2D diagrams are topologically dual and geometrically dependent. In 3D graphic statics (3DGS), the equilibrium of the external forces or a single node of an equilibrated structure is represented by a closed polyhedron or a polyhedral cell with planar faces. Each face of the force polyhedron is perpendicular to an edge in the form diagram, and the magnitude of the force in the corresponding edge is equal to the area of the face in the force polyhedron. These form and force diagrams are reciprocal. i.e., topologically and geometrically dependent: any the change in one diagram results in a change in the other. Moreover, the force diagram represents the equilibrium and magnitude of the internal and external forces geometrically, a property that none of the other form finding tools possess (for further reading, please visit references section).

PolyFrame is a computational framework that allows the construction and manipulation of reciprocal polyhedrons for structural form finding. With this tool, a designer can simultaneously design and control the flow of forces in a structural form and drive the optimal structural solutions constrained to certain boundary conditions or specific geometric properties such as edge lengths, surface areas, etc. PolyFrame is based on a polyhedral construction and manipulation environment called PolyFramework.

PolyFrame and PolyFramework are developed by the Polyhedral Structures Laboratory at PennDesign, University of Pennsylvania.

Principal Investigators

Dr. Masoud Akbarzadeh (masouda@upenn.edu), Dr. Andrei Nejur (nejur@upenn.edu)

Software Developers

Dr. Andrei Nejur, Dr. Masoud Akbarzadeh

(Kjinlee Arch) #2


I attempted an install of the plug-in today and got the “not compatible with the Rhino Installer Engine” message - I have updated to the latest version as of 1/22/19, which is 6.11.18348.17061.

I see in the description that at least 6.12 should be installed. Could you provide some insight as to what is going on?

Thank you very much - I would be very interested in trying the plug-in.
Best regards,

(Wim Dekeyser) #3

In Rhino Options > Updates and Statistics, change the Update frequency to Service Release Candidate. That will make Rhino find a SR12 release candidate to install.

(Kjinlee Arch) #4

Thank you, I was able to install the plug-in successfully.


(Post) #5

hello, and thanks for the quick reply.

the thing is I don’t know what you mean by that.
i’m sorry to ask that, but i don’t know how “to represent closed polyhedrons with planar faces”?

i hope for an answer

thank you again

(Andrei Nejur) #6

Well a cube is a polyhedron. A pyramid is a polyhedron. You can readily make those in rhino. You need to make groups of those polyhedron that share faces.
One strategy would be to start with a pyramid for instance and keep subdividing it with rhino tools.

For instance. 1. Make a planar surface (say a square). 2 Extrude to a point (not contained in the surface plane. 3 explode the pyramid. 4. Select all faces and extrude to a common point located somewhere inside the pyramid.

You can now run Polyframe PFBuild on that geometry. Use the workflow from the manual form here on.

Hope this helps.



Sender notified by

01.02.19, 09:05:00

(Benzmclaren) #7

It seems that your email address at upenn isn’t effective.I tried to communicate with you via this empty email but I failed…
And I have some questions:

  1. In the manual, An explanation says, “The primal/dual denominations are irrespective of the form/force designation of the diagrams. i.e. they can be interchanged depending on which diagram is considered as the primal.” Does that mean I can start with a form diagram rather than a force brep?

  2. It seems that the workflow doesn’t support an efficient progress of design iteration well when I try to create a structure like the projects on your wedsite. Does your team have some idea about improving the process of creating the original geometries, such as Brep subdividing or creating polyhedron?

  3. I’d like to ask you the method of creating such a sophisticated starting geometries shown on your website. You create them with basic commands in Rhino and spend a lot time???

  4. It seems that the pipes established by this plug-in are overlapped. It isn’t friendly for 3D printing. So how does your team create the models for 3D printing with correct pipe radii?

These are my questions I want to ask you via email. Regretfully, your email refused me…XD
Whatever, at last, this is a exciting plug-in with a wonderful idea. It’s worth improving for a more friendly and efficient workflow.
BTW reCAPTCHA is really nasty.

Thank you in advance!

(Andrei Nejur) #8

Hi BenzMcLaren,
I am sorry about your email problems.
I have no idea on how to help you there. Maybe get another email address. I don’t know what works where you reside.


First, you should know that PolyFrame is very much a work in progress. So please do not expect it to behave as a full featured software suite.
I will try to respond to your questions point by point

  1. Yes you can. PolyFrame will recognize your raw geometry input as either form or force. But you cannot use line geometry as you get it from a Force -> Form operation. You should create a surface based Form. Try transforming a Form PolyFrame created from a Force in brep faces or cells and try to start from there. Build something similar (mind the open cells). For now PolyFrame cannot handle mixed compression tension Form so as a result you will have to have open cells on all sides of the diagram.
  2. For now we haven’t published any tools for geometry subdivision. They will be part of subsequent versions and are in the works. They will be geared towards PolyFrame subdivision rather than raw geometry subdivision. You should use the Rhino tools until then.
  3. Yes and also No. We create in Rhino sometimes GH but use a fair amount of scripting to automate the work.
  4. Yes, this is mainly meant as a visualization tool. We have a skin generation tool that will be part of the next version of PolyFrame. It is based on a custom MarchingCubes algorithm.

Hope this helps you a bit, and since it is on the forum it might help others too :slight_smile:

Best wishes,

Andrei Nejur

(Benzmclaren) #9

Wow, this forum didn’t inform me of your answer…I even thought this post was closed…XD…

Great and fast reply…I’m so happy to hear that there’re constant wonderful improvements of your workflow in the future. Once your whole workflow is PERFECTED, it will certainly show us the power of digital manufacturing. But before that, it’s really limited. Hope your plug-in become the best! XD

BTW, I’d like to ask you whether this plug-in is an open source software?