Python: Kopyalanan Nesne Anahatta Gösterilmiyor

Aug 22 2020

bpy.context.active_object.copy()Yeni nesneyi kullanarak bir nesneyi kopyaladığımda , Python kabuğunda nesneler oluşturduğumda görünmesine rağmen Anahatta görünmüyor list().

Sorular:

  1. Nesnenin Anahatta gösterilmesini sağlamak için ikinci bir adım var mı ?
  2. Ya da belki sadece nesnenin verilerini kopyalamaktır? (Eğer öyleyse, ne amaçla?)
  3. Tamamlayıcı işlevler yok mu, yani: paste () ve / veya cut ()? (Komut satırı tamamlama hiçbir şey vermez.)

Not: bpy.ops.object.duplicate()Bir kopyasını oluşturur mu gösterilmesini Outliner bu soruları çoğaltmak / çalışan bir kopyasını yapmak hakkında değildir, bu yüzden. Amacını anlamak istiyorum copy().

Yanıtlar

5 batFINGER Aug 22 2020 at 20:57

Bir koleksiyona bağlayın

2.8'den önce, kopyalanan bir nesnenin sahnenin nesne koleksiyonuna bağlanması gerekiyordu. 2.8+ için bir koleksiyona bağlayın.

Koleksiyon bir sahneyle bağlantılı olduğunda veya temel sahne koleksiyonu olduğunda, ana hatta gösterilecektir.

Yinelenen operatör, kopyayı bağlam koleksiyonuna bağlar.

import bpy
from bpy import context


ob = context.object.copy()
context.collection.objects.link(ob)

2.8'de python ile yeni nesneyi sahneye bağlayın