|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
28.02.2018, 11:35 | #1 | |
Lisp расчленить объекты СПДС Extension Autodesk
Инженер
Регистрация: 20.01.2016
Сообщений: 307
|
||
Просмотров: 8649
|
|
||||
Инженер Регистрация: 20.01.2016
Сообщений: 307
|
Нет, нужно разбить объекты в текущем чертеже с помощью LISP не выгружая сам СПДС. Может быть как-то использовать VLA? Моих скромных познаний, к сожалению, не хватает в данном вопросе. Пока удалось только выяснить что при создании объектов СПДС в чертеже появляется словарь "Siberia" как выделить объекты, связанные с ним?
__________________
Все, казалось бы, просто, но на самом деле это не так - В. В. Горев, том 1, стр. 338 - М. 2004 |
|||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
А обычный _.EXPLODE может взрывать объекты СПДС? Сам не пользуюсь - не знаю. Постараюсь помочь "по фотографии".
Пока не могу смекнуть, чем нам тут поможет "Сибирь", но есть надежда на пару иных зацепок. Что появится в командной строке при вводе каждого из двух нижеприведенных выражений с последующим выбором объекта СПДС? Код:
Код:
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
По-моему, это дампы обычных объектов ACAD, и SPDS Ext тут ни при чем.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Инженер Регистрация: 20.01.2016
Сообщений: 307
|
Цитата:
Код:
__________________
Все, казалось бы, просто, но на самом деле это не так - В. В. Горев, том 1, стр. 338 - М. 2004 |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Цитата:
Код:
Поставил SPDS ext. Он добавляет расширенные данные. Цитата:
Цитата:
Код:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 04.03.2018 в 15:19. |
|||
|
||||
Инженер Регистрация: 20.01.2016
Сообщений: 307
|
Спасибо уважаемому Мастеру за удочку и море! Теперь заработало. Изящное решение с (initcommandversion).
А не командными можно сразу везде? Особенно интересует возможность расчленить объекты во вхождениях блоков.
__________________
Все, казалось бы, просто, но на самом деле это не так - В. В. Горев, том 1, стр. 338 - М. 2004 |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Нет. Ни родные мультивыноски, ни объекты SPDS Extension не имеют метода Explode (например, как у блоков)
Цитата:
Цитата:
1. DEMADLOAD=0 2. ExplodeAllProxy 3. DEMADLOAD=3
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Инженер Регистрация: 20.01.2016
Сообщений: 307
|
У меня даже с DEMANDLOAD=0 объекты СПДС Ext все равно не становятся proxy-графикой, соответственно, программа Александра их не обрабатывает.
Добавлено: С текущим пространством и командными методами кое-как разобрался. Уже почти работает, осталось добиться расчленения объектов во вхождениях блоков, возможно ли это? Если возможно, то как?. Код:
__________________
Все, казалось бы, просто, но на самом деле это не так - В. В. Горев, том 1, стр. 338 - М. 2004 Последний раз редактировалось fktstv, 05.03.2018 в 16:49. |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Теоретически возможно так
1. Проходимся по таблице описания блоков 2. Проходимся по описанию блока 2.1 Если в примитиве блока есть элемент с расширенными данными -3 "Siberia", то 2.1.1 Запоминаем последний отрисованный притив (entlast) 2.2 Иначе берем следующий блок----- добавлено через ~3 мин. ----- fktstv, В цикле while конструкция progn не нужна (строки 08 и 11 поста #12) ----- добавлено через ~12 мин. ----- Цитата:
calling bedit via lisp Block Edit Lisp
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Инженер Регистрация: 20.01.2016
Сообщений: 307
|
Вот такой получился костыль. Работает ужасно долго, но работает.
Код:
__________________
Все, казалось бы, просто, но на самом деле это не так - В. В. Горев, том 1, стр. 338 - М. 2004 Последний раз редактировалось fktstv, 06.03.2018 в 15:24. |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Инженер Регистрация: 20.01.2016
Сообщений: 307
|
Немного поправил #14.
При установке равным нулю, при закрытии блока возникает еще один лишний диалог, его не загасить (initdia 0).
__________________
Все, казалось бы, просто, но на самом деле это не так - В. В. Горев, том 1, стр. 338 - М. 2004 |
|||
|
||||
Инженер Регистрация: 20.01.2016
Сообщений: 307
|
Попробовал, все равно происходит регенерация.
Команда: REGENMODE Новое значение REGENMODE <1>: 0 Команда: Qaflags Новое значение QAFLAGS <0>: 5 Команда: EXPERT Новое значение EXPERT <0>: 5 Команда: _.-BEDIT Имя блока или [?]: 123 Выполняется регенерация модели. Команда: _.BCLOSE Выполняется регенерация модели.
__________________
Все, казалось бы, просто, но на самом деле это не так - В. В. Горев, том 1, стр. 338 - М. 2004 |
|||
|
||||
Инженер Регистрация: 20.01.2016
Сообщений: 307
|
1. В поле 1 выберите фал адаптации, соответствующий установленному СПДС extesion
2. В поле 2 нажмите кнопку "создание новой команды 3. Заполните поле 3, макрос на запуск лиспа будет иметь следующий вид: ^C^C(if (= spds_explode nil)(Load(findfile "spds_explode.lsp")));spds_explode; 4. Перетащите созданную команду в меню СПДС
__________________
Все, казалось бы, просто, но на самом деле это не так - В. В. Горев, том 1, стр. 338 - М. 2004 |
|||
|
||||
Регистрация: 16.10.2013
Сообщений: 323
|
Где-то встречал, что набираются желающие потестить новую версию СПДСа от аутодеска, но не могу найти ссылку.
Если кто уже тестит, передайте им туда пожелание сделать штатную команду расчленения, а то спустя 5 лет только написали этот лисп. |
|||
|
||||
Регистрация: 16.10.2013
Сообщений: 323
|
Лисп из темы не работет в новой версии.
Есть стандартная команда, но она очень криво взрывает, например, объекты из листа переносит в модель. Возможно ли как-то подкорректировать лисп из темы, чтобы он работал и с спдс версии spdsext2020_r3? |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
выложи для примера файл dwg с объектом spdsext2020_r3
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
не нашел ни одного прокси
полилиния - 3 ВЭ - 1 Блок - 1 ???
__________________
Мастерская СПДС |
||||
|
||||
тогда зачем взрывать?
если он как не прокся?
__________________
Мастерская СПДС |
||||
|
||||
Регистрация: 16.10.2013
Сообщений: 323
|
Потому что хоть он и не прокся, он все равно отображается некорректно, если не установлен модуль.
Для контроля, отпишитесь, получилось ли сместить на чертеже эти объекты, хорошо ли отображается скрытая область за разрывом, можно ли изменить уровень на выноске? Что точно работает криво - позиционные обозначения на плане, они и отображаются некорректно, и редактировать нельзя |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
demandload чему равен?
----- добавлено через 12 сек. ----- А заодно и proxyshow
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Цитата:
proxyshow -1 Цитата:
хорошо ли отображается скрытая область за разрывом-??? за каким разрывом? там только блок ВЭ и три полилинии можно ли изменить уровень на выноске- нет там выносок, уровень полилинии меняется ----------- upd в автокаде аналогично
__________________
Мастерская СПДС Последний раз редактировалось doctorraz, 22.02.2024 в 10:44. |
||||
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,589
|
Скорее всего теперь объекты спдс - переопределение внешнего вида объекта, в вашем случае, переопределение полилинии
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
А поставь в 2, перезапусти ACAD и посмотри чего будет. Плюс proxynotice в 1
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Цитата:
----- добавлено через ~13 мин. ----- Сохрани в dxf, Теоретически при след. открытии должны стать "правильными" проксями Но это конечно не точно
__________________
Мастерская СПДС Последний раз редактировалось doctorraz, 22.02.2024 в 12:17. |
||||
|
||||
__________________
Мастерская СПДС Последний раз редактировалось doctorraz, 22.02.2024 в 12:57. |
||||
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,095
|
Может, дело в расширенных данных или словарях объекта, по которым SPDS "узнает своих" и обрабатывает соответственно? А "голому" Акаду на эту инфу начхать, и он обрабатывает объекты SPDS обычным образом.
Сам эту примочку не ставил, не могу проверить. |
|||
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,589
|
Цитата:
Вот описание высотной отметки находящейся в модели: Цитата:
фиолетовое - значение отметки синий - множитель для значенияотметки а своих "узнает" по записи в XData ЗЫ. Да... глубина попы поражает... вот почему было все это не реализовать на анонимных блоках, да и кодирование информации об объектах в виде текста, то еще решение... Последний раз редактировалось Boxa, 22.02.2024 в 16:10. |
|||
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,589
|
Цитата:
И тут идет речь о "взрыве" объектов, а о восстановление внешнего вида объектов на основе данных в словарях. Реверсить чужую разработку, то еще удовольствие... |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
SPDS CS пропадают объекты спдс при создании блока | eugenmax | ПО от CSoft | 1 | 28.03.2014 07:42 |
Интеграция Autodesk СПДС в AutoCAD 2012 | bolotov | Прочее. Программное обеспечение | 24 | 07.01.2013 20:22 |
СПДС объекты не закрашены | Paveldoc | Прочее. Программное обеспечение | 2 | 22.08.2012 10:35 |
Исчезли объекты СПДС из чертежа | metalirk | AutoCAD | 3 | 27.05.2011 13:06 |
LISP Отфильтровать выбранные объекты по признаку. | KEO | LISP | 2 | 20.01.2010 11:32 |