Показывать метки точек рядом с ними в 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]))