Jump to content

Простейшая автоматизация с помощью отчётов таблиц


Recommended Posts

Ахааааа!)) Не были бы мы проектировщиками если бы не под силу было взломать язык этот программистский!)))

Вообщем пару часов штудирования и я все же научился из одной таблицы брать значению в другую)

 

Кому возможно пригодится. В двух словах:

Есть две таблицы, одна со значениями, вторая - пустая.

Хотим значение (или текст) из первой таблицы (ячейка А1) вставить во вторую таблицу.

Входим в редактор таблицы №2. Правой кнопкой мыши кликаем в ячейку, в которую хотим что-то вставить из таблицы №1.

В выпавшем меню выбираем "Выражение". Открывается "Построитель выражений".

В левом нижнем углу этого окошка кликаем "Присоединить объект".

Нам дают выбрать этот самый объект и мы выбираем таблицу №1 (просто по ней кликаем) и жмем Enter.

Перед нами снова открывается "Построитель выражений". Мы видим что этому объекту (Таблице№1 присваивается имя Object1). Здесь же в верхнем поле "Построителя выражений" вводим =Object1.A1

Жмем Enter. Вуаля)

 

 

Теперь еще вопрос к знающим) Проблема всего вышеописанного в том, что если теперь в таблице№1 вставить строку, то связь уплывает :(

Т.е. если в таблице№1 "Вставить строку", то ячейка А1 уже получается пустая, а таблица№2 по прежнему тянет значение конкретно из адреса ячейки А1 таблицы №1.. Вот это не очень хорошо конечно.. Можно ли это как то подшаманить?

  • Like 1
Link to comment
Share on other sites

Я эту тему поднимал в ветке спдс. Там проблемы со связью есть, так что для себя пока решил не использовать эту тему

Link to comment
Share on other sites

Теперь еще вопрос к знающим) Проблема всего вышеописанного в том, что если теперь в таблице№1 вставить строку, то связь уплывает :(

Т.е. если в таблице№1 "Вставить строку", то ячейка А1 уже получается пустая, а таблица№2 по прежнему тянет значение конкретно из адреса ячейки А1 таблицы №1.. Вот это не очень хорошо конечно.. Можно ли это как то подшаманить?

Если ячеек немного, их можно сделать именованными.

В свойствах ячейки в комментарии пишите, например, "ячейка 1". И теперь на неё можно будет ссылаться =Object1."ячейка 1"

  • Like 1
Link to comment
Share on other sites

Если ячеек немного, их можно сделать именованными.

В свойствах ячейки в комментарии пишите, например, "ячейка 1". И теперь на неё можно будет ссылаться =Object1."ячейка 1"

Ух как. Спасибо. Так даже удобнее. Если логически обозвать ячейку изначально, то потом можно на нее легко сослаться, не вспоминая какая она там А1 или А3 и т.д.) Еще раз спасибо!

  • Like 1
Link to comment
Share on other sites

  • 4 months later...
Можно ли как то из одной таблицы (из определенной ячейки) скопировать значение (или же текст) в другую таблицу (в определенную ячейку). Все в рамках одного файла DWG соответственно.

Мы нашли ответ на этот вопрос в рамках одного файла DWG

 

1. А можно ли сделать связь на ячейку которая в другом файле?

2. Предположу что можно, и нужно прописать правильно путь к ячейке. Не подскажете как это сделать? Вот так выглядит формула со ссылкой на именованную ячейку внутри одного файла =Object1."проба" Предполагаю что между "=" и"Object1" должен быть как то обозначен файл на который ссылаться.

 

В целом идея в том чтобы из одного файла с данными вносить изменения сразу во всех файлах с чертежами.

Link to comment
Share on other sites

1. Прочитал в интернете следующее

.............Изменения коснулись и табличных отчетов nanoCAD СПДС. Автоматическое формирование отчетов ранее предполагало передачу свойств объектов чертежа в таблицы. Теперь предусмотрена возможность менять свойства объектов, связанных с отчетом, непосредственно из таблицы. Для визуального контроля на чертеже подсвечиваются объекты, свойства которых связаны с текущей строчкой отчета...............

 

2. В примере от Sampai, в прикрепленном файле можно реально увидеть как это работает для выносок.

 

А какие еще свойства, и каких объектов можно менять из таблицы?

Можно ли сделать например табличку с размерами прямоугольника, и при изменении размера в таблице прямоугольник изменит размер в соответствии с внесенными изменениями в таблице. Прямоугольник ведь это тоже объект, а его размер это его свойство.

А также может можно менять из таблицы положение объектов на чертеже?

 

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

 

Заранее спасибо.

 

P.S.

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

Link to comment
Share on other sites

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

Параметрические объекты можно создавать достаточно сложные. У меня на вики есть примеры

  • Like 1
Link to comment
Share on other sites

1. Прочитал в интернете следующее

.............Изменения коснулись и табличных отчетов nanoCAD СПДС. Автоматическое формирование отчетов ранее предполагало передачу свойств объектов чертежа в таблицы. Теперь предусмотрена возможность менять свойства объектов, связанных с отчетом, непосредственно из таблицы. Для визуального контроля на чертеже подсвечиваются объекты, свойства которых связаны с текущей строчкой отчета...............

 

2. В примере от Sampai, в прикрепленном файле можно реально увидеть как это работает для выносок.

 

А какие еще свойства, и каких объектов можно менять из таблицы?

Можно ли сделать например табличку с размерами прямоугольника, и при изменении размера в таблице прямоугольник изменит размер в соответствии с внесенными изменениями в таблице. Прямоугольник ведь это тоже объект, а его размер это его свойство.

А также может можно менять из таблицы положение объектов на чертеже?

 

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

 

Заранее спасибо.

 

P.S.

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

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

 

для тех, кому интересно - могу рассказать, как это (примерно, примерно!) выглядит изнутри. ну, или как может выглядеть :)

ну, а кому не интересно - можете смело пропускать остаток поста! :)

 

очевидная вещь - если я хочу наложить какую-либо зависимость, то надо отслеживать изменения того объекта, от которого что-то зависит. и как-то на них реагировать :) подобные вещи осуществляются посредством специальных реакторов. Их (реакторов) бывает много разных. в основном, изменения объекта можно отловить двумя способами - у каждого есть свои плюсы и минусы.

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

2) альтернатива - ObjectReactor. Он ставится на конкретный объект, и реагирует только на изменения этого объекта. тут все строго наоборот - холостых срабатываний нет, внутреннее устройство проще, но ракторов надо ставить много, и обработка начинает "размазываться".

 

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

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

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

 

это я все к чему... а к тому, что в общем случае - все сложно! :)

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

 

зы : ежели чего - сорри а арфографие и пунктуацие... :)

  • Like 2
Link to comment
Share on other sites

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

  • Like 1
Link to comment
Share on other sites

Спасибо Вам.

1. Посмотрел я на Вики, прочитал ваш пост и сделал выводы что в параметрические лезть не стану :).

2. Про "возможность менять свойства объектов связанных с отчетом из таблицы", тоже изначально немного сомневался.

3. А вот по поводу внешних ссылок, думаю это будет интересно.

 

Вот искал уже, и в редакторе таблиц нашел одну функцию для ячейки This.File "Внешний источник-файл в одном из форматов поддерживаемых таблицей"

А когда я взял и просто скопировал значения из таблицы OpenOffice, то функция в списке прочих выделена, и в ней прописан путь откуда я вставил данные. Присвоил ячейке эту функцию, но она стала отображает путь к файлу откуда скопировал :wacko:.

Все это меня наводит на мысль, что связь создать возможно, да еще и с таблицы OpenOffice можно. Будем искать :)

Link to comment
Share on other sites

Ух ты нашел кое что :D . Не надо формулы применять даже.

 

Когда я просто скопировал из таблицы OpenOffice и вставил в таблицу nanoCad то там связь уже какая то есть. Но она не обновляется автоматически когда я перезапускаю nanoCad.

Чтобы связь обновилась нужно зайти в редактор таблицы и нажать кнопку "Обновить таблицу из внешнего источника". Изменения которые были произведены в OpenOffice обновляются в nanoCad.

Все настолько просто, я даже не ожидал :D

 

Интересно только еще, можно ли сделать так чтобы эти связи обновлялись автоматически, после того как открываю файл nanoCad?

Link to comment
Share on other sites

Видно обновлять таблицу автоматически после открытия файла можно с помощью скрипта только.

 

Ну и то что есть - очень даже хорошо! :)

Спасибо разработчикам!

Link to comment
Share on other sites

  • 3 months later...

У меня такой вопрос- в экспликации полов как можно сделать так, чтобы автоматически было в столбце "номер помещения" перечисление номеров помещений с типом пола , допустим 1, а не группирование? как-то не получается у меня сделать так.. и как настроить в таблице округление значения? Или подскажите, как настроить в таблицах по умолчанию округление до 2-го знака после запятой

Edited by Nicolay1
Link to comment
Share on other sites

  • 4 months later...

Фукнционал таблиц конечно интересный. Особенно преобразование таблицы AutoCAD в nanoCAD. Но после этого таблица перестает редактироваться в AutoCAD, при определенных настройках AutoCAD может вообще не читаться. Приходится разбивать таблицу на отдельные элементы. Что не очень удобно, если впоследствии надо править проект.

Есть возможность преобразования таблицы nanoCAD обратно в AutoCAD?

Link to comment
Share on other sites

Можно, если под Автокадом установлено приложение MechaniCS Или СПДС GraphiCS.

Это касается НЕ только таблиц, но и всех элементов оформления.

Link to comment
Share on other sites

Можно, если под Автокадом установлено приложение MechaniCS Или СПДС GraphiCS.

Это касается только таблиц, но и всех элементов оформления.

Не выход, я ж не могу всем заинтересованным лицам установить данные приложения.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

Не выход, я ж не могу всем заинтересованным лицам установить данные приложения.

Можете передавать им pdf версию

  • Like 1
Link to comment
Share on other sites

Большинство работает в AutoCAD все таки. Заказчику нет смысла подстраиваться под мой софт. В ТЗ сказано отдать в формате AutoCAD и никого не будет волновать что чертеж сделан в другой программе, главное чтоб он корректно читался. А если он корректно не читается, то мне как проектировщику надо делать постоянные лишние телодвижения чтоб адаптировать свои чертежи под AutoCAD. Приходиться и на AutoCAD их проверять. Бывает что работу заказывает институт, у которого свои правила оформления документации. Работают они именно с AutoCAD. C меня требуют соответствие стилей выносок таблиц. И все это должно корректно читаться и редактироваться в AutoCADe, таблицы из линий недопустимы.

nanoCAD никто себе ставить не будет. Потому что просто многие привыкли работать с AutoCAD

В nanoCAD Free уже можно полноценно работать, но без возможности полноценного импорта в AutoCAD все таки приходиться работать в AutoCADe.

Edited by steils
Link to comment
Share on other sites

Бывает что работу заказывает институт, у которого свои правила оформления документации. Работают они именно с AutoCAD.

Для работы с "пользовательскими объектами" autodesk использует технологию Enebler'ов. В полном соответствии с этой технологией нужно пользоваться СПДС GraphiCS Enabler Есть еще вариант, установить на автокад СПДС в триальном режиме и запустить конвертацию таблиц СПДС в таблицы автокад.
Link to comment
Share on other sites

Для работы с "пользовательскими объектами" autodesk использует технологию Enebler'ов. В полном соответствии с этой технологией нужно пользоваться СПДС GraphiCS Enabler Есть еще вариант, установить на автокад СПДС в триальном режиме и запустить конвертацию таблиц СПДС в таблицы автокад.

Это все хорошо, но к чужим компам я доступа не имею. Ставить что либо и советовать что ставить я не могу. Мне нужно подготовить документ в nanoCAD так, чтобы его не приходилось потом править в AutoCADe и графические элементы (таблицы, выноски и прочее) были доступны для редактирования и в AutoCAD и в nanoCAD. В противном случае вся эта бесплатность nanoCAD оборачивается большими трудозатратами при выпуске проекта. Что в итоге все равно требует наличия лицензии AutoCAD (или других платных программ) чтоб довести проект до ума.

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...