2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

BlenderでSVGを読み込み、メッシュ化する方法

Posted at

詰まって、4時間ぐらい吹き飛ばされたため、個人用メモ。

したいこと

BlenderでSVGを読み込み、メッシュ化する。すると、煮るなり焼くなり押し出しするなり、出来るようになるので例えば、SVGファイルをドラッグアンドドロップするだけで、マグネットのSTLファイルを吐き出すプログラムなどを作れる。

ちょっとググって見る

ぴったりなページ、あるじゃないの!と思い、やってみました。

しかし、そう簡単には行かないのが世の常。エラーが出てしまいました。つまり、出来ないよ、と言っているわけです。類似サイトにあるサンプルコードも見て回りましたが、どれを行ったとしても。やはり同じエラーが出てしまう......。大変困りました。

RuntimeError: Operator bpy.ops.object.convert.poll() failed, context is incorrect

解決策

このページを見つけるのに、3時間以上の時間を費やしていました。

簡単に言うと、単にselectするだけでなく、アクティブオブジェクトにしてやらないといけない、ということですね。ということで、以下のコードで想定通り動きました。

toMesh.py
bpy.ops.import_curve.svg(filepath=r"D:\test.svg")
bpy.ops.object.select_all(action='SELECT') //selectする
name=bpy.context.selected_objects[0].name
bpy.context.view_layer.objects.active = bpy.data.objects[name] //アクティブにする
bpy.ops.object.convert(target='MESH')

もっといい方法があれば教えてください。
以上。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?