INTERPOLATE CHAMFER (chamfer like work of the smooth)

Namely, chamfer, which would work like this, as I have shown in this GIF

interpolate_chamfer

MacroScript int_Chamfer
ButtonText:"int_Chamfer"
Category:"temp" 
Tooltip:"int_Chamfer" 
(
	On IsEnabled Return Filters.Is_EPoly()
	On IsVisible Return Filters.Is_EPoly()
	On IsChecked Do (
		try (
			local A = Filters.GetModOrObj()
			(Filters.Is_This_EditPolyMod A) and (A.GetCommandMode()==#ChamferEdge)
		)
		catch ( false )
	)
	On Execute Do (
		Try (
			If SubObjectLevel == undefined then Max Modify Mode
			if subobjectLevel < 2 then subobjectLevel = 2
			if subobjectLevel > 3 then subobjectLevel = 2
			local A = Filters.GetModOrObj()
			)
 
	)
 
	On AltExecute type do (
		Try (
			If SubObjectLevel == undefined then Max Modify Mode
			if subobjectLevel < 2 then subobjectLevel = 2
			if subobjectLevel > 3 then subobjectLevel = 2
			local A = Filters.GetModOrObj()
		)
 
	)
)
AttachmentSize
interpolate_chamfer.gif141.26 KB

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
airbrush's picture

>> MAXScript MacroScript

>> MAXScript MacroScript Error Exception:
-- Compile error: Nested macroScript definitions are not permitted
-- In line: MacroScript i <<

barigazy's picture

...

That's why I hate macros :)

barigazy

airbrush's picture

script gives and error for

script gives and error for me

--Syntax error: at),expected catch
-- In Line: )

miauu's picture

.

The script do nothing, but...

MacroScript int_Chamfer
ButtonText:"int_Chamfer"
Category:"temp" 
Tooltip:"int_Chamfer" 
(
	On IsEnabled Return Filters.Is_EPoly()
	On IsVisible Return Filters.Is_EPoly()
	On IsChecked Do (
		try (
			local A = Filters.GetModOrObj()
			(Filters.Is_This_EditPolyMod A) and (A.GetCommandMode()==#ChamferEdge)
		)
		catch ( false )
	)
	On Execute Do (
		Try (
			If SubObjectLevel == undefined then Max Modify Mode
			if subobjectLevel < 2 then subobjectLevel = 2
			if subobjectLevel > 3 then subobjectLevel = 2
			local A = Filters.GetModOrObj()
			)catch()
 
	)
 
	On AltExecute type do (
		Try (
			If SubObjectLevel == undefined then Max Modify Mode
			if subobjectLevel < 2 then subobjectLevel = 2
			if subobjectLevel > 3 then subobjectLevel = 2
			local A = Filters.GetModOrObj()
		)catch()
 
	)
)
airbrush's picture

doesn't do anything for

doesn't do anything for me...??

Nik's picture

Well, thank you very much for your response. Respect and thanks!

Well, thank you very much for your response. Respect and thanks!

barigazy's picture

...

Maybe one sunny day max will have integrated feathure like upcoming C4D R15.
I have to admit it's very powerful modelling tool, look theses videos
http://www.youtube.com/watch?v=x5G_EMc0M6Q
http://www.youtube.com/watch?v=6y0Z8hFjgBI

barigazy

barigazy's picture

That is not easy task. If you

That is not easy task. If you want to achive best chamfering u can buy this modifier
http://www.mariussilaghi.com/products/quad-chamfer-modifier

barigazy

Nik's picture

It looks like higher

It looks like higher mathematics needed to describe the logic of it? :)

barigazy's picture

Exactly :)

Exactly :)

barigazy

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.