ezdxf python mtext установить местоположение

У меня есть простой текст, который я хочу поместить в свой dxf, например:

mtext = msp.add_mtext("TEXT TEST", dxfattribs={'style': 'OpenSans'})

Я хочу вставить этот текст в позиции x=1 и y=1 в моем файле dxf.

Это то, что я пробовал:

mtext.dxf.insert([1,1,0])

Но я получаю сообщение об ошибке:

mtext.dxf.insert([1,1,0])
TypeError: 'Vector' object is not callable

Любая помощь в решении этого приветствуется.

Изменить:

При работе с однострочным текстом, например:

mtext = msp.add_text("TEXT TEST").set_pos((1, 2),align='MIDDLE_RIGHT')

Все работает нормально, но мне все еще нужно написать многострочный текст.


person user2727167    schedule 15.08.2020    source источник


Ответы (1)


Все атрибуты DXF внутри пространства имен MText.dxf действуют как обычные атрибуты объекта, в этом случае настройка атрибута MText.dxf.insert выглядит следующим образом:

mtext.dxf.insert = (1, 1, 0)

Расширенный метод размещения называется MText.set_location():

mtext.set_location(insert=(1, 1, 0), rotation=0, attachment_point=1)

Для получения дополнительной информации см. документацию или руководство по MTEXT.

person mozman    schedule 16.08.2020