Segment in box increase but no effect



I would be grateful if anyone hs a solution leave a comment or reply for this maybe not so important but it is funny

When i increase the heightsegs of a box by max default spinner, it can’t be increased more than 200.

using maxscript and a simple code* $.heightsegs = 350 it works and max says that the object’s heightsegs =350* so we increased the segment more than 200 but the point is that in a practical example you notice that the heightsegs more than 200 has no effect on the mesh in viewport and even in the render time

here it is my try

Testobj = Box length:1 height:7175.5 width:1 length:30 wirecolor:[88,144,225]
Mymod1 = Bend bendangle:10000.0
Mymod2 = Bend bendangle:4.5 fromTo:on bendTo:.8 
Mymod2.gizmo.rotation = (eulerAngles 0 0 -150)

addmodifier testobj mymod2
addmodifier testobj mymod1

FS = float_script()
FS.addNode "Obj" testobj
FS.SetExpression "F"
testobj.heightsegs.controller = FS

TrashObj = Box length:.1 height:.1 width:.1 --- just to print the segment value
SclS = scale_script()
SclS.addNode "Obj" testobj
SclS.SetExpression "Print (Obj.heightsegs)
[1, 1, 1]"
TrashObj.scale.controller = SclS

animationrange = interval 0f 300f
viewport.activeViewport = 2

as you see after frame 200 max says the segment is increasing but has no effect either in viewport or in the render

---- I don’t know why forums put** on this thread if there is delete any** in the code section


built-in Box object has a limitation of 200 segments by dimension. So you can’t use this object if want to have more than 200. There is nothing you can do with it.


Thanks for the reply Denis


So, why when we say $.heightsegs = 300 then we print* $.heightsegs it shows 300.


this is how developers wrote the code. they show exactly what the property has, instead of what the property passes to the code.

as i said, it a code limitation… something like:

if the number of segments less than 1 use 1, if the number of segments greater than 200 use 200


[/quote][quote]this is how developers wrote the code. they show exactly what the property has, instead of what the property passes to the code

Does this mean :
actually when we say $.heightsegs = 300 the box has more than 200 but because the developers put limitation on the box or cylinder it can’t go further

If it is why they do that ? i mean is there any technical issue or they like to and …
is it because (* as i heard before ) they first made 3ds max then made Maxscript?


most of built-in geometry primitives were written more that 20 years ago. For example the BOX primitive is 1994

the code probably has never been touched since that time.
~500K (200x200x200) triangles was a huge number for that time, it took seconds to make this object.*

Maximum number of segments is hardcoded and limited by 200. If you want to increase the value go to*3ds Max … SDK\maxsdk\samples\objects\boxobj.cpp, change the limit, and recompile the project.


time to inject a bit of style with Hugo Boxx…

(on the left is the Max std box of 200 segs, on the right is the MCG one…all white out cuz of the lines)


Denis thank you to participate in this thread

Thanks for your detail explanation for such a question



Vu thank you for such a tool and thank you very much for sharing that.

For me i don’t think i have a chance with SDK but i really like to try my chance With MCG.

I hope this doesn’t mean asking too much, You were so kind to share that
much MCG tools in scriptspot Please be kind enough and make a MCG thread
here in CgTalk.

For the same question one made a post in autodesk* but me were lucky to made post here in CGTAlk,
now i f’ve found the problem and the solution as wel l.

Thanks both of you for your attention

Time to install Max 2017


think there is one…but it never took off…as there is a FB page…

You can always start a question here…I’ll try to answer when I drop by taking a break form Houdini now and then…