Новости сайта: 2023-08-06: Программа CES-Топо обновлена до версии 1.25.0 Новые модули
Изменения
- CES-Утилиты→Работа с блоками→Проставить блоки по полилинии - добавлены опции: проставить случайно, повернуть блок по полилинии читабельно, цвет и слой по полилинии
Работа над ошибками
- Некоторые подпримитивы некоторых блоков имели цвет 'по слою' - исправлено на 'по блоку'.
2023-06-27: Обновлены программы CES-Топо и CES-Профиль
Исправлена ошибка, приводящая к сообщению "Ошибка Automation. Невозможно установить свойство в развернутом состоянии" на некоторых компьютерах при построении триангуляции
2023-04-04: Программа CES-Топо обновлена до версии 1.24.1 Новые модули
Изменения
Работа над ошибками
Все новости...
|
2014-04-24: Lisp и Autocad Civil 3D: как получить отметку Z с поверхности Civil.
Замечательная команда (vlax-dump-object(vlax-ename->vla-object (car(entsel)))T) позволяет исследовать методы и свойства объектов. Применив данную команду к поверхности Civil, среди прочих видим метод с интересным названием: FindElevationAtXY. Опробовав, убеждаемся в том что это то что нам нужно. Однако, есть незадача: метод возвращает ошибку и прерывает работу Lisp-приложения, если координаты точки, отметку Z которой нужно узнать, находятся за пределами поверхности. Поэтому вызов метода нужно заключить в обработчик ошибок. И так, в окончательном виде функция для нахождения отметки Z по поверхности Civil и координатам XY примет вид: (defun SURFACE_FindElevationAtXY (obj p / result) (setq result (vl-catch-all-apply(function(lambda()(vlax-invoke-method (vlax-ename->vla-object obj) "FindElevationAtXY" (car p) (cadr p)))))) (if(vl-catch-all-error-p result) (setq result 0.0) ); end if result ); end defun PS. Перед вызовом вышеописанной функции, равно как и перед вызовом vlax-dump-object... необходимо загрузить поддержку ActiveX командой (vl-load-com) Просмотров: 3759 Вернуться назад
|
|