|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
05.09.2008, 22:06 | #1 | |
PyAcad.Net - Iron Python для программирования в Автокаде
Регистрация: 05.09.2008
Сообщений: 24
|
||
Просмотров: 9631
|
|
||||
Регистрация: 05.09.2008
Сообщений: 24
|
Вот как можно с помощью СОМ поместить все примитивы во всех блоках текущего чертежеа на 0 слой и назначить им цвет и толщину линии "по блоку".
Код:
tlbimp.exe /out:"C:\AutoCAD.dll" "c:\Program Files\Common Files\Autodesk Shared\acax17enu.tlb" tlbimp.exe - часть ".NET Framework 2.0 Software Development Kit (SDK)", который вы можете загрузить с сайта МС |
|||
|
||||
Регистрация: 05.09.2008
Сообщений: 24
|
Прилагаю NET.сборки для версий авткада с 2006 по 2009.
1. Запускаете команду _.netload 2. В этой папке выбираете файл PyAcadDotNet0X.dll, где X – год, соответствующий вашему AutoCAD. 3. Запускаете команду pyfile 4. В диалоге выбираете файл скрипта из папки «примеры» 5. Наслаждаетесь результатом примечание: если у вас автокад 2007-2009 скрипт можно запускать через Lisp следующим образом (runpyfile "полный путь к файлу скрипта") Файлы скриптов можно редактировать в бесплатном редакторе Notepad++ (http://notepad-plus.sourceforge.net/ru/site.htm), который обеспечивает подцветку синтаксиса. Обязательно поставьте опцию отображения пробельных символов, так отступы в Python отделяют друг от друга блоки кода. Пока не существует нормального редактора форм для IronPython. SharpDevelop c PythonBindings не в счет - сыроват. LISP Можно получать передавать и получать значения от IronPython следующим образом: (runpyfile "полный путь к файлу скрипта" аргумент1 аргумент2 ...) Примеры таких скриптов лежат в папке «примеры» (lisptest.py, lisptest2.py) COM Тем, кто программировал Автокад через COM, используя VBA или Delphi, могут делать то же самое и на IronPython: У NET.api класса Application есть свойство AcadApplication, которое является корнем COM-модел Автокада. from Autodesk.AutoCAD.ApplicationServices import Application app = Application.AcadApplication doc = app.ActiveDocument print doc.FullName ссылку на объект AcadDocument можно получить и следующим образом: doc = Application.DocumentManager.MdiActiveDocument.AcadDocument Сборки для взаимодействия с COM : AutoCAD.COM.R16.dll (для 2006) AutoCAD.COM.R17.dll (для 2007-2009) Прямо ссылаться на них не нужно, но их наличие необходимо. Для применения COM модели нужно знать содержимое сборки. Содержимое сборок можно посмотреть с помощью NetReflector, который бесплатен и доступен для скачивания в интернете. Можно ориентироваться на VBA-справку в справочной системе Автокада. ObjectARX.NET API Скачивайте ObjectARX SDK c сайта Autodesk для своей версии Автокада. Там есть примеры для NET. Ограничения: Оператор print выдает вместо киррилицы кракозябры ???? ??? . Приходится пользоваться Editor.WriteMessage Файлы скриптов должны быть в формате UTF8 для корректного отображения киррилицы в командной строке при использовании оператора print. (Так как исходный файл PyAcadDotNet прилагается, может кто-нибудь это исправит) Нельзя работать с реакторами ни через COM, ни через NET. Нельзя наследовать от arx.net классов. |
|||
|
||||
Регистрация: 07.12.2007
Брест
Сообщений: 243
|
Посмотри на http://through-the-interface.typepad.com/ относительно программирования под АКАД (там в основном про .NET, но и про IronPython было)
__________________
http://dwg.ru/dnl/5763 |
|||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ищу пример расчета инсоляции | FINE | Поиск литературы, чертежей, моделей и прочих материалов | 266 | 25.10.2017 18:54 |
Сейсмозащита и сейсмоизоляция существующих, построенных зд. | IANationalInformAgentstvo | Прочее. Архитектура и строительство | 216 | 20.01.2015 16:51 |
Предложения по расчетным моделям сооружений | aldt | Расчетные программы | 8 | 06.07.2009 17:53 |
Мониторы LCD CRT | Разное | 94 | 17.06.2008 10:51 | |
БРЕД СИВОЙ КОБЫЛЫ | Kryaker | Разное | 1876 | 29.12.2006 23:41 |