Multiple individual chamfers problem

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 01/04/2012 at 02:27, xxxxxxxx wrote:

Take a square spline - 4 point

Its straightforward  to globally chamfer all four points
or apply the chamfer to a particular point (by selecting it and not others - user data boolean)

if chamfer_0_switch:  sel.Select(0) 
if chamfer_1_switch: sel.Select(1)
if chamfer_2_switch:  sel.Select(2) 
if chamfer_3_switch: sel.Select(3)

but - how do you apply different chamfer radii to individual points

currently using

bc.SetData(c4d.MDATA_SPLINE_CHAMFERRADIUS, chamfer0)    
        u.SendModelingCommand(c4d.ID_MODELING_SPLINE_CHAMFER_TOOL, [obj],
                 c4d.MODELINGCOMMANDMODE_POINTSELECTION, bc, doc,
                 c4d.MODELINGCOMMANDFLAGS_CREATEUNDO)

problem being - as soon as you apply the chamfer to a single point
the point count changes

tia

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 01/04/2012 at 02:49, xxxxxxxx wrote:

simply chamfer point by point ? as long as you are chamfering in ascending/descending point id order
you won't have any problems with your selection ids. each following selection id is n+1.

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 01/04/2012 at 03:03, xxxxxxxx wrote:

ie I need a point count dependent on chamfers selected

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 02/04/2012 at 01:41, xxxxxxxx wrote:

yes,

you could use a struct like approach. however you will have to make sure to chamfer in ascending
order with this approach.

class IDRad() :
    def __init__(self, id=None, radius=None) :
        self.id = id
        self.radius = radius
  
def main() :
    sel = []
    counter = 0
    
    sel.append(IDRad(0,5))
    sel.append(IDRad(5,2))
    sel.append(IDRad(10,4))
    
    for n in sel:
        ChamferStuff(n.id+counter,n.radius)
	counter +=1
  
def ChamferStuff(id,Radius) :
    #doesomething