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

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

Удалите скрытый слой

Ответ
Поиск в этой теме
Непрочитано 11.10.2006, 17:46 #1
Удалите скрытый слой
SlayERR
 
Проектирование ген. планов
 
г.Москва
Регистрация: 21.09.2006
Сообщений: 32

привет. имеются две дуги. одна - нормальная, а другая - нет, при удалении которой удаляется не связанный с ней слой (казалось бы). Вопрос к знатокам: где хранится информация о связанном с дугой слое и как можно получить доступ к подобной информации. Моя конечная задача - очистить чертеж от подобных связей с помощью самодельной автолисп-проги.
Если кто знает, помогите, пожалуйста.
[ATTACH]1160574377.dwg[/ATTACH]
__________________
С уважением. Александр
Просмотров: 3024
 
Непрочитано 11.10.2006, 18:06
#2
Кулик Алексей aka kpblc
Moderator

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


Кликаем на "ненормальной":

Command: (entget (car (entsel)) '("*"))

Select object: ((-1 . <Entity name: 7ef5d098>) (0 . "ARC") (330 . <Entity name:
7ef5bcf8>) (5 . "D3") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "1.
Асфальтобетон") (100 . "AcDbCircle") (10 0.0 -2.84217e-014 0.0) (40 . 5.0) (210
0.0 0.0 1.0) (100 . "AcDbArc") (50 . 6.10172) (51 . 3.86147) (-3 ("AC_800"
(1000 . "ELEMENT_19") (1002 . "{") (1071 . 74659) (1005 . "0") (1003 .
"4k_1floor$0$Благоустройство.Специальный") (1011 757.97 -512.557 0.0) (1011
757.97 -511.557 0.0) (1011 756.97 -512.557 0.0) (1002 . "}"))
("AcDbBlockRepETag" (1070 . 1) (1071 . 371) (1005 . "0"))))

Лечить, если "по-тупому", можно и так:
Код:
[Выделить все]
(setq ent (car (entsel)))
(entmake (vl-remove-if '(lambda (x) (member (car x) '(-1 330 5))) (entget ent)))
(entdel ent)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 11.10.2006, 18:09
#3
SlayERR

Проектирование ген. планов
 
Регистрация: 21.09.2006
г.Москва
Сообщений: 32


Я делал совсем по тупому, от недостатка знаний

(setq Nabor1 (ssget))
(setq Elem1 (entget (ssname Nabor1 0)))


Потом - инспект - и ничего интересного не показало, хотя я ожидал что-то типа того что ты прислал. Весь вечер буду разбираться. Если не трудно, подскажи, что это за группы которые больше 1000
Спасибо
__________________
С уважением. Александр
SlayERR вне форума  
 
Непрочитано 11.10.2006, 18:16
#4
Кулик Алексей aka kpblc
Moderator

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


А это так называемые расширенные данные. Там можно приличное количество данных хранить. Но как их удалять "по красивому", я не знаю (можно, конечно, попробовать через activex пройтись, но там я пас). Все остальное завтра, уж домой полтора часа как пора
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 11.10.2006, 18:25
#5
SlayERR

Проектирование ген. планов
 
Регистрация: 21.09.2006
г.Москва
Сообщений: 32


Спасибо. Я теперь попробую сам разруливать проблему.
__________________
С уважением. Александр
SlayERR вне форума  
 
Непрочитано 11.10.2006, 18:52
#6
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Здесь
есть кое-что по удалению расширенных данных
VVA вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Удалите скрытый слой