ADN Club > AutoLisp / VisualLISP и DCL
Не определяется стиль заголовка объединенных ячеек
Electric:
Тогда у меня глупый вопрос - возможно ли писать на AutoLISP в AutoCAD без применения ActiveX?
Или проще снова идти учить C#.
Алексей Кулик:
--- Цитата: Electric от 16-06-2021, 07:43:36 ---возможно ли писать на AutoLISP в AutoCAD без применения ActiveX?
--- Конец цитаты ---
Возможно, но очень геморройно - особенно касаемо таблиц. Там в DXF кодах запутаться проще простого, мне кажется.
Electric:
--- Цитата: Алексей Кулик от 15-06-2021, 20:41:00 ---По-моему, лиспом подобное невозможно сделать. Мало того, даже если разбить ячейки, вторая и далее строки опознаются неверно.
Я бы скорее всего забил на попытки опознания и делал обработку начиная с 4 строки.
--- Конец цитаты ---
У меня таблицы могут иметь разные заголовки. Я поступил немного иначе, считываю как заголовок все строки, имеющие вертикально объединенные ячейки со строкой-заголовком, vla-ismergedcell работает нормально.
Алексей Кулик:
А каким манером определяется, что выполнено объединение именно с первой строкой? Мне реально интересно.
Если объединить ячейки данных по вертикали - код корректно сработает?
Electric:
--- Цитата: Алексей Кулик от 17-06-2021, 08:55:36 ---А каким манером определяется, что выполнено объединение именно с первой строкой? Мне реально интересно.
Если объединить ячейки данных по вертикали - код корректно сработает?
--- Конец цитаты ---
Пока прохожу по строкам таблицы, если строка по стилю определяется как Заголовок - с помощью вложенного цикла прохожу по её столбцам и по каждой её ячейке с помощью vla-ismergedcell определяю насколько конкретная ячейка объединена вниз, инкрементируя аргумент maxRow. Таким образом получаю максимальный номер объединенной ячейки снизу.
На стиль строки - не Заголовок, этот IF не запустится.
Даже если это неотимальный алгоритм, он выполняется на 1-3 начальных строках таблицы кабельного журнала или спецификации, что не влияет на производительность.
Навигация
Перейти к полной версии