﻿<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wiki.blender.jp/index.php?action=history&amp;feed=atom&amp;title=%E5%88%A9%E7%94%A8%E8%80%85%3ATestscreenings%2Fdev_addons%2Faddon_framework</id>
	<title>利用者:Testscreenings/dev addons/addon framework - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.blender.jp/index.php?action=history&amp;feed=atom&amp;title=%E5%88%A9%E7%94%A8%E8%80%85%3ATestscreenings%2Fdev_addons%2Faddon_framework"/>
	<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Testscreenings/dev_addons/addon_framework&amp;action=history"/>
	<updated>2026-05-04T11:49:35Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Testscreenings/dev_addons/addon_framework&amp;diff=101235&amp;oldid=prev</id>
		<title>Yamyam: 1版 をインポートしました</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Testscreenings/dev_addons/addon_framework&amp;diff=101235&amp;oldid=prev"/>
		<updated>2018-06-28T19:40:07Z</updated>

		<summary type="html">&lt;p&gt;1版 をインポートしました&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ja&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← 古い版&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;2018年6月28日 (木) 19:40時点における版&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;ja&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(相違点なし)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Yamyam</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Testscreenings/dev_addons/addon_framework&amp;diff=101234&amp;oldid=prev</id>
		<title>wiki&gt;Testscreenings: /* Add Mesh Addon Template */</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Testscreenings/dev_addons/addon_framework&amp;diff=101234&amp;oldid=prev"/>
		<updated>2010-12-22T17:53:47Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Add Mesh Addon Template&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[User:Testscreenings/dev_addons|up]]&lt;br /&gt;
&lt;br /&gt;
== Addons Framework ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Add Object Utils ===&lt;br /&gt;
At the moment the add_utils.py in /addons/modules is more or less a direct copy of add_object_utils.py in /scripts/modules. I did this so i can edit it (don't have access to bf-blender svn).&lt;br /&gt;
&lt;br /&gt;
The two main Objects are the AddObjectHelper class and the add_object_data function.&lt;br /&gt;
The AddObjectHelper class adds mandatory location and rotation RNA properties to the oparator.&lt;br /&gt;
add_object_data adds the Object into the scene according to user preferences. This function lets us remove lots of duplicated code in the various add_addons.&lt;br /&gt;
&lt;br /&gt;
==== Add Mesh Addon Template ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
bl_addon_info = {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;New Object&amp;quot;,&lt;br /&gt;
    &amp;quot;author&amp;quot;: &amp;quot;YourNameHere&amp;quot;,&lt;br /&gt;
    &amp;quot;version&amp;quot;: (1, 0),&lt;br /&gt;
    &amp;quot;blender&amp;quot;: (2, 5, 5),&lt;br /&gt;
    &amp;quot;api&amp;quot;: 33333,&lt;br /&gt;
    &amp;quot;location&amp;quot;: &amp;quot;View3D &amp;gt; Add &amp;gt; Mesh &amp;gt; New Object&amp;quot;,&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;Adds a new Mesh Object&amp;quot;,&lt;br /&gt;
    &amp;quot;warning&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;wiki_url&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;tracker_url&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;category&amp;quot;: &amp;quot;Add Mesh&amp;quot;}&lt;br /&gt;
 &lt;br /&gt;
import bpy&lt;br /&gt;
from bpy.props import * #FloatVectorProperty&lt;br /&gt;
from add_utils import AddObjectHelper, add_object_data&lt;br /&gt;
#import mathutils&lt;br /&gt;
from mathutils import Vector&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
def add_object(self, context):&lt;br /&gt;
    scale_x = self.scale.x&lt;br /&gt;
    scale_y = self.scale.y&lt;br /&gt;
    &lt;br /&gt;
    verts = [Vector((-1 * scale_x,  1 * scale_y, 0)),&lt;br /&gt;
             Vector(( 1 * scale_x,  1 * scale_y, 0)),&lt;br /&gt;
             Vector(( 1 * scale_x, -1 * scale_y, 0)),&lt;br /&gt;
             Vector((-1 * scale_x, -1 * scale_y, 0)),]&lt;br /&gt;
    edges = []&lt;br /&gt;
    faces = [[0,1,2,3]]&lt;br /&gt;
 &lt;br /&gt;
    mesh_data = bpy.data.meshes.new(name='New Object Mesh')&lt;br /&gt;
    mesh_data.from_pydata(verts, edges, faces)&lt;br /&gt;
    add_object_data(context, mesh_data, operator=self)&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
class OBJECT_OT_add_object(bpy.types.Operator, AddObjectHelper):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Add a Mesh Object&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    bl_idname = &amp;quot;mesh.add_object&amp;quot;&lt;br /&gt;
    bl_label = &amp;quot;Add Mesh Object&amp;quot;&lt;br /&gt;
    bl_description = &amp;quot;Create a new Mesh Object&amp;quot;&lt;br /&gt;
    bl_options = {'REGISTER', 'UNDO'}&lt;br /&gt;
    &lt;br /&gt;
    scale = FloatVectorProperty(name='scale',&lt;br /&gt;
                                default=(1,1,1),&lt;br /&gt;
                                subtype='TRANSLATION',&lt;br /&gt;
                                description='scaling')&lt;br /&gt;
 &lt;br /&gt;
    def execute(self, context):&lt;br /&gt;
 &lt;br /&gt;
        add_object(self, context)&lt;br /&gt;
 &lt;br /&gt;
        return {'FINISHED'}&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
#### REGISTER ####&lt;br /&gt;
def add_object_button(self, context):&lt;br /&gt;
    self.layout.operator(OBJECT_OT_add_object.bl_idname, text=&amp;quot;Add Object&amp;quot;, icon=&amp;quot;PLUGIN&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
def register():&lt;br /&gt;
    bpy.types.INFO_MT_mesh_add.append(add_object_button)&lt;br /&gt;
def unregister():&lt;br /&gt;
    bpy.types.INFO_MT_mesh_add.remove(add_object_button)&lt;br /&gt;
 &lt;br /&gt;
if __name__ == '__main__':&lt;br /&gt;
    register()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== IO Utils ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Animation Utils ===&lt;/div&gt;</summary>
		<author><name>wiki&gt;Testscreenings</name></author>
		
	</entry>
</feed>