Показывать метки точек рядом с ними в FreeCAD

Я хочу создать некоторые точки в FreeCAD, и их метки будут отображаться рядом с ними. Моя конечная цель - реализовать этот запрос, который я разместил в репозитории OpenFOAM.

Я попытался создать некоторые точки в черновом верстаке и пометить их:

App.newDocument("test")
Gui.activateWorkbench("DraftWorkbench")
import Draft

point00=Draft.makePoint(0.0,0.0,0.0)
point00.Label = "0"

point01=Draft.makePoint(1.0,0.0,0.0)
point01.Label = "1"

point03=Draft.makePoint(0.0,1.0,0.0)
point03.Label = "2"

Теперь отсюда, если я добавлю код удара:

a=App.ActiveDocument.addObject("App::AnnotationLabel","Annotation")
a.LabelText=["0"]

будет обозначен первый пункт:

введите описание изображения здесь

Как я могу сделать то же самое для всех точек, которые я создаю автоматически? Моя цель состоит в том, чтобы рядом с ними отображались метки. желательно иметь функцию, которая принимает x,y,z и метку и показывает точку автоматически с меткой рядом с ней.

1 ответ

Одним из временных решений является использование текста. если vertices это список кортежей (xi, yi, zi) затем:

for vertexNum, vertex in enumerate(vertices):
    p=Draft.makePoint(vertex[0],vertex[1],vertex[2])
    p.Label=str(vertexNum)
    Draft.makeText([str(vertexNum)],point=FreeCAD.Vector(vertex[0],vertex[1],vertex[2]))
Другие вопросы по тегам