Здравствуйте, коллеги!
Я только начинаю осваивать программирование на Python для AutoCAD.
Помогите, пожалуйста, со следующим вопросом.
Пытаюсь успользовать метод AutoCAD.Application.ActiveDocument.Utility.GetEntity().
Ни как не могу пользоваться им в IronPython.
Получилось только при использовании чистого питона с pywin32.
Правда, если пользователь ничего не выбирает, то всеравно получается ошибка.
- >>> import win32com.client 
- >>> app = win32com.client.Dispatch("AutoCAD.Application") 
- >>> a = app.ActiveDocument.Utility.GetEntity(None, None, "Select object.") 
-   
- Traceback (most recent call last): 
-   File "<pyshell#4>", line 1, in <module> 
-     a = app.ActiveDocument.Utility.GetEntity(None, None, "Select object.") 
-   File "<COMObject <unknown>>", line 3, in GetEntity 
-   File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 287, in _ApplyTypes_ 
-     result = self._oleobj_.InvokeTypes(*(dispid, LCID, wFlags, retType, argTypes) + args) 
- com_error: (-2147352567, '\xce\xf8\xe8\xe1\xea\xe0.', (0, None, None, None, 0, -2147352567), None) 
Хотелось бы программировать на IronPython, поскольку им я пользуюсь для Revit.
В документации сказано, что GetEntity принимает три параметра: объект (как я понимаю, класса AcadObject, массив и строку.)
Как сформировать объект для передачи в метод???
При попытке создать объект "руками" появляется сообщение, что это не возможно т.к. класс AcadObject абстрактный класс. Что это такое я пока не понимаю. Может быть есть метод, который формирует такой объект?
Заранее благодарю за ответы,
Георгий