ADN Club > AutoLisp / VisualLISP и DCL

Выбор содержимого ячейки таблицы

(1/6) > >>

1958:
Столкнулся с такой проблемой. При запуске короткого лиспа в AC-2007 всё работает нормально, содержимое указываемой ячейки получается. При запуске этого же кода в AC-2021 ячейка не читается, выдается сообщение:  ** Error: неверный тип аргумента: lentityp nil **
В чем проблема, не пойму. Что интересно, если в AC-2021 (2020) указать не середину ячейки, а сторону ячейки, иногда значение получается.
Прикладываю два чертежа в разных версиях автокада.

Александр Ривилис:

--- Цитата: 1958 от 14-04-2022, 07:46:11 ---В чем проблема, не пойму.
--- Конец цитаты ---
Тут не нужно ничего понимать - тут нужно просто отладить программу и найти откуда появляется ошибка.

1958:
Вообщем придумал вот это:

--- Код - Auto/Visual Lisp [Выбрать] ---(defun c:11 (/) (vl-load-com) (setq p_1 (getpoint "\nКлик по числу в таблице >")) (setq p_2 (list (- (car p_1) 50) (- (cadr p_1) 20))) (setq ent (ssname (ssget "_C" p_1 p_2 '((0 . "ACAD_TABLE"))) 0)) (setq vla_table (vlax-ename->vla-object ent)) (vla-HitTest vla_table              (vlax-3d-point p_1)              (vlax-3d-point (trans (getvar 'ViewDir) 1 0))              'row              'col ) (setq val (vla-gettext vla_table row col)) (alert (vl-prin1-to-string val)))Вроде работает.

Александр Ривилис:
1958,
Не забывай про правило форматирования кода на форуме!
Что касается твоего кода, то он конечно же не универсальный. И кроме того нет проверки на то, что вообще что-то выбрано.

Александр Ривилис:
1958,
Проверил код из первого сообщения в AutoCAD 2021. Все нормально работает, если выбираешь текст внутри ячейки.

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Перейти к полной версии