|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Цитата:
А родителей у него масса и масса переопределенных методов. |
||||
|
||||
Регистрация: 11.10.2010
Сообщений: 980
|
В чертеже имеются объекты СПДС GraphiCS с именами типа "spdsNotePosition". Лиспом выбрать только такие объекты невозможно в принципе. Попробовал через .NET примерно таким вариантом:
Код:
__________________
(/= RegDate StartReadDate) |
|||
|
||||
Инженер Регистрация: 02.10.2008
С-Пб
Сообщений: 3,686
|
Цитата:
Посмотри вот это..
__________________
...Не пытайся гнуть ты ложку, Не вяжи её узлом. Ложка - ложка понарошку, А по правде, - это лом! |
|||
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
Лиспер,
Как я думаю. Незнаю как выбрать сразу через select с фильтром по spdsNotePosition. Но можно в лоб. Перебрать объекты (или в наборе или во всем чертеже), и отобрать нужные вручую. 0. Открыть объект для чтения. 1. Проверить у объектов RXClass.DXFName = "spdsNotePosition". RXClass получить методом GetRXClass(). 2. Profit. Возможно это не самый оптимальный вариант. Все не знгаю. Про лисп. Есть такая тема: Выбор узловых выносок СПДС (SpdsNoteKnot) по образцу текущей выделенной. http://forum.dwg.ru/showthread.php?t=27273 Там Крыс вопрос решил. Последний раз редактировалось Vildar, 17.12.2010 в 18:06. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Ха, решил! Насколько я помню, там как раз и шел выбор всех объектов с последующим исключением "не тех". Именно лобовое решение...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 11.10.2010
Сообщений: 980
|
Возник у меня тут вопрос по получению ключа в реестре, связанного с текущим AutoCAD (наподобие лиспового vlax-product-key). Решение-то я нашел:
Код:
Прошу прощения за тупые вопросы, но пока ответов на них я не нашел...
__________________
(/= RegDate StartReadDate) |
|||
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
Лиспер, я не знаю.
Вот пример получения ключа текущего акада, взято отсюда http://through-the-interface.typepad...20a8c2933c970b private static string GetAutoCADKey() { // Start by getting the CurrentUser location RegistryKey hive = Registry.CurrentUser; // Open the main AutoCAD key RegistryKey ack = hive.OpenSubKey( "Software\\Autodesk\\AutoCAD" ); using (ack) { // Get the current major version and its key string ver = ack.GetValue("CurVer") as string; if (ver == null) { return ""; } else { RegistryKey verk = ack.OpenSubKey(ver); using (verk) { // Get the vertical/language version and its key string lng = verk.GetValue("CurVer") as string; if (lng == null) { return ""; } else { RegistryKey lngk = verk.OpenSubKey(lng); using (lngk) { // And finally return the path to the key, // without the hive prefix return lngk.Name.Substring(hive.Name.Length + 1); } } } } } } |
|||
|
||||
|
||||
|
||||
Регистрация: 11.10.2010
Сообщений: 980
|
Vildar, лезьть в реестр бесполезно и немного даже вредно. Если работа выполняется, например, в AutoCAD 2008, а потом был открыт и закрыт, к примеру, AutoCAD MEP 2011, то в ключе "CurVer" будет далеко не то значение, которое ожидаешь.
Александр Ривилис, я в общем-то и старался там почитать, но как-то с трудом доходит. Я правильно подозреваю, что этот класс на самом деле один из определяющих, позволяет загружать и выгружать arx-модули, именно он устанавливает и снимает блокировку документа? И грузится он в .NET-сборки через строку using Autodesk.AutoCAD.Runtime ? Хотя вопросы из #48 все еще остались: что такое и зачем нужны реакторы AcRxDynamicLinker? А то пока у меня получается как у Лемма: "Сепульки - используются в сепулькарии (см. сепулькарий)"; "Сепулькарий - место для сепуления"; "Сепуление - процесс использования сепулек" или наподобие того...
__________________
(/= RegDate StartReadDate) |
|||
|
||||
Offtop: Похоже скоро Лиспер сменит ник на Дотнетчик
В DotNet нет такого понятия, как "реакторы", есть события (events). Arx-модули грузятся методом статического класса Application: Код:
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
|
||||
Регистрация: 11.10.2010
Сообщений: 980
|
hwd, хотелось бы, да нескоро это будет (если будет вообще )
Я тупо перевел документацию: Цитата:
__________________
(/= RegDate StartReadDate) |
|||
|
||||
Да вроде в общих чертах понятно. О классе AcRxDLinkerReactor тоже уже прочитали?
Чем обусловлен интерес к AcRxDynamicLinker (какая задача решается)?
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
|
||||
Цитата:
Нет. К блокировке документа этот класс никакого отношения не имеет. За блокировку документа отвечает класс DocumentLock из пространства имен Autodesk.AutoCAD.ApplicationServices (в ObjectARX это AcAp). Он никуда этой строкой не грузится. Просто дает возможность использовать его классы и методы без указания "полного пути" Autodesk.AutoCAD.Runtime... |
||||
|
||||
Регистрация: 11.10.2010
Сообщений: 980
|
Интерес обусловлен абсолютным незнанием, наверное... Про класс AcRxDLinkerReactor читал, спасибо Я думаю - как событие / реактор не называй, суть его от этого не меняется. Или я заблуждаюсь? Если да, то в чем (конечно, если это не требует развернутого трактата)?
Цитата:
P.S. Да, с загрузкой я сильно погорячился Спасибо за исправление
__________________
(/= RegDate StartReadDate) |
|||
|
||||
Цитата:
В терминах AutoCAD и ObjectARX - это реактор, в терминах .NET - события. |
||||
|
||||
>Лиспер рекомендую сначала изучить сам DotNet и только после этого пытаться писать на нём в AutoCAD. Тогда вопросы типа
Цитата:
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
|
||||
Регистрация: 11.10.2010
Сообщений: 980
|
hwd, скажу честно - я пытался прочитать C++ Страуструпа (ведь типа основатель). Повесился разбиравшись. Шилдт в этом смысле намного более понятен. Но дело не в этом. А в том, что на моем уровне пытаться сейчас читать .NET - значит гарантированно им не заниматься. Закопаюсь в теории и никогда не приступлю к практике...
__________________
(/= RegDate StartReadDate) |
|||
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
Лиспер, про curver, согласен с твоим замечанием.
Цитата:
Но, пытаться писать, без знания синтаксиса и ключевых слов и понятий NET, это по-моему безумие. Offtop: Хотя, есть положительный пример твоему утверждению - Modis. Он все одновременно делал. Первым делом справшивал на форуме, потом писал, а уж потом читал. Шутка. Надо у него самого спросить, про опыт освоения NET. |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
запуск программы из AutoCADа | kminas | Программирование | 19 | 15.06.2012 13:42 |
Ноутбук б/у и AutoCad 2D - вопросы | Elenka | AutoCAD | 14 | 23.12.2005 13:47 |
Ноутбук б/у и AutoCad 2D - вопросы | Elenka | AutoCAD | 1 | 20.12.2005 21:33 |
AUTOCAD 2006 | Aragorn | AutoCAD | 14 | 01.04.2005 00:55 |
Что нового в AutoCAD 2005 | ilka_t | AutoCAD | 40 | 19.05.2004 16:48 |