| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Lisp в *.dwg кто-нить делал....

Lisp в *.dwg кто-нить делал....

Ответ
Поиск в этой теме
Непрочитано 03.04.2008, 08:38 #1
Lisp в *.dwg кто-нить делал....
GT-oleg
 
Проектирование ГТС
 
St. Petersburg
Регистрация: 11.01.2007
Сообщений: 2

Возник маленький вопрос, требующий некоторого осмысления...
Скажем есть чертеж в *.dwg, в который необходимо загрузить LISP так, чтобы он открывался на копмутере с другой средой, скажем 2008 (2009) и 2000...
Задача следующая на поле чертежа есть таблича или др. поле, в которое заносятся все изменения, сделанные пользователями, с именем (имя компутера) и датой внесения изменений (для сетевой работы)...
Кто-нибудь знает как такое сделать или есть советы...
Просмотров: 2040
 
Непрочитано 03.04.2008, 09:18
#2
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Не некоторого, а глубокого осмысления. Пока темный лес, IMHO.
Profan вне форума  
 
Непрочитано 03.04.2008, 23:05
#3
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,407
Отправить сообщение для Александр Ривилис с помощью Skype™


В том виде, в котором поставлена задача, она нереализуема. IMHO и с уверенностью 99.99%
В первую очередь это касается:
Цитата:
...в которое заносятся все изменения, сделанные пользователями...
Александр Ривилис вне форума  
 
Непрочитано 03.04.2008, 23:22
#4
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844


Александр Ривилис, а если попробовать использовать "сравнение чертежей" из 2008? Правда, сам я подобным пока не страдал, но название функции понравилось
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 04.04.2008, 08:10
#5
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,407
Отправить сообщение для Александр Ривилис с помощью Skype™


Я тоже не страдал. Но дело не в этом. Представь себе что в таблице должны будут появится строки типа:
Цитата:
MOVE <имя примитива> точка1 точка 2 | пользователь такой-то / дата-время1
Т.е. будет запротоколированы все действия пользователя. Это во-первых, нужно их все записать в чертеж, что увеличит его в N-ое количество раз, а во-вторых, лиспом очень сложно реализуемо, если вообще реализуемо. А если это не команда, а lisp-функция?
Александр Ривилис вне форума  
 
Непрочитано 04.04.2008, 08:26
#6
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844


Представил. В красках и попытках реализации кода. Вздрогнул. Пошел пить кофе и успокаиваться
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 04.04.2008, 11:23
#7
Zouss


 
Регистрация: 14.03.2006
Сообщений: 863


все же гораздо веселей пить кофе вечером, а алкоголь днем

теоретически получить список примитивов, добавленных пользователем представляется возможным. объекты в БД чертежа описываются именно в той последовательности, в которой они были созданы. Некая служебная пограмма при каждом открытии чертежа создает новый примитив, который будет играть роль временнОй метки - например блок с невидимыми атрибутами, содержащими имя пользователя, время открытия и т.п. Другая служебная программа ентнекстит файл от метки до метки и формирует список вновь созданных объектов. Что делать с этим списком: показать ли на экране, сохранить ли в текстовый файл... вариантов много в общем

как быть с отредактированными или удаленными объектами не знаю
Zouss вне форума  
 
Непрочитано 04.04.2008, 12:47
#8
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Я тоже хочу задать глупый вопрос: а вообще реально добавить Lisp в *.dwg ? не сильно огромный лисп, но чтобы он работал например в этом чертеже и выполнялся например при загрузке
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 04.04.2008, 13:01
#9
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


Если чертеж лежит отдельно в своей папке и в этой же папке лежит файл acaddoc.lsp, в котором прописан нужный лисп, то этот лисп будет выполняться только для этого чертежа. Таким образом можно сказать, что лисп добавлен в *.dwg.
Makswell вне форума  
 
Непрочитано 04.04.2008, 13:01
#10
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,439
Отправить сообщение для Елпанов Евгений с помощью Skype™


Цитата:
Сообщение от Shoorup Посмотреть сообщение
Я тоже хочу задать глупый вопрос: а вообще реально добавить Lisp в *.dwg ? не сильно огромный лисп, но чтобы он работал например в этом чертеже и выполнялся например при загрузке
Нет никаких проблем, но для начала должна загрузиться программа, которая найдет этот лисп и запустит...
Как пример, загоняй свой лисп в многострочный текст, скрывай его из отображения, добавляй метку для быстрого поиска. После загрузки программы, ищется многострочный текст с программой, она выполняется, все условия соблюдены.
Елпанов Евгений вне форума  
 
Непрочитано 04.04.2008, 13:12
#11
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Цитата:
Сообщение от Александр Ривилис Посмотреть сообщение
Т.е. будет запротоколированы все действия пользователя. Это во-первых, нужно их все записать в чертеж, что увеличит его в N-ое количество раз, а во-вторых, лиспом очень сложно реализуемо, если вообще реализуемо. А если это не команда, а lisp-функция?
Формально решаемо, навешать реакторов на каждый чих, в расширенные данные вешать указатель на словарь и в словарь сваливать то, что надо протоколировать... ну и ждать когда оно обрушится. В качестве "конторольного в голову", включить запись лога действий пользователя logfilemode.

Цитата:
Сообщение от Zouss Посмотреть сообщение
теоретически получить список примитивов, добавленных пользователем представляется возможным. объекты в БД чертежа описываются именно в той последовательности, в которой они были созданы...
Такой способ не годится даже теоретически - как быть с разорванными примитивами, расчленёнными, удалёнными?... Единственный вариант - отслеживать действия пользователя реалтайм.

Цитата:
Сообщение от Shoorup Посмотреть сообщение
Я тоже хочу задать глупый вопрос: а вообще реально добавить Lisp в *.dwg ? не сильно огромный лисп, но чтобы он работал например в этом чертеже и выполнялся например при загрузке
Именно в сам файл DWG - нет, невозможно.
Alaspher вне форума  
 
Непрочитано 04.04.2008, 13:18
#12
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


Shoorup, ещё можно переписать лисп на VBA и загнать этот модуль в файл dwg
Makswell вне форума  
 
Непрочитано 04.04.2008, 14:06
#13
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,407
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от Alaspher Посмотреть сообщение
Формально решаемо...
Вопрос только зачем. Анализ добавленных/удаленных/модифицированных примитивов даст слишком мало для понимания того что именно делали с чертежом. Например отрисовка проема в окне приведет к появлению десятков новых примитивов и модификации еще приблизительно такого же количества. Понять по этому протоколу что именно делалось (в терминах проектирования, а не команд AutoCAD) пользователем совершенно не реально.
Короче, я считаю это бредовой идеей.
Александр Ривилис вне форума  
 
Непрочитано 04.04.2008, 14:56
#14
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Цитата:
Сообщение от Александр Ривилис Посмотреть сообщение
Вопрос только зачем...
Пробегала как-то тема нормирования по "реально проделанной работе", так вот, можна платить попримитивно:
новый примитив - рубель
копия - писят копеек
стёр чёнить - штраф червонец...
Alaspher вне форума  
 
Непрочитано 04.04.2008, 15:04
#15
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Цитата:
Сообщение от Makswell Посмотреть сообщение
Shoorup, ещё можно переписать лисп на VBA и загнать этот модуль в файл dwg
Такое очучение что обсуждаем создание вируса для акада
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Lisp в *.dwg кто-нить делал....

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кто нить продаст microfe версии от 06 года за разумные деньг dimamgsy Прочее. Программное обеспечение 2 05.06.2007 08:28
Знатоки Lisp!!! кто подскажет? игорёк LISP 21 06.04.2006 13:39
загрузка DOS прог через LISP Gaa LISP 15 12.08.2005 19:19