def METHOD_NAME(self, obj):
    if self.props_changed_placement_only():
        obj.positionBySupport()
        self.props_changed_clear()
        return
    if (obj.FacesNumber >= 3) and (obj.Radius.Value > 0):
        import Part
        plm = obj.Placement
        angle = (math.pi * 2) / obj.FacesNumber
        if obj.DrawMode == 'inscribed':
            delta = obj.Radius.Value
        else:
            delta = obj.Radius.Value / math.cos(angle / 2.0)
        pts = [App.Vector(delta, 0, 0)]
        for i in range(obj.FacesNumber - 1):
            ang = (i + 1) * angle
            pts.append(App.Vector(delta * math.cos(ang),
                                  delta*math.sin(ang),
                                  0))
        pts.append(pts[0])
        shape = Part.makePolygon(pts)
        if "ChamferSize" in obj.PropertiesList:
            if obj.ChamferSize.Value != 0:
                w = DraftGeomUtils.filletWire(shape,obj.ChamferSize.Value,
                                              chamfer=True)
                if w:
                    shape = w
        if "FilletRadius" in obj.PropertiesList:
            if obj.FilletRadius.Value != 0:
                w = DraftGeomUtils.filletWire(shape,
                                              obj.FilletRadius.Value)
                if w:
                    shape = w
        if hasattr(obj,"MakeFace"):
            if obj.MakeFace:
                shape = Part.Face(shape)
        else:
            shape = Part.Face(shape)
        obj.Shape = shape
        if hasattr(obj, "Area") and hasattr(shape, "Area"):
            obj.Area = shape.Area
        obj.Placement = plm
    obj.positionBySupport()
    self.props_changed_clear()