Jump to content

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


Recommended Posts

Добрый день.

Вопрос - возможно ли как-то вывести в таблицу значение слоя примитива, текста или атрибута находящегося в блоке?

Link to comment
Share on other sites

5 минут назад, Artem_R сказал:

Shift+F2 -> присоединить объект -> =Object(номер объекта).Layer

Данный алгоритм выведет слой в котором находится сам блок. А я спрашивал про слои примитивов/текста/атрибутов внутри блока. То есть у меня в блоке есть атрибут и он находится в отличном от блока слое, вот этот слой как-то можно в таблицу поместить?

 

Link to comment
Share on other sites

Аааа .. "находящегося в блоке" относилось и к примитивам и текстам тоже.

Тогда не знаю такого способа.

Link to comment
Share on other sites

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

в блоке есть атрибут и он находится в отличном от блока слое, вот этот слой как-то можно в таблицу поместить?

не получится..

Для чего такое потребовалось? 

Link to comment
Share on other sites

А зачем Вам это? Интересно просто. Вы же слои примитивов в блоках не меняете, я думаю.

добавлено через 2 минуты
Только что, doctorraz сказал:

не получится..

Ну как ... Можно вбить значение ручками. Или разбить в уголке аналогичный блок и забрать слой с примитива. )))

Link to comment
Share on other sites

11 минут назад, Artem_R сказал:

Можно

не разбирая блок штатными средствами не можно

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

вбить значение ручками

think.gif.c8889f2cb52669826bdbdd94e3bc8190.gif

Link to comment
Share on other sites

Просто есть множество блоков и в них определенные атрибуты должны лежать в определенном слое, хотел сделать такую табличку, чтобы видеть, что все необходимые атрибуты лежат на нужных слоях. Пока вижу способ с эксплоудом всех таких блоков, но это не очень удобно.

Link to comment
Share on other sites

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

в них определенные атрибуты должны лежать в определенном слое

Так может все проще? 

Найти "определённый атрибут" и по нему вывести слой (название а не свойство)

Без имени1.dwg

  • Like 1
Link to comment
Share on other sites

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

хотел сделать такую табличку, чтобы видеть, что все необходимые атрибуты лежат на нужных слоях.

кто их переместил в другие слои?

в порядке бреда

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

затем, как предложил уважаемый @Artem_R взорвать все блоки, посмотреть в отчете какие атрибуты не на своих слоях (запомнить или пометить), потом undo

  • Like 2
Link to comment
Share on other sites

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

кто их переместил в другие слои?

Вот да.

  

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

в порядке бреда

Да проще - если по количеству можно определить все ли на месте, то обход слоев по тому слою, на котором нужные атрибуты. Если нужен контекст - конфигурации слоев, где нужный слой почти прозрачный, например. Потом восстановить как было.

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

  • Confused 1
Link to comment
Share on other sites

3 минуты назад, Artem_R сказал:

Взрывать боязно, вдруг 

когда боязно, что бы не накосячить..

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

даже просто смотреть  разные места одного файла удобно (несколько ВЭ в модели это муляж функционала)

 

  • Like 1
  • Haha 1
Link to comment
Share on other sites

3 часа назад, hudozhnik сказал:

Просто есть множество блоков и в них определенные атрибуты должны лежать в определенном слое

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

После чего вызвать бэтмэн и обновить все вхождения.

Плюсы:

    1. Все атрибуты будут соответствовать описанию блока

    2. Все атрибут будут на слоях, им прописанных

Минус:

    1. если были переопределения  атрибутов кроме слоев (высота, поворот и т.п.), то это все будет утеряно

    2. измененное описание блока может вызывать нежелательные эффекты при копировании в другой чертеж со "старыми" описаниями

Link to comment
Share on other sites

5 часов назад, EdwardSt сказал:

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

После чего вызвать бэтмэн и обновить все вхождения.

Плюсы:

    1. Все атрибуты будут соответствовать описанию блока

    2. Все атрибут будут на слоях, им прописанных

Минус:

    1. если были переопределения  атрибутов кроме слоев (высота, поворот и т.п.), то это все будет утеряно

    2. измененное описание блока может вызывать нежелательные эффекты при копировании в другой чертеж со "старыми" описаниями

Под множеством блоков я подразумевал множество разных блоков (разные имена), но у них у всех есть одинаковые атрибуты (по имени) и они все должны лежать на определенном слое.

При создании отчета по необходимым атрибутам и последующем взрывании, способ в принципе рабочий, но, не самый удобный.

добавлено через 3 минут
7 часов назад, MCAD сказал:

Так может все проще? 

Найти "определённый атрибут" и по нему вывести слой (название а не свойство)

Без имени1.dwg 318 \u043a\u0411 · 0 загрузок

Открыл файл, поизучал, но ничего не понял=)

Link to comment
Share on other sites

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

у них у всех есть одинаковые атрибуты (по имени) и они все должны лежать на определенном слое.

Кто атрибутам слой меняет и зачем?

добавлено через 2 минуты
Только что, hudozhnik сказал:

При создании отчета по необходимым атрибутам и последующем взрывании, способ в принципе рабочий, но, не самый удобный.

Естесственно, автоматизация мощная штука, но не всесильная..

Иногда приходиться кривые бизнесс процессы выпрямлять и упрощать..

Иначе вот так анально..

ИИ пока в разработке))

Edited by doctorraz
  • Like 1
Link to comment
Share on other sites

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

Под множеством блоков я подразумевал множество разных блоков (разные имена), но у них у всех есть одинаковые атрибуты (по имени) и они все должны лежать на определенном слое.

 

Если количество описаний блоков невелико, то использование бэтмэна может оказаться самым простым и наглядным способом. В этом диалоге отображаются только блоки с атрибутами (первая часть отсечения лишнего), а также можно настроить на удобное 

Спойлер

image.thumb.png.76ad558d458fede13d58ad3a7b407701.png

 и менять атрибуты точечно там, где наблюдаются несоответствия.

 

 

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

 

 

Ну и, в конце концов, остаётся  самое эффективное средство - соответствующий лисп. Программка типа взять словарь соответствия (текстовый файл с парами "имя атрибута" - "наименование слоя") и актуализировать слои атрибутов в соответствии с ним - дело 15 мин. Более сложно - интерактивно и/или с окнами (но это всегда так с интерфейсными украшательствами).

 

Выбор за вами...

  • Like 1
Link to comment
Share on other sites

ЗЫ до нанокада ты какой программой вытаскивал имена слоев атрибутов из блоков?

добавлено через 9 минут

Всежэж мне непонятна конечная цель, получения слоев атрибутов..

Лиспом или шарпом решается практически все, но есть подозрение, что из пушки по воробьям((

  • Like 1
Link to comment
Share on other sites

9 часов назад, hudozhnik сказал:

Открыл файл, поизучал, но ничего не понял=)

Не заморачивайтесь. Я изначально  не правильно понял задачу. 

PS: Уж очень много вы хотите от простенького инструмента

Link to comment
Share on other sites

10 часов назад, hudozhnik сказал:

Под множеством блоков я подразумевал множество разных блоков (разные имена), но у них у всех есть одинаковые атрибуты (по имени) и они все должны лежать на определенном слое.

А на этом слое с атрибутами лежат только атрибуты или и другие примитивы блоков?

Link to comment
Share on other sites

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

 

Но изначально в посте @hudozhnik была озвучена задача ОТОБРАЗИТЬ В ТАБЛИЦЕ слои, на которых расположены атрибуты и тексты, входящие в блок. Сразу необходимо отметить, что тексты и атрибуты - это принципиально разные объекты и информация о них расположена в разных частях файла: тексты - в секции описания блоков (статическая информация, неизменная до переопределения блока) , атрибуты - в секции примитивов (собственный уникальный набор свойств типа слой, цвет и т.п.). Практическая ценность информации о текстах внутри блоков близится к нулю. Во всяком случая, не представляю способа ее использования.

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

 

PS. И махонький лисп для примера

 

Lay_validation.lsp

Edited by EdwardSt
  • Like 3
Link to comment
Share on other sites

Вот ещё, обычный вопрос из зала:

Цитата

Как сделать автоматическое  суммирование диапазона без использования отчётов

 

На самом-то деле я совсем не против, когда люди используют Excel, ну хотя бы процентов на 20-30, ну а когда на 5-10 3-5%, то тут можно (в качестве слабой альтернативы) задействовать таблицы нанокад :-)

Блок вместо маркера.dwg

  • Like 2
Link to comment
Share on other sites

Добрый день.

Возможно ли суммирование количества элементов при нескольких отчетах в таблице в итоге отчета?

Вот такая у меня таблица получается см. ниже.

 

image.thumb.png.0d4914ef081f2247b99858b9fc183f8d.png

Link to comment
Share on other sites

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

Возможно ли суммирование количества элементов при нескольких отчетах в таблице в итоге отчета?

нет, но

для каждого отчета можно сделать итог отчета

Спойлер

почему то это свойство назвали комментарий

Спойлер

image.png.ccb446b8f85e09097c34c7b98ce52959.png

Спойлер

image.png.cb1b011b3d4adcd4ef14e24b39489e48.png

 

а вот по именованным ячейкам уже можно получить сумму всех отчетов

но

  1. арифметика по именованным ячейкам глючит (не сразу пересчитывает), обещают поправить
  2. нежелательно несколько отчетов в одной таблице (возможны глюки в виде перемешивания строк и прочих непоняток), нанодев утверждает, что багу поправили, но на самом деле нет
добавлено через 5 минут
Спойлер

image.thumb.png.f914a934b6225f27340ea0af73521717.png

 

Один отчет по разделам.dwg

Edited by doctorraz
  • Like 2
Link to comment
Share on other sites

@hudozhnik вот вы понимаете, что при каждом добавлении объекта в отчёт номер строки нижнего отчёта должен пересчитываться? Мало того, что такие формулы (ячейки) индексируются сложным образом, так ещё и тормозят 

image.png.2ebddb1470407239564f8e5410f76c46.png

Цитата

 

=str(off(0;-3))+"x"+off(0;-2)+"x"+off(0;-1)+"x"+"(H)"

 

 

 

 

  • Like 2
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...