Я пишу программу Python3 для работы с AutoCAD. Я использую pyautocad и comtypes.Как я могу получить конкретный интерфейс объекта Acad с comtypes (Python)
Я могу взять любой объект на чертеж и получить его лучший интерфейс. Например, я могу взорваться некоторыми блок ссылок и работать с новыми объектами AutoCAD создает:
for NewItem in BlockReference.Explode():
# NewItem is unusable unknown object here
NewItem = comtypes.client.GetBestInterface(NewItem)
# Now NewItem is what it is in Acad (text, line or so on)
if NewItem.ObjectName == 'AcDbMText':
....
метод GetBestInterface идеально подходит, если я хочу, чтобы получить «лучший» интерфейс, который поддерживает методы, необходимые для выполнения итерации с ним, как с конкретным объектом Acad (например, AcDbMText). Но если я хочу, например, взорвать MText или Dimension, мне нужны методы AcDbEntity.
Итак, может кто угодно, пожалуйста, посоветуйте мне, как я могу получить не «лучший», а необходимый интерфейс объекта ?. И, как идеальный, список интерфейсов, которые он поддерживает.
Добро пожаловать. Вы должны принять ответ, чтобы другие, которые наткнулись на ваш вопрос, знали, что решение работает. И потому, что я получаю очки за это;) –