Python Blender math.trunc ()

1

iam пытается использовать math.trunc в Blender 2.49b Python

но я получаю эту ошибку

AttributeError: 'module' object has no attribute 'trunc'

Я также импортировал математику

его в строке

uv[i][0] = trunc(uv[i][0] * 100000) / 100000

я также попробовал его через int, например

uv[i][0] = int(uv[i][0] * 100000) / 100000

который дает мне ошибку

TypeError: объект "float" unsubscriptable

так как я должен урезать значение: (

Благодарю вас

Теги:
blender

2 ответа

1
Лучший ответ

Вторая ошибка, по-видимому, означает, что uv в вашем коде является объектом float, и вы пытаетесь его индексировать uv[i]. Попробуйте math.trunc(uv) и посмотрите. Также вы можете проверить, доступен ли trunc, выполнив hasattr(math,'trunc')

  • 0
    hasattr (math, 'trunc') возвращает false, и только trunc (...) выдает ошибку NameError: глобальное имя 'trunc' не определено
  • 0
    Питер, это означает, что у вашей математической библиотеки, которую Blender использует или вызывает Python, установленный в вашей системе, нет trunc . Просто используйте round(number,1) для ваших целей, которое округляет число до числа десятичных знаков, которое вы указываете во втором аргументе.
Показать ещё 4 комментария
1

Это может зависеть от того, что использует verson Python Blender (я думаю, это будет Python 2.5).

Попробуйте это в Blender:

import math
help(math)

Это приведет к сбою Blender, но вы сможете увидеть математику в библиотеке под FILE, и вы сможете прокрутить вниз, чтобы узнать, доступна ли функция trunc в версии Python используемый Блендером. Это может отсутствовать, что объясняет ошибку.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню