# HE\_Mesh GUI update

**URL:** https://discourse.processing.org/t/he-mesh-gui-update/180
**Category:** Gallery
**Created:** [May 20, 2018, 10:30pm UTC](https://discourse.processing.org/t/he-mesh-gui-update/180 "2018-05-20T22:30:55Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![struct](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/struct/32/106_2.png) [@struct](https://discourse.processing.org/u/struct)
#### Post date: [May 20, 2018, 10:30pm UTC](https://discourse.processing.org/t/he-mesh-gui-update/180/1 "2018-05-20T22:30:55Z")

</div>

Just letting you know that I have resurrected the hemeshgui project to run on the latest versions of Processing, HE\_Mesh, and controlP5. I’ll try and actively maintain it, so if you have any feature requests/bug reports let me know!

I’ve added some new creators and modifiers, tidied up the UI a bit, and made a couple of improvements. It’s still early days, so watch this space!

If you’re new to Processing and 3D this is a great way to learn all the ins and outs of creating and modifying unique and interesting shapes.

> **[struct78/hemeshgui](https://github.com/struct78/hemeshgui)**
>
> A new and improved version of the visual tool for the wonderful HE\_Mesh library - struct78/hemeshgui

---

<div class="post-metadata">

### Author: ![hamoid](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/hamoid/32/58_2.png) [@hamoid](https://discourse.processing.org/u/hamoid)
#### Post date: [May 21, 2018, 11:27am UTC](https://discourse.processing.org/t/he-mesh-gui-update/180/2 "2018-05-21T11:27:41Z")

</div>

Sounds great! It would be cool to see screenshots in the GitHub page to know what to expect because the `code.google` link in the GitHub page is broken and the `creativeapplications` one is only for members.

I got a bit confused with who is who because HE\_Mesh is by [wblut](https://github.com/wblut/HE_Mesh) and controlp5 by [sojamo](https://github.com/sojamo/controlp5), how are [AmnonOwed](https://github.com/AmnonOwed?tab=repositories) and [struct78](https://github.com/struct78?tab=repositories) connected to the hemeshgui? Just curious 🙂

---

<div class="post-metadata">

### Author: ![jeremydouglass](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/jeremydouglass/32/20_2.png) [@jeremydouglass](https://discourse.processing.org/u/jeremydouglass)
#### Post date: [May 21, 2018, 6:16pm UTC](https://discourse.processing.org/t/he-mesh-gui-update/180/3 "2018-05-21T18:16:12Z")

</div>

🎉

Thank you for making your work available to the community!

@hamoid, I _think_ it works like this:

1. wblut made HE\_Mesh
2. sojamo made controlp5
3. AmnonOwed made a GUI, HemeshGui, which was built on HE\_Mesh and controlp5 ~2011.

Now @struct is announcing a fork / update of that GUI, “HE\_Mesh GUI” which incorporates the latest versions of HE\_Mesh and controlp5.

```
              2011
HE_Mesh --> HemeshGui <-- controlp5
   | | |
   | v |
    \-----> hemeshgui <------/
              2018
```

---

<div class="post-metadata">

### Author: ![struct](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/struct/32/106_2.png) [@struct](https://discourse.processing.org/u/struct)
#### Post date: [May 21, 2018, 11:05pm UTC](https://discourse.processing.org/t/he-mesh-gui-update/180/4 "2018-05-21T23:05:15Z")

</div>

Thanks for your feedback @hamoid. @jeremydouglass is right, it was started by AmnonOwed, picked up by [https://bitbucket.org/StudioEtrange/hemeshgui](https://bitbucket.org/StudioEtrange/hemeshgui) in 2014, and then picked up by me.

I’ve just added some images to the README so you can see what it looks like with some basic shapes, will add more over time.

---

<div class="post-metadata">

### Author: ![jeremydouglass](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/jeremydouglass/32/20_2.png) [@jeremydouglass](https://discourse.processing.org/u/jeremydouglass)
#### Post date: [June 4, 2018, 2:57am UTC](https://discourse.processing.org/t/he-mesh-gui-update/180/5 "2018-06-04T02:57:47Z")

</div>

You should think about making this available through the Processing PDE Contributions Manager!

---

<div class="post-metadata">

### Author: ![struct](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/struct/32/106_2.png) [@struct](https://discourse.processing.org/u/struct)
#### Post date: [June 19, 2018, 11:01pm UTC](https://discourse.processing.org/t/he-mesh-gui-update/180/6 "2018-06-19T23:01:44Z")

</div>

Version 0.5 has just been released!

Updates include:

- Moved UI to grid-based layout
- Code refactoring to make adding shapes/modifiers easier
- Disabled unused parameter sliders for Shapes
- Removed unused parameter sliders for Modifiers
- Added Voronoi Cells and "UV Parametric shapes
- Added Noise and Spherical Inversion modifiers
- Added DooSabin subdivider
- Added Ambient Occlusion shader
- Added UI themes
- Made non-blocking UI
- Added multithreaded rendering

 ![26%20pm](https://canada1.discourse-cdn.com/flex036/uploads/processingfoundation1/original/1X/cae9de441a16e536d604c949583abd8f7d6c99c4.jpg)

---

<div class="post-metadata">

### Author: ![struct](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/struct/32/106_2.png) [@struct](https://discourse.processing.org/u/struct)
#### Post date: [July 17, 2018, 10:23pm UTC](https://discourse.processing.org/t/he-mesh-gui-update/180/7 "2018-07-17T22:23:37Z")

</div>

Version 0.6 has just been released!

Updates include:

- Custom shapes! Import any 3DS, OBJ, or Hemesh file.
- New Shapes: Sea Shell, Sweep Tube, and Twin ISO
- New Modifiers: Spherify, Shrink Wrap and Voronoi Cells
- Smoother animation
- Save/load all your workspace settings to JSON format, including custom shapes!
- Export to 3DS, OBJ, or Hemesh file formats
- Examples!
- Improved Sunflow rendering

 ![](https://canada1.discourse-cdn.com/flex036/uploads/processingfoundation1/original/1X/efb0bafe0aaf880fe8b1b9835563de6e493fc60c.png)

---

<div class="post-metadata">

### Author: ![vjjv](https://avatars.discourse-cdn.com/v4/letter/v/df705f/32.png) [@vjjv](https://discourse.processing.org/u/vjjv)
#### Post date: [July 19, 2018, 3:58am UTC](https://discourse.processing.org/t/he-mesh-gui-update/180/8 "2018-07-19T03:58:18Z")

</div>

Hello. Great work. Im working with a sweapTube. you know how i modify its values on the fly?

try this but it makes slow performance… think becouse its create a new Obj every frame…

```auto
import wblut.nurbs.*;
import wblut.hemesh.*;
import wblut.core.*;
import wblut.geom.*;
import wblut.processing.*;
import wblut.math.*;

WB_Render render;
WB_BSpline C;
WB_Point[] points;
HE_Mesh mesh;
HEC_SweepTube creator;

void setup() {
  size(1000, 1000, P3D);
  smooth(8);
  // Several WB_Curve classes are in development. HEC_SweepTube provides
  // a way of generating meshes from them.

  //Generate a BSpline
  points=new WB_Point[11];
  for (int i=0; i<11; i++) {
    points[i]=new WB_Point(5*(i-5)*(i-5), -200+40*i, random(100));
  }
  C=new WB_BSpline(points, 4);
  creator=new HEC_SweepTube();
  creator.setCurve(C);//curve should be a WB_BSpline
  creator.setSteps(40);
  creator.setFacets(8);
  creator.setCap(true, true); // Cap start, cap end?
}

void draw() {
  creator.setRadius(mouseX);
  mesh=new HE_Mesh(creator); 
  //HET_Diagnosis.validate(mesh);
  render=new WB_Render(this);
  background(55);
  directionalLight(255, 255, 255, 1, 1, -1);
  directionalLight(127, 127, 127, -1, -1, 1);
  translate(width/2, height/2);
  rotateY(mouseX*1.0f/width*TWO_PI);
  rotateX(mouseY*1.0f/height*TWO_PI);
  stroke(0);
  render.drawEdges(mesh);
  noStroke();
  render.drawFaces(mesh);
}

```

can you help me? thanksss

---

<div class="post-metadata">

### Author: ![Waboqueox](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/waboqueox/32/5643_2.png) [@Waboqueox](https://discourse.processing.org/u/Waboqueox)
#### Post date: [August 29, 2019, 7:14am UTC](https://discourse.processing.org/t/he-mesh-gui-update/180/9 "2019-08-29T07:14:51Z")

</div>

Hi, I’m pretty sorry for write here… 😅

I don’t have knowledge about how to import .3DS models, can someone make an example for processing 3? (3.5.3 is the version I’m using)

Just a simple

```auto
import hemeshlibrary.*;

PModel3DS a;

void setup(){
  size( displayWidth, displayHeight, P3D);
  a = load3Dmodel("myModel.3DS");
}

void draw(){
  model3D(a);
}

```

Sorry again for update the post, and thanks!

(If this is an error I can delete the post - notify me)
