# Shapes3d: Box Object: missing command setSize

**URL:** <https://discourse.processing.org/t/shapes3d-box-object-missing-command-setsize/49300>\
**Category:** Libraries\
**Created:** [September 1, 2026, 8:16pm UTC](https://discourse.processing.org/t/shapes3d-box-object-missing-command-setsize/49300 "2026-09-01T20:16:01Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Chrisir](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/chrisir/32/45_2.png) [@Chrisir](https://discourse.processing.org/u/Chrisir)\
**Post date:** [September 1, 2026, 8:16pm UTC](https://discourse.processing.org/t/shapes3d-box-object-missing-command-setsize/49300/1 "2026-09-01T20:16:01Z")

</div>

Dear all,

sorry, when this has been asked before.

Please jump to my _Edit_ parts below.

- **Box Object:**

In an OLD shapes3d lib by @quark :

```auto
Box Object: missing command setSize().

// OLD Help for setSize(float width, float height, float depth) boxBoard[iBox].setsize(80, 5, 80);

```

also Box Object: command draw() needs to be : `myBox.draw( getGraphics() );`

- **Also**

also this func gives a problem. It’s a new code for replacing the even older code for Toroid of the same lib :

classes Path and Oval not existing

```auto
Tube makeToroid(float ringX, float ringY,
int nbrSlices,
float crossX, float crossY,
int nbrSegs) {

// Create tube path (circular / elliptical)
Path path = new Ring(ringX, ringY, nbrSlices);

// Create torroid cross-section
Oval oval = new Oval(crossX, crossY, nbrSegs);

// Extrude oval round path to create torroid
Tube toroid = new Tube(path, oval);

return toroid;
}

```

- **Also**

this gives an error

```auto
Shape3D picked = Shape3D.pickShapeB(this, mouseX, mouseY);

```

func doesn’t exist

**Edit**

Apprently the imports need to be in an certain order for some of the issues above :

```auto
import shapes3d.*;
import shapes3d.contour.*;
import shapes3d.org.apache.commons.math.*;
import shapes3d.org.apache.commons.math.geometry.*;
import shapes3d.path.*;
import shapes3d.utils.*;

```

**Edited II :**

ok, this is what I got now

```auto
    // by Quark: http://www.lagers.org.uk/s3d4p/index.html
    Picked picked = Shape3D.pick ( this, getGraphics(), mouseX, mouseY );

    if (picked != null) {
      done = true;
      MakeHumanMove ( picked.part );
    }

```

But he doesn’t get the right picked.`part` !!!

Before `part` I had `tagNo`

in combination with an init routine saying

`boxBoard[iBox].tagNo = iBox;`

I wanted to say

`boxBoard[iBox].part = iBox; // part was tagNo before`

but it’s not allowed

How can I fix these issues?

Thank you all !

Warm regards,

Chrisir

---

<div class="post-metadata">

**Author:** ![quark](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/quark/32/26_2.png) [@quark](https://discourse.processing.org/u/quark)\
**Post date:** [September 1, 2026, 10:41pm UTC](https://discourse.processing.org/t/shapes3d-box-object-missing-command-setsize/49300/2 "2026-09-01T22:41:16Z")

</div>

Hi @Chrisir good to know someone is still using Shapes3D as it was first released 17 years ago and the latest version V3.0 was 6 years ago. It has been so long since I used it I thought I better try it out in Processing 4.5.6 and I am pleased to say all the library examples worked just fine: 😃

> [@Chrisir](#):
>
> In an OLD shapes3d lib

Which version are we talking about? Version 3 was a complete redesign / rewrite of the library which will make it difficult to convert sketches using V2

> [@Chrisir](#):
>
> `Shape3D picked = Shape3D.pickShapeB(this, mouseX, mouseY);`

There is no such method called `pickShapeB` in the library hence the error message.

The import order should not make a difference but the order you report is the one used by Processing when adding the library to a sketch.

As regard to the torroid code I assume you it is the same code I posted in this [discussion](https://discourse.processing.org/t/shapes3d-toroid-class-is-missing-new-version-of-library/42862/2)

I just copied the code into 4.5.6 and it worked fine for me.

If you are having problems with picking then check out the library examples and if they work for you it must be something in your code.

Let me know how you get on. 😀

`setSize` is not a method in V3 must have been in an earlier version.

Regards  
quark
