|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
|
||||
Регистрация: 17.08.2011
Minsk
Сообщений: 60
|
Alex-2539, спасибо за поддержку. Представьте, я смотрю на эту карту, одну из трех, и думаю -- а ведь правда, перевести ее в AutoCAD раз плюнуть. Шас пока кофеек согреется легко, одной правой пяткой
![]() ![]() Последний раз редактировалось seregas, 15.11.2013 в 04:10. |
|||
![]() |
|
||||
Регистрация: 17.08.2011
Minsk
Сообщений: 60
|
гаспада, периодически у меня все-таки появляется эта проблема. Попробую оживить тему, странно что никого больше это не волнует. Весь вопрос в том, что бы расчеты делать в Excel , а результаты выводить в AutoCAD.
Это 5 связей с файлом file1.xlsx, полученные : "Правка-Специальная вставка-Вставить связь-ЛистExcel" Они видны в "Правка-Связи" Какой LISP-командой перенаправить эти связи на file2.xlsx ? Эти файлы лежат в разных папках, поэтому очень желательно рассматривать имя файла как полный путь: path1/file1.xlsx path2/file2.xlsx Файлы по структуре одинаковые, надо просто поменять путь и имя. Спасибо. вот вложение, чтобы было легче. Спасибо |
|||
![]() |
|
||||
Регистрация: 10.06.2011
Сообщений: 8
|
seregas, а нельзя к этой проблеме подойти с другой стороны? В папку на которую ведут все связи из автокада класть нужный экселевский файл (тот, что последний) все с тем же именем file1.xlsx. Старый экселевский файл в таком случае можно переложить в другую папку (архивную), если он когда-нибудь еще может пригодиться. Думаю, в таком случае с автокадовским файлом вобще ничего не придется делать. Offtop: Но возможно я что-то не понял в вашем вопросе. Хотя, суть проблемы из ваших слов вполне ясна. Непонятно, почему у закоренелых форумчан такая неадекватная реакция на то, как она была сформулирована. Возможно, мозг думает у них по-другому, и вашая вербальная кодировка для них оказалась слишком непонятной. Плохо, что адекватного решения так и не предложено! Форум в данной теме свои задачи не выполняет!
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
seregas,
1. У тебя ссылка на файлы идет как ole объекты. Судя по ответам в этой теме на форуме Autodesk твой вопрос скорее риторический 2. Попробуй перейти с OleLink на DataLink
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 30.10.2010
Сообщений: 123
|
Вот лопни мои глаза, не пойму одну простую вещь:
seregas, а почему вообще ты таблицу делаешь в AutoCAD, когда:
Сделал бы ее отдельным документом прям в Excel, а чертежи в AutoCAD нарисовал. |
|||
![]() |
|
||||
Регистрация: 17.08.2011
Minsk
Сообщений: 60
|
коллеги, спасибо за внимание
ServantosS, по твоему предложению все старые архивные папки с проектами буду ссылаться на последнюю папку с последним файлом. Их невозможно будет открыть, т.к. все будут давать одинаковые результаты расчетов с исходными данными из последнего файла path/file.xlslx VVA, нажми на плюсик здесь. Посмотри сколько труда вложено в эту таблицу, там под каждой ячейкой есть расчет. Я даже пытаться не буду засунуть ТАКУЮ таблицу в AutoCAD и ограничить себя его слабыми функциями. Даже в твоей ссылке первая фраза в статье "Arguably the most valuable tool in the modern-day engineer's toolbox is Microsoft Excel" говорит о бессмысленности предложенного. Смотрел твою ссылку, я тоже им внес кардинальное предложение Autodesk о полном изменении системы связей ![]() а на форуме MicroSoft я предложил полностью удалить MS Word и переписать его на основе MS Excel ![]() VVA и Petrov-Vodkin, коллеги ! Я уже читал кучу рекомендаций любителей писать статьи как сделать 1 связь через DataLink . Посмотрел бы я на автора , когда нужно сделать 100 отдельных связей. AutoCAD затыкается на Preview с самыми простыми таблицами, не говоря уже о моих "колхозных" разработках. Autodesk заставляет нас отказываться от расчетов в Excel и использовать его только для вывода результатов, а мы этому активно сопротивляемся. Мне не надо загонять все таблицы в AutoCAD. Из этой таблицы мне надо взять только некоторые результирующие цифры и вставить в чертеж в виде Объектов Excel или Объектов AutoCAD. Я уже это давно сделал, нужно только заменить у них путь на другую таблицу в другой папке. Только не по одной, как предлагает AutoCAD. Вот и все ! Я уже где-то писал, что строка path1/file.xlsx точно должна присутствовать в DWG-файле . Может ее как-то в бинарном виде изменить ? Последний раз редактировалось seregas, 28.05.2012 в 02:20. |
|||
![]() |
|
||||
Регистрация: 25.10.2011
Сообщений: 132
|
Согласен, что встроенная в автокад работа связей неудобна в работе, но все это можно переписать или найти подходящую альтернативу.
Сохрани в dxf, открой блокнотом, аккуратно замени пути, сохрани обратно в dwg. В результате не уверен. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Я сохранил твой чертеж как dxf. Поиском "file1.xlsx" нашел только твою текстовую строчку. Зато там же поиском по AcDbOle2Frame нашел описание OLE. Там куча цифр в шестнадцатиричном виде. Я перевел название "file1.xlsx" в шестнадцатиричный вид. вроде похожие буковки нашел. Только учти, что в lisp один слеш заменяется на два (если видишь D:\Folder\file.xls то в lisp нужно писать D:\\Folder\\file.xls)
Код:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 31.05.2012 в 12:41. |
|||
![]() |
|
||||
Регистрация: 17.08.2011
Minsk
Сообщений: 60
|
VVA, сохранил код в файл Dec2Hex.lsp , загрузил его, но команда Dec2Hex не распознается.
tehkonst , в .DXF есть много символов в непонятной кодировке , обычно редактирование его в блокноте ни к чему хорошему не приводит. Все заменил в но Автокаде никаких изменений в файле не произошло. Последний раз редактировалось seregas, 31.05.2012 в 00:16. |
|||
![]() |
|
||||
Регистрация: 25.10.2011
Сообщений: 132
|
Да с ole трудно, расшифровывать надо. Data link просто текстом путь хранит.
Еще как вариант, создать промежуточный файл excel с абсолютными ссылками на нужный файл. И положить его рядом с каждым dwg, который ссылается. Менять путь в excel файлах значительно проще. А программно, видимо, нужно расшифровать из 16-ричного кода пути к ole объектам, удалить эти объекты, и затем заново их скопировать и вставить из excel файла в тоже место. Это только предположение, я в объектной модели автокада плохо ориентируюсь. Последний раз редактировалось tehkonst, 31.05.2012 в 12:12. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Поясни. Dec2Hex - это сервисная ф-ция. Внес изменения в #30.
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 17.08.2011
Minsk
Сообщений: 60
|
tehkonst, я понял твою завернутую мысль -- рядом с каждым DWG-файлом будет лежать LINK.xlsx с постоянным именем. Это можно сделать, если LINK.xlsx будет являться копией kolhoz1.xlsx (в нем 12 листов и он лежит тут же рядом), только без расчетов но со ссылками на все его пару сотен результирующих ячеек. Согласен , что это реально осуществить, но я уже это не потяну второй раз. Тем более, что папки с разными проектами KOLHOZ1 и KOLHOZ2 не могут быть одинаковыми.
Я уже что-то подобное реализовал между несколькими EXCEL-файлами (типа составную ссылку) функцией : =ДВССЫЛ(СЦЕПИТЬ($J$1;"BL";Str_oper)) , где $J$1 -- ячейка с именем файла и листа BL -- столб Str_oper -- имя ячейки с номером строки Вот так приходится извращаться для достижения лучшей автоматизации расчетов. коллеги, как все сложно VVA, я пробовал твою программу, подставил в нее свой путь. Получил ряд 16-ричных цифир. В файле .dxf такого набора не нашел. Мой рабочий DWG-файл является здоровой таблицей, нарисованной простыми линиями, где перемешаны схемы, виды сверху тракторов , тексты со ссылками на результаты расчетов из Excel и картинки-ссылки на Excel-диаграммы. Размером до 3 МБ , это много. Представьте, как он будет выглядеть в текстовом редакторе после его сохранения в .DXF ! 102 МБ !!! В идеале хотелось бы способ задать "НАЙТИ ... ЗАМЕНИТЬ ..." Мы все видели это окно в WORD, а ведь он тоже понимает макросы и VBA и это решение уже давно есть. Там даже можно просто включить "отображение связей" и менять в них строки текста простым поиском. DataLink делает ссылку на одно число из Excel-файла, но отображает его в соответствии со своими стилями таблиц и стилями текста. По-моему, эти стили живут отдельно друг от друга. Все эти DataLink по-умолчанию заблокированы от редактирования. Мне приходилось ее снимать по тыще раз день. Какая-то параноидальная забота о моей безопасности, которую нельзя отключить. И если мне надо просто ссылка с большим размером шрифта, то мне надо делать новый стиль таблицы. Я предпочел вставлять все ссылки в виде Excel-объектов с редактированием их отображения именно в первоисточнике. В Excel даже есть шрифты, идентичные стандартному GOST. Если сделать все границы в Excel невидимыми, то все ссылки прекрасно вписываются в тексты в DWG-файле. Получается , в LISP нет команд и возможностей работать с OLE-связями ? Последний раз редактировалось seregas, 02.06.2012 в 12:01. |
|||
![]() |
|
||||
Регистрация: 17.08.2011
Minsk
Сообщений: 60
|
Коллеги, за эти годы я так и не нашел решения.
Но уже давно я делаю гораздо проще : все ссылки остаются на своих местах, никаких замен путей не требуется. Проектов много, все лежат на своих местах, но они имеют сложности при открытии, как бы "read only" . Смотреть их можно, открывать связанные файлы в определенной последовательности, можно копировать содержимое без связей ( для старых проектов, в новых можно копировать и со связями). Редактировать можно голый текст, при условии отключения автообновления связей, без установления новых связей. На то они с "старые" проекты, чтобы их не менять. Зато каждый проект со всеми .DOCX, .XLSX, .DWG, связанными между собой, редактируется только в одной папке , имеющей постоянное имя и адрес. Я уже привык, и никаких трудностей не вызывает, никаких макросов (для изменения связей в .DOCX) не требуется. Тем более макрос, указанный в начале этой ветки для WORD, не умеет менять пути связей в таблицах-рисунках (Рамка-Содержание с фамилией автора ![]() ![]() Таким образом, мои проекты только усложняются (хотя и пишутся по 5 штук одновременно), вероятности ошибок уменьшаются, т.к. связи уже не надо менять. Так даже лучше. Я по десятку раз в день складирую один проект из рабочей папки и заменяю его другим. Вот и все решение, для кого-то очевидное. Мне казалось, что это мое решение, но все-аки первым его предложил mr. ServantosS. Так что отдельная благодарность ему и коллегам, чьи ники представлены на это странице ![]() Последний раз редактировалось seregas, 15.11.2013 в 04:27. |
|||
![]() |
|
||||
Регистрация: 17.08.2011
Minsk
Сообщений: 60
|
коллеги, я заметил, что связи с Excel, лежащие на 2 уровне вложения не обновляются. Надо открывать внешнюю ссылку , обновлять связи с Excel (очень долго около 5 сек на каждом чертеже, т.е. около 1 сек на КАЖДУЮ СВЯЗЬ !!!) , закрывать внешнюю ссылку. Обновлять внешние ссылки в главном чертеже . Если делать 2 проекта одновременно, то внешюю ссылка для них одинаковая, но подписи на ней разные для каждого проекта. Представляете, что творится ?
Эй , в Autodesk ! На дворе 2014 год, проснитесь ! |
|||
![]() |
|
||||
Регистрация: 17.08.2011
Minsk
Сообщений: 60
|
гспади, не надо ничего рисовать (вряд ли вы это потянете)
надо просто вставить фамилии из Эксель я вычисли 3 варианта связей: 1. Спец. Вставка - Связать - Лист Excel -- самая надежная, обновляется через ссылки второго уровня вложения. Не форматируется. Обновление мгновенное, не требующее вмешательства. 2. Спец. Вставка - Связать - Объект AutoCAD. Иногда связь теряется по неизвестным причинам. Практически не поддается редактированию. Форматирование сложное через стили таблиц. Обновление очень долгое, почти 1 сек/связь. На 2 уровне внешних ссылок не обновляется. 3. Поля через драйвер DB (База AD). Отличное форматирование через стили текста. Может потеряться связь, не изучен процесс сохранения точек связи в Базе AD. На 2 уровне внешних ссылок не обновляется. преимущество -- можно соединять с данными на чертеже. Предлагаю делиться наблюдениями. Я считаю что связи с Excel гораздо нужнее и полезнее для сложных проектов, чем совместная облачная работа, чему Autodesk уделяет слишком много времени, в ущерб другим видам связей. Расчетная часть Excel просто недостижима для таблиц AutoCAD, и не стоит даже пытаться повторить это, на современном уровне. Надо просто правильно и надежно соединить этих двух лидеров в своих областях. |
|||
![]() |
|
||||
Регистрация: 21.02.2009
Сообщений: 825
|
Если дело(задача) только в этом, то посмотри в сторону подшивок. Фамилии в штампе будут полями с свойствами подшивки(или листа подшивки)
А по теме: я тоже начинал идти по этому пути, но большое кол-во данных не залинкуешь - начинаются тормоза. Да и менять связи проблематично... Так-что приходим к варианту: обработка данных в внешней БД(СУБД) -> перекидывание на чертёж в Автокад с помощью программирования
__________________
Я-проектировщик бывший проектировщик! |
|||
![]() |
|
||||
Регистрация: 17.08.2011
Minsk
Сообщений: 60
|
у меня была такая простая идея -- взять формат А1, поместить туда ссылки из Excel на фамилии. Положить этот формат в укромное место и вставлятьь ег в чертежи в качестве внешней ссылки. Проекты разные, но у каждого есть этот одинаковый XLS , где фмилии расположены строго в определенном месте. Как они могут быть разные есть следующий XLS сделан из предыдущего. А формат А1 один на всех.
Я просто хочу открыть чертеж, а формт с правильными фамилиями уже подставлен в него. Это настолько элементарная задача, что она должна быть решена еще 10 лет назад, когда только появились внешние ссылки AutoCAD. Но как видите решения до сих пор нет. Если я твердо решил уйти от screenshot одной ячейки из Excel, то я продираюсь через эти давно забытые Autodesk технологии. А пока мне приходится в каждом чертеже клеить одинаковые связи, и при открытии на следующий день наблюдать: половина связей слетела, половина осталась. Решение , которое действительно отвечало этим простейший требованиям -- это связь в виде маленького screenshot одной ячейки из Excel. Autodesk так и пишут на своем сайте -- "поля во внешних ссылках не обновляются". Мне даже стыдно за Autodesk. У меня есть карты 40*30 ячеек ( я даже купил 2*24" монитора, что бы видеть что в них написано), и в итоговом чертежи их 3 шт на А1. И как ни странно, я не вижу другой альтернативы, как их вставить -- в только в виде screenshot из Excel. Так что это корявое решение иногда оказывается единственным. Сергей Богатов , спасибо на намек. Я видел эти подшивки. Раньше я думал, что это для крупных проектов на сотни листов. Их возможностей не знаю. И какое они имеют отношение к Excel ? |
|||
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ASD - AutoCAD Structural Detailing. Проблемы и их решение. | Faber | Вертикальные решения на базе AutoCAD | 805 | 03.10.2015 21:33 |
связь текстовых полей AutoCad с ячейками в Excel | April | AutoCAD | 9 | 29.06.2014 12:35 |
VBA. Как импортировать содержимое ячейки Excel в AutoCad? | Petrov-Vodkin | Программирование | 4 | 27.12.2010 12:22 |