Jump to content

Работа с таблицами в nanoCAD


Recommended Posts

4 минуты назад, MD27 сказал:

Как сделать автоматическую нумерацию позиций

=xnum(off(-1;0))+1 ? ну и костыль доделать, чтобы в первой строке получалась единица)

  • Like 1
Link to comment
Share on other sites

Только что, MD27 сказал:

А как это соединить с "=Object.Position"

никак) автоматически пронумеровать объекты в таблице низя)
Если таблица без группировки ячеек, то можно растянуть как в экселе)
Если с группировкой, то растянуть тоже можно, но, допустим,  я работаю в Нанокад СПДС 6.0 - тут это работает криво)

  • Like 1
Link to comment
Share on other sites

15 минут назад, dromandon сказал:

никак) автоматически пронумеровать объекты в таблице низя)
Если таблица без группировки ячеек, то можно растянуть как в экселе)
Если с группировкой, то растянуть тоже можно, но, допустим,  я работаю в Нанокад СПДС 6.0 - тут это работает криво)

Вопрос снят, спасибо. Растянуть у меня работает криво, поменял ответ)

Edited by MD27
Link to comment
Share on other sites

12 минут назад, MD27 сказал:

Все равно не пойму, операция с "=Object.Position+1" равно 2, это работает, то будет работать (-  /  *), а логические не будут?.Если у меня позиция не заполнена, почему я не могу создать столбец и поместить в него =xnum(off(-1;0)), и уже дать ссылку на столбец совместно с "=Object.Position" ?

я, может, не понимаю, чего вы хотите)
Какой вы результат хотите увидеть в таблице? Чтобы там появился нужный вам номер, зависящий от "Object.Position" - то это не проблема. Если же вы хотите через какую-то формулу менять параметр "Object.Position" - то это не получится. Параметры внутри объектов  базы/маркеров/других объектов отчёта нельзя изменить через формулу. По крайней мере я не вижу способа, как это сделать.

  • Like 1
Link to comment
Share on other sites

8 минут назад, dromandon сказал:

я, может, не понимаю, чего вы хотите)
Какой вы результат хотите увидеть в таблице? Чтобы там появился нужный вам номер, зависящий от "Object.Position" - то это не проблема. Если же вы хотите через какую-то формулу менять параметр "Object.Position" - то это не получится. Параметры внутри объектов  базы/маркеров/других объектов отчёта нельзя изменить через формулу. По крайней мере я не вижу способа, как это сделать.

Я хотел получить автонумерацию в ячейке с оператором, понял теперь что это невозможно, потому что он берет информацию с объекта. Я думал, если есть двухсторонняя связь, таблицы с объектом, то можно в таблице присвоить позицию, а с таблицы в свою очередь "перенесется" на объект, получается наоборот, а тут игра в одни ворота). В ручную, можно, руками вносишь номер и он на объекте, а автоматически, я так понял нельзя 

  • Like 1
Link to comment
Share on other sites

6 минут назад, MD27 сказал:

в таблице присвоить позицию, а с таблицы в свою очередь "перенесется" на объект,

Так можно сделать ( и просто делается), но вычислить и передать вычисленное назад - нельзя.

1 час назад, dromandon сказал:

Если с группировкой, то растянуть тоже можно, но, допустим,  я работаю в Нанокад СПДС 6.0 - тут это работает криво)

Группировка - группировке рознь. Вот так можно передавать в объекты:

Link to comment
Share on other sites

Здорово!

18 минут назад, MCAD сказал:

Так можно сделать ( и просто делается), но вычислить и передать вычисленное назад - нельзя.

Группировка - группировке рознь. Вот так можно передавать в объекты:

Только у меня в таблице не появляется "наклонной", чтобы можно было так растянуть по ячейкам и пересчитать

Nanocad СПДС Железобетон, версия 4.0

Edited by MD27
Link to comment
Share on other sites

8 минут назад, MCAD сказал:

Группировка - группировке рознь. Вот так можно передавать в объекты

Если я правильно увидел, в видео идёт "объединение" а не "группировка"?)
Ну либо если и группировка, то точно в версии выше моей) ибо у меня не появляется стрелочка, если надо растянуть сгруппированные ячейки)

Спойлер

Сейчас растянулось нормально, когда объектов больше и они сложнее, растягивание тупит, начинает дублировать числа

Спойлер

 

  • Like 1
Link to comment
Share on other sites

33 минуты назад, ПГС-Проект сказал:

Неплохо бы знать какой функционал у таблиц урезан в версии 5.1

Ничего не урезали. Как было в коммерческой версии так и осталось.

Link to comment
Share on other sites

3 часа назад, ПГС-Проект сказал:

Неплохо бы знать какой функционал у таблиц урезан в версии 5.1

Неплохо было бы вам самим проанализировать этот вопрос: вы уже больше 5 лет работаете в 5.1 (судя по форуму), а скачать 30-ти дневную версию 20-ки и провести ее сравнительный анализ - это вполне посильная задача специалисту... А по результатам написать статью, опубликовать её с хеш тегом #nanocad и получить (при интересной статье) Яндекс-колонку либо внимание с нашей стороны...

Link to comment
Share on other sites

  • 1 year later...

Добрый день, коллеги!

Такой вопрос.

Необходимо у таблицы сделать колонтитул первой страницы, изменяемый в зависимости от количества сраниц у таблицы. Т. е., если страниц всего одна, то "Имя таблицы", а в случае, когда таблица разбивается на несколько страниц, то "Имя таблицы (начало)".

Думаю, что надо написать что-то вроде

=iff(<условие>, "Имя таблицы", "Имя таблицы (начало)").

Беда в том, что в свойствах таблицы нет числа страниц.

Link to comment
Share on other sites

8 минут назад, AlExTs сказал:

Беда в том, что в свойствах таблицы нет числа страниц.

Попробуйте плясать от количества строк? Вроде есть переменная, отвечающая за общее количество строк в таблице) 

Link to comment
Share on other sites

14 минут назад, dromandon сказал:

Попробуйте плясать от количества строк? Вроде есть переменная, отвечающая за общее количество строк в таблице) 

В самом общем случае, количество строк на странице может быть разное (в зависимости от формата) поэтому нужна переменная "количество страниц". Может быть она есть, просто в диспетчер свойств не выведена?

Link to comment
Share on other sites

Только что, MCAD сказал:

Нет.

Получается, нет решения?

30 минут назад, AlExTs сказал:

Добрый день, коллеги!

Такой вопрос.

Необходимо у таблицы сделать колонтитул первой страницы, изменяемый в зависимости от количества сраниц у таблицы. Т. е., если страниц всего одна, то "Имя таблицы", а в случае, когда таблица разбивается на несколько страниц, то "Имя таблицы (начало)".

Думаю, что надо написать что-то вроде

=iff(<условие>, "Имя таблицы", "Имя таблицы (начало)").

Беда в том, что в свойствах таблицы нет числа страниц.

 

Link to comment
Share on other sites

Только что, AlExTs сказал:

Получается, нет решения?

Вверху в меню таблицы есть опция разделять таблицу в зависимости от количества строк, можно с этим поиграться) либо просто забить на слово "начало") 

  • Like 2
Link to comment
Share on other sites

2 часа назад, AlExTs сказал:

Необходимо у таблицы сделать колонтитул первой страницы, изменяемый в зависимости от количества сраниц у таблицы.

Колонтитул первой страницы, просто колонтитул и колонтитул последней страницы не оно?

Не оно(((

Свойства таблицы, что таблица разделена на страницы тож походу нет, или есть?

 

Edited by doctorraz
Link to comment
Share on other sites

13 часов назад, doctorraz сказал:

Колонтитул первой страницы, просто колонтитул и колонтитул последней страницы не оно?

Не оно(((

Свойства таблицы, что таблица разделена на страницы тож походу нет, или есть?

 

Вот и пытаюсь выяснить, есть ли какой-то признак разделения таблицы на несколько страниц.

Link to comment
Share on other sites

В 26.02.2020 в 16:30, MD27 сказал:

Добрый день! Вопрос опять по таблице. Как сделать автоматическую нумерацию позиций . Пример: 1, 2, 3, 4, 5....и т.д. "=Row-1" не поможет, т.к. выполнено "группировать" по "шаблону отчета =Object.Position " и поэтому имеются скрытые строки , есть идеи?

Старый пост, но возможно ещё актуально (справедливо для версии 20.1 и выше):

Спойлер

 

00:04 Отчёт собирает все блоки на чертеже, у которых атрибут «ОТЧЁТ» ==1

00:06 Колонки отчёта “B”, “C” и “D”, берут значение с атрибутов блока Object."АРТИКУЛ", Object.Name и Object."ОПИСАНИЕ", соответственно 00:07 В колонке «Е» вычисляется количество одинаковых блоков = count()

00:09 Если атрибут блока «МАССА» имеет значение, то мы записываем его в колонку “F”, если в атрибуте нет значения, то пишем «-»=iff(Object."МАССА"=="";"-";Object."МАССА")

00:10 Проверяем, что если в ячейке отчёта колонки «F» (off(0;-1) от текущей колонки значение == «-», то возвращаем «-», если нет, то берем значение из колонки «F» (off(0;-1)) и умножаем его на количество блоков, полученных в колонке «E» (off(0;-2)). Таким образом в колонке «G» имеем выражение =iff(off(0;-1)=="-";"";off(0;-2)*off(0;-1)+"кг.")

00:11 В колонке «G» записана функция ctlSetValue. Она берёт значение из колонки «I» (off(0;1)) и записывает его в атрибут блока Object."ПОЗИЦИЯ". =sum(ctlSetValue(off(0;1);Object."ПОЗИЦИЯ"))

00:19 Так как, по условия задачи, мы должны иметь возможность кроме «Позиции» на полке выноски показывать количество, и мы должны возможность этим оперативно управлять, то пишем условие: iff(H1==1;"("+off(0;-4)+iff(H2==1;I2;"")+")";"") Другими словами, если ячейка «H1»==1, то добавляем количество из ячейки off(0;-4) и , если H2==1 , то добавляем «шт.» из ячейки «I2» (это условие только в файле. В ролике не отображено)

00:25 меняем значение условие Н1==0 на Н1==1 и, прямо в построителе выражений, видим как у нас меняются данные в ячейках колонки. К номеру позиций добавляются «(» «)» и количество блоков определённого типа

00:31 Расставляем «Универсальный маркер» «Маркер для Виктора», указывая на боки в чертеже. Так как «Маркер» заимствует значение позиции с блока, то на полке автоматически отображается нужная нам информация.

01:17 Используем «Именованные ячейки» таблицы для управления отображением содержимого выноски «Универсального маркера» (в файле используются «переменные» заданные на пользовательской форме)

01:36 При удалении определённого количества блоков с чертежа, количество блоков на выноске автоматически меняется.

02:29 Кроме этого в файле есть ещё одна дополнительная таблица, «Вспомогательная таблица для нумерации блоков» . В ней с сбираются все блоки с атрибутом ОТЧЁТ == 1, объединяются по имени блока и, внутри объединения, сортируются по координате «Y» и по координате «Х». Далее подсчитывается количество и, с помощью функции ctlSetValue передаются в атрибут «Номер»: ctlSetValue(off(0;-1);Object."НОМЕР"). В фале эта таблица находится на скрытом слое «Service tables»

В вашем случае, после группировки =sum(ctlSetValue(ссылка на ячейку где вычисляется строка (row-1);Object.Position) , но конечно, нужно смотреть по конкретному отчёту.

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

  • 3 weeks later...
В 03.04.2021 в 14:03, AlExTs сказал:

то "Имя таблицы (начало)".

пошерстил нормативку и ничего не нашел...

если не затруднит в каком действующем НТД/НПА имеется требование писать "начало"

писать "продолжение" требование есть.

Link to comment
Share on other sites

14 минут назад, doctorraz сказал:

пошерстил нормативку и ничего не нашел...

если не затруднит в каком действующем НТД/НПА имеется требование писать "начало"

писать "продолжение" требование есть.

Мне кажется это из разряда "мы всегда так делали") 

  • Haha 1
Link to comment
Share on other sites

Как это вижу я

Спойлер

image.thumb.png.bfcb1a32fb86e21c6c1433dfe025eecc.png

 

Спойлер

image.thumb.png.524d2c9f824b05c91e6063e245b57b6f.png

 марка основного комплекта подставляется автоматически (по первому листу)

Так же в комплекте заполнялка основных надписей (просто табличный отчет без изысков)))

Ну и конечно жэж нумеровалка листов 

Спойлер

image.thumb.png.c364862aba670fad52ab8df3a9ccece6.png

В первый лист количество листов подставляется само)))

=============

каждый может взять напильник и перепилить по своему вкусу))

ТабКол.DWG

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Tell a friend

    Love Официальный форум компании Нанософт? Tell a friend!
×
×
  • Create New...