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

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

как удалить свойства, созданные Autocad Map?

Ответ
Поиск в этой теме
Непрочитано 03.02.2011, 01:06 #1
как удалить свойства, созданные Autocad Map?
АлексЮстасу
 
топограф, технолог
 
Москва
Регистрация: 24.05.2009
Сообщений: 3,030

Помогите, пожалуйста, разобраться.
С помощью Autocad Map (и Civil) можно элементам файлов придавать идентификаторы (Feature Classes==Object Classes==Классы объектов) и "дополнительные свойства" (Custom Properties==Классификационные свойства). Все это записывается при указанных элементах куда-то в файл dwg.
Эти Классы объектов видны в Autocad Map в окне свойств как первое свойство элемента в разделе "Общие". А эти Классификационные свойства видны в окне свойств в дополнительном разделе "Пользовательский". (см. картинку 2)
Проблема в том, что в Autocad Map можно присвоить элементам Классы объектов и Классификационные свойства, можно отсоединить Классы объектов, заменить Классов объектов, но невозможно отсоединить Классификационные свойства у элементов. Сил, похоже, как всегда доделать у Автокада не хватило.
В результате возникает путаница и проблемы с копированием данных и т.п. большие неприятности - файлы становятся малопригодными для дальнейшей работы.
Эти дополнительные описания и свойства не являются ни прокси объектами, ни Xdata.
Можно определить, куда Autocad Map записывает информацию о Классах объектов и о Классификационных свойствах? Какого типа эти данные с точки зрения Автокада? Чтобы в будущем объяснять программистам, о чем речь.
И можно написать программу, которая могла бы отсоединять (удалять) информацию о Классах объектов и о Классификационных свойствах у указанных элементов?
Хотя бы удалять Классификационные свойства у указанных элементов?

Файл dwg - с примером трех (для простоты) классифицированных элементов:
- Верхний элемент классифицирован как "объект3" без Классификационных свойств.
- Средний классифицирован "объект4" со свойством "длина общая", тип Real.
- Нижний - "объект5" со свойствами: "общая ширина", "общая глубина" - оба с типом Real, и "пояснение" - тип Text String.

Файл типа xml - файл описания Классов объектов и их Классификационных свойств. Такого типа файлы подключаются к файлу dwg в Autocad Map. После этого становится возможным классифицировать элементы, определять их доп. свойства, делать выборки и т.п.

Миниатюры
Нажмите на изображение для увеличения
Название: Feature_Classes.jpg
Просмотров: 139
Размер:	45.6 Кб
ID:	52835  Нажмите на изображение для увеличения
Название: Feature_Classes_в_свойствах.jpg
Просмотров: 173
Размер:	39.2 Кб
ID:	52836  

Вложения
Тип файла: rar object_classes1_xml.rar (976 байт, 110 просмотров)
Тип файла: dwg
DWG 2004
Object_Classes__Custom_Properties_1.dwg (48.9 Кб, 1433 просмотров)


Последний раз редактировалось АлексЮстасу, 03.02.2011 в 02:42.
Просмотров: 8119
 
Непрочитано 03.02.2011, 16:07
#2
Кулик Алексей aka kpblc
Moderator

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


Вариантов, как всегда, несколько.
1. На компьютере с AutoCAD Map выполнять не сохранение, а экспорт файла в формат AutoCAD нужной версии
2. На компьютере с "чистым" AutoCAD выполнять ExplodeAllProxy и RemoveAllProxy (см.программу от А.Ривилиса).
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 03.02.2011, 18:41
#3
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,030


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Вариантов, как всегда, несколько.
1. На компьютере с AutoCAD Map выполнять не сохранение, а экспорт файла в формат AutoCAD нужной версии
2. На компьютере с "чистым" AutoCAD выполнять ExplodeAllProxy и RemoveAllProxy (см.программу от А.Ривилиса).
При случае попробую - сейчас нет компьютера с "чистым" AutoCAD.
На компьютере с AutoCAD Map ExplodeAllProxy и RemoveAllProxy от А.Ривилиса никаких прокси не обнаруживает.
Я совсем не специалист в таких тонкостях, но все эти "свойства" от AutoCAD Map, мне кажется, не есть прокси-свойства. Эти "свойства" никак на геометрии элементов не проявляются, никак не влияют. Это больше похоже на некоторые дополнения в текстовом виде, которые записываются в какие-то свободные блоки описания элементов. Или что-то в этом роде.
На них можно посмотреть после сохранения в dxf.

В целом, желательно удалять эти "свойства" не у всех элементов, а только у указанных пользователем.
АлексЮстасу вне форума  
 
Непрочитано 03.02.2011, 18:54
#4
Кулик Алексей aka kpblc
Moderator

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


Эти свойства "чистый" AutoCAD при demandload = 2 и незагруженных ObjectEnabler'ах распознает как прокси. Можно попробовать создать отдельный профиль AutoCAD на локальной машине, установить для него demandload = 2 и открыть такой файл именно в этом локальном профиле.
P.S. Удалять "свойства" придется либо все, либо ни одного. ИМХО другого варианта нет. Если удаляются все - файл будет корректно работать. Не все - значит, будут тормоза и глюки.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 03.02.2011, 19:29
#5
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,030


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
P.S. Удалять "свойства" придется либо все, либо ни одного. ИМХО другого варианта нет. Если удаляются все - файл будет корректно работать. Не все - значит, будут тормоза и глюки.
Свойства-идентификаторы элементов (Feature Classes==Object Classes==Классы объектов) отлично удаляются, заменяются средствами самого AutoCAD Map. Но только, если доступен соответствующий xml-файл описания Feature Classes==Object Classes==Классов объектов. Т.е. в работе с ними проблем сейчас практически никаких нет.
В конце концов вполне можно просто сохранить файл как dwg или dxf Autocad 2000.
Основная проблема - отсоединение дополнительных свойств (Custom Properties==Классификационные свойства). Но не как "зла", не у всех элементов, а для присвоения других - нужных.
Файлы работают совершенно корректно, пока соблюдается заданное в xml-файле соответствие Object Classes--Custom Properties. Когда приходится заменять у элемента один Object Classes на другой, с другим набором Custom Properties, то именно тогда и возникают проблемы.
Просто в AutoCAD Map забыли дописать отсоединение вместе с Object Classes присущих ему Custom Properties. И вообще забыли придать инструмент отсоединения Custom Properties. Так понимаю, что у AutoCAD такая забывчивость в порядке вещей.

Последний раз редактировалось АлексЮстасу, 03.02.2011 в 22:55.
АлексЮстасу вне форума  
 
Непрочитано 07.02.2011, 02:32
#6
Vov.Ka


 
Регистрация: 21.07.2008
Луцьк
Сообщений: 179


отсоединяем от фиолетовой полилинии
Код:
[Выделить все]
 (setq ClassName "объект5")
(setq EntName (car (entsel (strcat "\nSelect entity of <" ClassName ">: "))))
(entmod
    (vl-remove
        (cons 330 EntName)
        (entget
            (cdadr
                (member
                    (cons 3 ClassName)
                    (entget
                        (cdr (assoc 350 (dictsearch (namedobjdict) "ACAD_OC")))
                    )
                )
            )
        )
    )
)
или вообще удаляем классификатор
Код:
[Выделить все]
 (entdel
            (cdadr
                (member
                    (cons 3 ClassName)
                    (entget
                        (cdr (assoc 350 (dictsearch (namedobjdict) "ACAD_OC")))
                    )
                )
            )
        )
Vov.Ka вне форума  
 
Автор темы   Непрочитано 07.02.2011, 03:18
#7
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,030


Цитата:
Сообщение от Vov.Ka Посмотреть сообщение
отсоединяем от фиолетовой полилинии

или вообще удаляем классификатор
Ух ты! Вы уже имели дело с маповскими данными?

Первый фрагмент - отсоединяется не только ClassName, но и его Custom Properties?

А "вообще удаляем классификатор" - в смысле удаляем все ClassName у всех элементов или удаляем у одного элемента и ClassName, и Custom Properties?

Как это можно запустить-поиграться?
АлексЮстасу вне форума  
 
Непрочитано 07.02.2011, 19:02
#8
Vov.Ka


 
Регистрация: 21.07.2008
Луцьк
Сообщений: 179


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Как это можно запустить-поиграться?
копипейст в коммандрую строку или vlide
Vov.Ka вне форума  
 
Автор темы   Непрочитано 08.02.2011, 02:41
#9
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,030


Цитата:
Сообщение от Vov.Ka Посмотреть сообщение
копипейст в коммандрую строку или vlide
Скопировал первый фрагмент в ком. строку, и получилось:
((-1 . <Entity name: 7eb34780>) (0 . "DATATABLE") (5 . "2B8") (102 .
"{ACAD_REACTORS") (330 . <Entity name: 7eb346f0>) (102 . "}") (330 . <Entity
name: 7eb346f0>) (100 . "AcDbDataTable") (70 . 2) (90 . 8) (91 . 1) (1 .
"объект5") (92 . 9) (2 . "id") (330 . <Entity name: 7eb34770>) (92 . 10) (2 .
"isTagged") (71 . 1) (92 . 2) (2 . "общая ширина") (40 . 0.0) (92 . 1) (2 .
"общая ширина.flags") (93 . 1) (92 . 3) (2 . "пояснение") (3 . "") (92 . 1) (2
. "пояснение.flags") (93 . 1) (92 . 2) (2 . "общая глубина") (40 . 0.0) (92 .
1) (2 . "общая глубина.flags") (93 . 1))
Command: )
И при этом открылся хелп Civil 3D.
Ничего не отсоединилось, но уже прочитались пользовательские свойства!

После копирования второго фрагмента в ком. строку ничего не произошло.

Я ведь совсем не программист.
АлексЮстасу вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > как удалить свойства, созданные Autocad Map?

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Коллеги, помогите советом начинающему (3DS Max -> AutoCAD)...!!! Easter Прочее ПО от Autodesk 3 28.07.2010 13:04
Clipboard Manager для AutoCad gest AutoCAD 6 03.02.2010 11:02
Где в реестре хранится информация о том, что в системе когда-то был установлен AutoCAD? Archeo AutoCAD 12 14.10.2009 15:24
При установки Autocad возникла ошибка Vlad mir AutoCAD 3 14.11.2008 11:04
AutoCAD стал просить удалить временные файлы dermoon AutoCAD 4 22.04.2008 10:54