Blender 3D Add-on Script loading failed.

I made add-on script.
However loading fail in blender UI.
Error message is ‘_RestrictContext’ object has no attribute ‘scene’ .
But this script is very well run in blender of Text Editor.
Why don’t load this add-on?
Please answer to me.
Thank you.
Script code is :


bl_info = {
“name”: “Add Cube”,
“author”: “fh”,
“version”: (1, 0),
“blender”: (2, 68, 0),
“location”: “View3D > Tool Shelf > Text make”,
“description”: “Adds a new Mesh Object”,
“warning”: “”,
“wiki_url”: “”,
“tracker_url”: “http…”,
“category”: “Object”}

import bpy
from bpy.props import *

Store properties in the active scene

def initSceneProperties(scn):
bpy.types.Scene.MyInt = IntProperty(
name = “Integer”,
description = “Enter an integer”)
scn[‘MyInt’] = 17

bpy.types.Scene.MyFloat = FloatProperty(
    name = "Float", 
    description = "Enter a float",
    default = 33.33,
    min = -100,
    max = 100)

bpy.types.Scene.MyBool = BoolProperty(
    name = "Boolean", 
    description = "True or False?")
scn['MyBool'] = True

bpy.types.Scene.MyEnum = EnumProperty(
    items = [('Eine', 'Un', 'One'), 
             ('Zwei', 'Deux', 'Two'),
             ('Drei', 'Trois', 'Three')],
    name = "Ziffer")
scn['MyEnum'] = 2

bpy.types.Scene.MyString = StringProperty(
    name = "String2")
scn['MyString'] = "Lorem ipsum dolor sit amet"


Menu in UI region

class UIPanel(bpy.types.Panel):
bl_label = “Make Text”
bl_space_type = “VIEW_3D”
#bl_region_type = “UI”
bl_region_type = “TOOL_PROPS”

def draw(self, context):
    layout = self.layout
    scn = context.scene
    layout.prop(scn, 'MyInt', icon='BLENDER', toggle=True)
    layout.prop(scn, 'MyFloat')
    layout.prop(scn, 'MyBool')
    layout.prop(scn, 'MyEnum')
    layout.prop(scn, 'MyString')

The button prints the values of the properites in the console.

class OBJECT_OT_PrintPropsButton(bpy.types.Operator):
bl_idname = “idname_must.be_all_lowercase_and_contain_one_dot”
bl_label = “make”

def execute(self, context):

def printProp(label, key, scn):
val = scn[key]
val = ‘Undefined’
#print("%s %s" % (key, val))
return val

def register():
def unregister():

if name == “main”:

Please wrap your code in [noparse]

your code

[/noparse] tags

When addons start they have restricted contexts, there are numerous posts in this forum about that.

My suggestion is to replace all cases of

scn['MyInt'] = 17

with a default value in the property definition, like for the float 33.33

and then you can address them via


Thank you your reply. i was solved a this problem with oher halper. thank you.

Thank you your reply. i was solved a this problem with oher halper. thank you