本日はBlender枠です。
今回は独自のBlenderツールを作成するうえで必要な、ボタンを押すことでドキュメントなどの指定したURLのウェブブラウザを開く機能を実装します。
〇webbrowser
webbrowserはPythonの標準ライブラリに含まれているモジュールです。
Webブラウザを制御するための便利な機能を提供しています。
今回はwebbrouwerをインポートして処理を記述します。
import webbrowser
使い方は簡単で、open("URL")を呼び出すことでウェブブラウザが開きます。
webbrowser.open(url)
これをBlenderに合わせてオペレータを定義すると次のようになります。
class OpenURLOperator(bpy.types.Operator):
bl_idname = "wm.open_url"
bl_label = "Open URL"
def execute(self, context):
url = context.scene.url_to_open
webbrowser.open(url)
return {'FINISHED'}
今回はurlを任意に指定できるようにしています。
〇コード全文
import bpy
import webbrowser
class OpenURLOperator(bpy.types.Operator):
bl_idname = "wm.open_url"
bl_label = "Open URL"
def execute(self, context):
url = context.scene.url_to_open
webbrowser.open(url)
return {'FINISHED'}
class URLPanel(bpy.types.Panel):
bl_label = "Open URL Panel"
bl_idname = "PT_URLPanel"
bl_space_type = 'VIEW_3D'
bl_region_type = 'UI'
bl_category = 'Tools'
def draw(self, context):
layout = self.layout
layout.operator("wm.open_url")
layout.prop(context.scene, "url_to_open")
def register():
bpy.utils.register_class(OpenURLOperator)
bpy.utils.register_class(URLPanel)
bpy.types.Scene.url_to_open = bpy.props.StringProperty(default="https://www.example.com")
def unregister():
bpy.utils.unregister_class(OpenURLOperator)
bpy.utils.unregister_class(URLPanel)
del bpy.types.Scene.url_to_open
if __name__ == "__main__":
register()
こちらのコードを実行するとBlenderの3DView画面にToolという名前でタブが現れます。
中身は任意のurlを指定するテキストフィールドがあり、任意のウェブサイトのURLを指定し、OpenURLボタンを押すことでウェブサイトが開きます。

本日は以上です。