|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
18.04.2006, 21:30 | #1 | |
Лисп =выноска+поле
электроснабжение и автоматика
г. Пермь
Регистрация: 21.06.2005
Сообщений: 329
|
||
Просмотров: 27614
|
|
||||
Регистрация: 29.10.2005
Нижегородская обл.
Сообщений: 219
|
Есть выноска на лиспе. Её автор сюда каждый день водится. Компа под рукой нет:
www.autokad.ru Раздел готовые программы, там в заголовке слово выноска есть. Ток она у меня барахлила. Там вроде косяки с реакторами...я подобную из KitoxTools использую вместо СПДС. Уверен этот хороший человек не останется равнодушным и в конце темы мы будем иметь ещё один удобный инструмент. А вообще можно настроить стандартную выноску для работы с блоком,в который запихнуть атрибут с полем, ток потом руками придётся править |
|||
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
Цитата:
Вы хочите ЛИСПов? [sm2102] Их есть у меня! Ниже приведенная прога предназначена для маркиривки трубопроводов "по-американски", но может работать и для других дисциплин. Информация о назначении линии записывается в расширенные данные примитива и оттуда же воспроизводится. Позже скину прогу для редактиривания единожды созданных выносок. Надеюсь, что перетолмачивать приглашения на русский не требуется. Код:
|
|||
|
||||
Регистрация: 29.10.2005
Нижегородская обл.
Сообщений: 219
|
В свете выглядывающих граблей, кои я заметил недавно в виде проблемы унификации под en и ru языки...просьба: по возможности учесть локализацию. Уже в ожидании...у меня тож планы на применение в своих нуждах-остальное я по возможности прогну
|
|||
|
||||
электроснабжение и автоматика Регистрация: 21.06.2005
г. Пермь
Сообщений: 329
|
Посмотрел лисп.
Вроде бы то что надо, но у меня не прорисовались линии выноски. Это почему у меня так? Или они не должны прорисовываться? А вот запрос в начале и конце надписи мне понравился :) Как-раз, в начале надо писать название трассы, а в конце ее длину. Только вот длину и название хочется в виде поля, чтобы менялись в случае изменения линии.
__________________
хочу все знать |
|||
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
Цитата:
Два слова о работе прграмм. На девственном чертеже запускаем PCT. Эта прграмма формирует информацию о трубе (размер-назначение-материал), замисывает ее в расширенные данные примитива и отрисовывает первую группу выноска-текст. Следующие группы фоормируются сами на оснвании расширенных данных примитива. Если требуется отредактировать существующий чертеж, то запускается программа COTUPD. Она работает в обе стороны, т.е. приводит расширенные данные в соответсвтие с измененным текстом выноски или изменяет текст выносок (ВСЕХ) в соответсвии с измененными расширенными данными. Если у кого вопросы - кричите нечеловеческим голосом. |
|||
|
||||
Lisp/VBA/VB.NET Hobbyist Регистрация: 24.03.2005
Славен Град Петров
Сообщений: 367
|
Цитата:
Данные после изменения слоя будут графически обновляться после регенерации рисунка (regenall) Код:
|
|||
|
||||
Регистрация: 29.10.2005
Нижегородская обл.
Сообщений: 219
|
Нифига не хочет раьотать...пишет:
"ошибка: no function definition: MSG" У меня тож Autocad 2006, ток русский. Мож изза этого (я выше вроде просил учесть локализацию). Вообще в лиспе не рублю. Но усмотрел, что есть конкатанация, вроде сообщение должно вылетать в виде окна...первый раз такое встречаю, ато заставляют пялиться в комстроку. kabzzz, а тут всё как обычно: В коде есть строка C:COTUPD вот в ком строке и нужно набирать COTUPD. Заранее прошу не пинать, если что-то сморозил...но хочется работоспособную программу. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Гы, помянули? Расхлебывайте
Тут реакторы не требуются, т.к. выноска только однострочная с именем слоя нужна, как я понял по начальному варианту задачи Тады вот такое можно: Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
А вот для Лентяя, я думаю, уже понадобятся и реакторы. В частности, на *text* команды - если редактируемый текст является аннотацией (определяется по 330 группе, по-моему), и аннотация началом лежит на каком-то примитиве, то тогда менять расширенные данные. Хотя я бы сейчас, наверное, делал не РД, а словари (которые vlax-ldata - там нет таких ограничений на структуру, как в РД). Хотя... РД тоже могут оказаться незаменимыми.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Должен сказать о некоторых тонкостях работы функции (если она пойдет дальше )
- отрисовка ведется на текущем слое, с текущим текстовым и размерным стилем - для выноски напрямую назначается "указатель" - заполненная стрелка. Если надо другое, то надо изменить строку aclinewitharrow на ту, которую надо (см.хелп). - Начальная точка выноски определяется не совсем правильно - она не лежит на объекте, а находится рядом, точно там, где щелкнули при указании объекта. По идее можно устанавливать принудительную привязку osmode в 512, но я не стал этого делать - грубо говоря, поленился. Вроде как все...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
Цитата:
А ежели серьезно, то аннотация привязывается к стрелке-выноске. И менять, в смысле редактировать ее можно, как обычный текст. Потм уже это исзменение можно перетаскивать в РД с последующим update-ом всех прочих ссылок на эти РД. Это можно сделать как моей прогой COTUPD, так и, не к ночи будь помянут, реактором. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
> DEM : не очень понял. Что, в блоке есть атрибут с тэгом TXT? Если да, то попробуй
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 29.10.2005
Нижегородская обл.
Сообщений: 219
|
Как-то не понятно: в коде куча примеров вызова...или тока один "kpblc_lead" должен работать? Вроде привязки должны срабатывать чтоли ("osmode" 503). Руководство пользователя хотелось увидеть
В Kitox'е как-то удобней всётки. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Ну дык функция с с: одна - вот ее и вызывать, остальное - мои библиотечные, не хотел их переделывать.
Краткий мануал: Клик на объекте. Клик на новой точке (там будет строиться полка выноски). Если объект блок содержит атрибут "txt", то в тексте будет значение атрибута, в любом другом случае - слой, на котором лежит выбранный примитив. Кстати, подправленный код (с изменением osmode): Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 23.08.2006
Краснодар
Сообщений: 21
|
Доброго времени суток!
Уважаемый господин крЫс . Прога не плоха. Но вот я пытался ее упростить и ниче не получилось. Вооще у меня как то туго с восприятием команд AutoLispa. Мне нада вместо Leader использовать простую полилинию. И не выводить имя слоя а рисовать кружок диаметра и запрашивать цифру диаметра. Был бы весьма благодарен.... |
|||