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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Как программно удалить слой(autolisp)

Как программно удалить слой(autolisp)

Ответ
Поиск в этой теме
Непрочитано 24.05.2010, 23:12
Как программно удалить слой(autolisp)
Mozgunov
 
Начинающий проектировщик
 
Санкт-Петербург
Регистрация: 07.02.2008
Сообщений: 443

Уважаемые форумчане! Нужно программно удалить некоторые слои посредством autolispa Все примитивы которые находились на этих слоях я копировал на слой defpoints. Кто сталкивался подскажите пожалуйста конструкцию для удаления слоя. Спасибо!
Просмотров: 11505
 
Непрочитано 04.12.2019, 12:02
1 | #21
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,589


Цитата:
Сообщение от merkur1y Посмотреть сообщение
2. если возможно, помогите сделать такой лисп, чтобы я в него сам вписал имена слоёв, которые мне надо просто удалять вместе со всеми содержащимися в нём объектами. слоёв порядка тридцати и неудобно каждый раз изолировать объекты этого слоя и удалять их, а потом и purge использовать...
Все это можно сделать штатными возможностями автокада: смержить 30 слоев (там как раз есть возможность мышкой потыкать, какие слои мержить) в один и его удалить.
Boxa вне форума  
 
Непрочитано 04.12.2019, 14:05
#22
merkur1y

дороги
 
Регистрация: 12.07.2019
СПб
Сообщений: 134


Уважаемые, koMon, Алексей, VVA, спасибо за время, которое вы потратили на данный вопрос, я постараюсь сам разобраться в чём у меня чудеса происходят, что я недопонимаю. Подсказок дали множество, все их проработаю и отпишусь.
merkur1y вне форума  
 
Непрочитано 04.12.2019, 14:12
#23
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,680


Цитата:
Сообщение от Boxa Посмотреть сообщение
смержить
Михаил Васильевич, что же это деется, а?
koMon вне форума  
 
Непрочитано 04.12.2019, 15:03
#24
merkur1y

дороги
 
Регистрация: 12.07.2019
СПб
Сообщений: 134


смех смехом, все когда-то начинали, Boxa, что Вы имеете ввиду:
Цитата:
Сообщение от Boxa Посмотреть сообщение
смержить
слияние слоёв в один, а потом всё та же команда _laydel?
merkur1y вне форума  
 
Непрочитано 04.12.2019, 15:13
1 | #25
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,589


koMon, а что делается?
Цитата:
Сообщение от merkur1y Посмотреть сообщение
слияние слоёв в один, а потом всё та же команда _laydel?
Да. У меня англ. интерфейс, как на русском не знаю, а там:
Boxa вне форума  
 
Непрочитано 04.12.2019, 15:22
#26
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,680


https://knowledge.autodesk.com/ru/su...1BDE0-htm.html

----- добавлено через ~4 мин. -----
Boxa, объединение слоёв делается
Миниатюры
Нажмите на изображение для увеличения
Название: Capture.jpg
Просмотров: 19
Размер:	68.8 Кб
ID:	220727  
koMon вне форума  
 
Непрочитано 10.03.2020, 16:17
#27
bengan777


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


Добрый день. Похожая проблема, решил отписаться в этой теме.
Есть dxf с кучей блоков (кадастровая выписка сконвертированная из xml в dxf с помощью pbprog конвертера (https://pbprog.ru/webservices/dxf/)).
Нужно программно перенести все блоки на 0 слой и удалить остальные слои.
Для перенесения на 0 слой использовал программу для нормализации блоков norm-blocks_v3.lsp с этого форума.
Далее перенес все блоки и все их атрибуты на слой 0.
Далее обновил описания вхождения блоков командой _атробновить.
После этого очистил чертеж _-purge.
Слои остаются. Открыл dxf блокнотом, нашел что они прописаны в таком виде.
AcDbEntity
8
Z
100
Если сохранять в dxf R12/LT2 то можно в блокноте заменить имена слоев на 0 и все получится, но хотелось бы как то через lisp решить эту проблему.
И еще вопрос, где можно почитать по структурам разных dxf?
Вложения
Тип файла: dwg
DWG 2007
Уже нормализованый пример.dwg (82.7 Кб, 3 просмотров)
Тип файла: dwg
DWG 2007
46_11_000000_2019-06-20_kpt10.xml.dwg (5.32 Мб, 7 просмотров)
bengan777 вне форума  
 
Непрочитано 11.03.2020, 08:48
1 | #28
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,680


Цитата:
Сообщение от bengan777 Посмотреть сообщение
где можно почитать по структурам разных dxf?
DXF он один
Документация по формату файлов AutoCAD DXF
koMon вне форума  
 
Непрочитано 11.03.2020, 09:14
1 | #29
trir


 
Регистрация: 18.12.2010
Сообщений: 5,057


Цитата:
но хотелось бы как то через lisp решить эту проблему
а можно сразу открыть xml в AutoCAD Map/Civil 3D ;=)

Цитата:
DXF он один
есть разные версии
trir вне форума  
 
Непрочитано 11.03.2020, 09:15
1 | #30
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 2,295
Отправить сообщение для doctorraz с помощью Skype™


Цитата:
Сообщение от bengan777 Посмотреть сообщение
Нужно программно перенести все блоки на 0 слой и удалить остальные слои.
выше ж ответ есть, слить-смержить- объединить-merge (что больше нравится) все слои в слой "0", блоки сами перенесутся, слои удалятся, все само делается
__________________
Мастерская СПДС
doctorraz вне форума  
 
Непрочитано 11.03.2020, 09:32
#31
bengan777


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


Цитата:
Сообщение от trir Посмотреть сообщение
а можно сразу открыть xml в AutoCAD Map/Civil 3D ;=)
Можно поподробнее?)
bengan777 вне форума  
 
Непрочитано 11.03.2020, 09:44
1 | #32
trir


 
Регистрация: 18.12.2010
Сообщений: 5,057


Цитата:
Можно поподробнее?
https://github.com/triroakenshield/RosReestrImpLib
https://geodesist.ru/resources/konve...b-mif-csv.236/
trir вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Как программно удалить слой(autolisp)

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как удалить атрибут? пончеГ AutoCAD 16 30.01.2020 13:13
Как программно удалить неиспользуемые стили мультивыносок. Makswell Программирование 6 08.04.2009 13:43
как программно, в чертеже, выделить группы vasyavip Программирование 2 21.01.2009 10:12
КАК программно написать многострочным текстом? Александер Программирование 11 11.10.2006 16:19
подскажите как программно начертить линии разных типов Александер Программирование 4 30.06.2005 07:17