Сообщество программистов Autodesk в СНГ
ADN Club => AutoCAD .NET API => Тема начата: Алексей (IdeaSoft) от 30-11-2016, 12:57:28
-
Подскажите, как проверить переход таблицы на другой лист
Контролировать число строк не помогает, т.к.
высота строки может быть переменной
У меня такая идея.
Сделал пока так. Суммирую высоты всех строк и контролирую переход на следующий лист,
сравнивая с заданную высоту с высотой всех строк.
Для контроля N-листов можно просто поделить ЗАДАННУЮ ВЫСОТУ / СУММУ ВЫСОТ СТРОК
Может у объекта таблицы есть свойство, которое возвращает количество постраничных фрагментов?
(https://s17.postimg.org/lgo56nfor/Tabl_List.png) (https://postimg.org/image/lgo56nfor/)
-
Выложи сам чертеж с таблицей - гляну. Есть пару идей, но не буду пока их озвучивать.
-
Прикрепляю файл спецификации.
Идея алгоритма простая.
Дан шаблон спецификации максимально загруженного варианта проектного решения.
Я заполняю поля где нужно, те поля, которые остались незаполненными
просто удаляю.
И в результате удаления записей таблица может занять только 1 лист, а не 2
Это влияет на нумерацию листов в проекте.
В шаблоне применим шрифт GOST 2.304 type A, но я думаю он не понадобится для решения этой задачи.
-
Посмотри на картинку:
(https://adn-cis.org/forum/proxy.php?request=http%3A%2F%2Fimg-fotki.yandex.ru%2Fget%2F194549%2F7842324.7%2F0_14630e_36090d38_orig.png&hash=9ba53a6abd1c02a1ff34f2fe2a271dbd)
По ней можно сделать вывод, что количество листов будет равно трём, так как в два листа чуть чуть не влезаем: 50236/24898 = 2.017
-
И в результате удаления записей таблица может занять только 1 лист, а не 2
У меня три:
(https://adn-cis.org/forum/proxy.php?request=http%3A%2F%2Fimg-fotki.yandex.ru%2Fget%2F196736%2F7842324.7%2F0_14630f_81c04ee_orig.png&hash=c128ceac9717278e228658d101e996e6)
-
У меня три:
Ну вообщем то да может быть и больше трех
если выбрать другой шрифт и размер шрифта.
Просто шрифт GOST type A он более плотный и у меня только 2 листа.
Вообщем можно не заниматься подсчетом сумм
высот строк, а просто поделить высоту таблицы Height на Extens.
-
а просто поделить высоту таблицы Height на Extens.
И округлить вверх до целого.