Здравствуйте.
Подскажите, как в чертеже избавиться от наличия геометки? Не отключить отображение (GEOMARKERVISIBILITY <0>), а удалить её?
Я знаю только один способ:
В Нанокаде копировать содержимое чертежа в буфер обмена;
В Автокаде вставить в чистый чертёж содержимое буфера. В этот момент геометка пропадает;
Сделать обратную операцию, копировать из Автокада в новый чертёж Нанокада.
Этот способ требует наличия Автокада и часто ломает чертежи, поэтому не устраивает.
Olga94
10.Апрель.2024 11:25:35
2
Чтобы удалить насовсем с помощью Автокада - команда “_GEOREMOVE”.
Чтобы удалить насовсем с помощью Автокада - команда “_GEOREMOVE”.
Спасибо, для Автокада работает. А в Нанокаде нет такой команды.
Как быть с Нанокадом?
А насколько это серьезная проблема сейчас? Т.е. почему принципиально обязательно удалять, а не просто отключить?
А насколько это серьезная проблема сейчас? Т.е. почему принципиально обязательно удалять, а не просто отключить?
У меня задача начальства избавиться от геомаркеров.
Насколько я понимаю, геомаркер содержит данные о географическом положении объектов. Передача этих данных в сторонние файлы недопустима.
Боюсь сейчас в nanoCAD удалить геомаркер не получится, только отключить.
Код от EduardSt сносит эту шляпу
(defun c:drz_GEOREMOVE ( / ext_dict vb va)
(vl-load-com)
(setq mes “Расширения в файле отсутствуют!”)
(setq va (vla-get-ModelSpace (vla-get-ActiveDocument (vlax-get-acad-object))))
(if (equal (vla-get-hasextensiondictionary va) :vlax-true)
(progn
(setq ext_dict (vla-GetExtensionDictionary va))
(setq mes “Геоинформация отсутствует!”)
(vlax-for vb ext_dict
(if (= (vla-get-ObjectName vb) “AcDbGeoData”)
(progn
(vla-delete vb)
(setq mes “Геоинформация удалена!”)
)))
)
)
(print mes)
(prin1)
)
Код от EduardSt сносит эту шляпу
(defun c:drz_GEOREMOVE ( / ext_dict vb va)
(vl-load-com)
(setq mes “Расширения в файле отсутствуют!”)
(setq va (vla-get-ModelSpace (vla-get-ActiveDocument (vlax-get-acad-object))))
(if (equal (vla-get-hasextensiondictionary va) :vlax-true)
(progn
(setq ext_dict (vla-GetExtensionDictionary va))
(setq mes “Геоинформация отсутствует!”)
(vlax-for vb ext_dict
(if (= (vla-get-ObjectName vb) “AcDbGeoData”)
(progn
(vla-delete vb)
(setq mes “Геоинформация удалена!”)
)))
)
)
(print mes)
(prin1)
)
Спасибо! Лисп работает, то что надо!
Боюсь сейчас в nanoCAD удалить геомаркер не получится, только отключить.
Как раз лисп выше (уже успел забыть про него!) сносит этот геомаркер из файла.
Проблема в том, этот маркер периодически возникает вновь, если кто-то из команды проекта копирует через буфер что-то из “зараженного” файла. Реально, ведет себя эта шляпа, как вирус. Поэтому таблетку лучше иметь под рукой.
1 лайк
Громов
26.Апрель.2026 05:29:45
11
Загрузил данный лисп, метка осталась
DRZ_GEOREMOVE - DRZ_GEOREMOVEошибка: неверное число аргументов: SETQ: (MES “РАСШИРЕНИЯ В ФАЙЛЕ ОТСУТСТВУЮТ!”)
E:\Работа\Библиотека\nogeomarker.lsp:3,7
Предположу, что в результате экспериментов с лисп-файлом кто-то сдвинул скобку.
Выражение должно быть, как указано в фрагменте кода выше,
(setq mes “Расширения в файле отсутствуют!”).
В таком виде неверного количества аргументов быть не может.
1 лайк
Громов
27.Апрель.2026 01:57:47
13
Благодарю, действительно ошибка была в коде, все сработало.
2 лайка