Segment in box increase but no effect


#1

Hi

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
playAnimation()

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


#2

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.


#3

Thanks for the reply Denis

OK.

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


#4

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


#5

[/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?


#6

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.


#7

time to inject a bit of style with Hugo Boxx…

http://www.scriptspot.com/3ds-max/mcg/mcg-zoolinderrr

(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)


#8

Denis thank you to participate in this thread

Thanks for your detail explanation for such a question


#9

Wowwwwww

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


#10

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…