Agisoft Metashape

Agisoft Metashape => Other Languages => Topic started by: lelic on August 24, 2017, 09:06:53 AM

Title: PythonScript - Как получить координаты Shape
Post by: lelic on August 24, 2017, 09:06:53 AM
Добрый день.

Хотел получить получить координаты фигуры, поскольку я начинающий программист на Python, что то идет не так.
При попытке получить название Shape выдает ошибку

Code: [Select]
import PhotoScan
doc = PhotoScan.app.document
ss = doc.chunk.shapes
for sp in ss:
   print(sp.label)
   #for ver in sp.vertices:

Консоль
Code: [Select]
AttributeError: 'PhotoScan.Shape' object has no attribute 'label'
Где я что упустил помогите пожалуйста.
Версия программы 1.2.5 (2680)
Title: Re: PythonScript - Как получить координаты Shape
Post by: Alexey Pasumansky on August 24, 2017, 10:21:00 AM
Здравствуйте,

в версии 1.3.3 Ваш код будет работать. Возможно, в старой версии не было доступа к названиям шейпов через Python.

Координаты Вы можете получить следующим образом:

Code: [Select]
for ver in sp.vertices:
print(ver)
Каждая вершина - это двух- или трёх-компонентный вектор, в зависимости от того, если ли высота для вершин или нет (sp.has_z == True).
Title: Re: PythonScript - Как получить координаты Shape
Post by: lelic on August 24, 2017, 11:12:38 AM
В качестве справочника я использую photoscan_python_api_1_2_5.pdf для версии программы 1.2.5

Code: [Select]
import PhotoScan
doc = PhotoScan.app.document
ss = doc.chunk.shapes

for sp in ss:
#print(sp.label)
for ver in sp.vertices:
print(ver)

Но этот код тоже выдает ошибку
Code: [Select]
AttributeError: 'PhotoScan.Shape' object has no attribute 'vertices'Почти использование всех атрибутов выдает эту " object has no attribute"

Может я неправильно выбираю шейпы?
Title: Re: PythonScript - Как получить координаты Shape
Post by: Alexey Pasumansky on August 24, 2017, 11:54:04 AM
Только что проверил на финальном релизе версии 1.2 (1.2.6) - данный код отработал корректно, включая и доступ к названию  шейпов.
Title: Re: PythonScript - Как получить координаты Shape
Post by: lelic on August 24, 2017, 12:14:01 PM
Спасибо Алексей!

Так я понял на версии 1.2.5 эти атрибуты еще не реализованы, если даже реализованы они сырые.
Ну чтож, будем пробовать на новых версиях.