Разбитие таблицы на несколько независимых: возможно ли?

Автор Тема: Разбитие таблицы на несколько независимых: возможно ли?  (Прочитано 4586 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн MacondoАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 57
  • Карма: 1
Цель такова, чтобы длинную таблицу вставить в рамки формата листа. Первый вариант подразумевает такую последовательность действий: вставляем i-рамку листа выбранного формата, вставляем строки таблицы от 0 до j, каждый раз сверяя точку вставки с нижней границей листа, и если имеется превышение, создаём ещё один лист и продолжаем таблицу там.

Второй вариант, ради которого и создавалась эта тема, предполагает создание таблицы с последующим её разбиением по вертикали на куски нужной длины со вставкой их на листы. Для этого имеется некоторый базовый набор инструментов:

Код - Auto/Visual Lisp [Выбрать]
  1.   (setq my_table (vlax-ename->vla-object (car (entsel))))
  2.   (vla-put-EnableBreak my_table :vlax-true); включение свойства разбития таблицы
  3.   (vla-put-BreakSpacing my_table 5); расстояние между разбитыми таблицами
  4.   (vla-put-TableBreakHeight my_table 20); высота разбиения таблицы
  5.   (vla-put-TableBreakFlowDirection my_table 1); направление построения разбитых таблиц
  6.   (vla-put-repeattoplabels my_table :vlax-true); повтор заголовков в разбитых таблицах
  7.   (vla-put-AllowManualHeights my_table :vlax-true); независимость разбитых таблиц

Но после всего этого части таблицы не просто остаются связанными по содержимому, являясь единым объектом, но и при изменении InsertionPoint перемещаются вслед за своей "головой".
Возможно ли если не разделить таблицу на независимые части, то хотя бы программно управлять точками вставки каждой из её частей?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Возможно ли если не разделить таблицу на независимые части, то хотя бы программно управлять точками вставки каждой из её частей?
Нет.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн MacondoАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 57
  • Карма: 1
Уважаемый Александр Ривилис, спасибо за суровую правду!

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1096
  • Карма: 172
Macondo, если нужно действительно "разбивать" таблицу, то (ИМХО) придется создавать несколько объектов таблиц, куда и переносить данные.
Просто из любопытства: а почему такое решение потребовалось?
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

Оффлайн MacondoАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 57
  • Карма: 1
Алексей Кулик, для вставки в выбранные форматы листа (в пространстве модели) длинной таблицы условно-графических обозначений. Наверное, тут тогда проще реализовать первый вариант:

Код - Auto/Visual Lisp [Выбрать]
  1. (цикл №1 по количеству строк будущей таблицы:
  2.   (цикл №2 по количеству возможных вставок таблицы по ширине листа заданного формата:
  3.     (если точка вставки i-строки таблицы не выходит за границы листа, вставка i-строки)
  4.     (если выходит — к началу цикла №2 для создания новой таблицы на этом же листе правее текущей)
  5.   );цикл №2
  6. );цикл №1

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1096
  • Карма: 172
А почему бы не использовать листы и видовые экраны? Мне кажется, это будет проще. И дешевле.
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

Оффлайн MacondoАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 57
  • Карма: 1
Алексей Кулик, с ними мало кто работает, привычнее всё в модели делать и видеть. Да и так быстрее, мне кажется.

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1096
  • Карма: 172
Работайте, смотрите. А на печать выводите через листы.
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!