|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
01.09.2011, 05:34 | #1 | |
Замена связей AutoCAD 2012 и Excel
Minsk
Регистрация: 17.08.2011
Сообщений: 60
|
||
Просмотров: 17555
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
И в чем вопрос?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 17.08.2011
Minsk
Сообщений: 60
|
по-мойму суть вопроса ясна.
Выложен код макроса для замены звязей в длкументе WORD с документом Excel. Это очень полезная штука, даже если она не относится к теме данного форума. Т.к. в AutoCAD тоже есть VBA , то не надо изобретать велосипед, а только перевести команды для WORD в команды для AutoCAD . Спасибо тому, кто понял с первого раза коллеги, оказывается связи с Excel попадают в "список внешних связей". 1, Если удалить из DWG сами ячейки , связанные с Excel. Кажется они называются поля, то в "список внешних связей" остаются строки "Связь с Excel ---- не используется." Удалить эти строки нельзя. Их там слишком много накопилось. Каким методом VBA или LISP можно их убрать ? 2, оставшиеся полезные связи вполне редактируемые, но ТОЛЬКО ПО ОДНОЙ. Их можно все выделть , но редактировать нет. Как можно одним движением поменять КОНЕЧНЫЙ ПУТЬ у всех выделенных связей ? Спасибо за внимание. Последний раз редактировалось Кулик Алексей aka kpblc, 03.09.2011 в 00:24. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
Если суть вопроса "надо перевести", то - кому надо-то? Тебе? Так переводи. Будут трудности - спрашивай.
Оказывается, достаточно поискать по форуму: http://www.google.ru/cse?cx=partner-...ru%2Findex.php
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 17.08.2011
Minsk
Сообщений: 60
|
жаль , что никто не ответил на простой вопрос -- как поменять старый путь внешней ссылки на новый. Я уже делал поиск по всему форуму -- ни у кого не встречается похожая проблема, только как часть большой
вот что я нашел Эту функцию можно использовать в случае, если вы хотите переместить внешнюю ссылку в другое местоположение или если вы хотите одновременно переименовать внешнюю ссылку и переместить ее в другой каталог. Первый аргумент - старое имя, второй аругмент - новое имя третий аргумент - путь к новому размещению внешней ссылки Пример: (fixref "XR_01-LIB A" "XR_201" "W:\\project\\1234\\") Код:
но, по-моему, тут где-то ошибка. И это вообще не про замену путей. мне надо просто поменять все старые пути на новый в Менеджере Внешних Ссылок. Это должно быть просто. Также намекните, что за загадочная страница http://entercad.ru/adrefman.ru/ws1a9...2e719-7ba8.htm . Где етот Диспетчер ссылок с таким полезными командами ? коллеги я сильно страдаю, окно внешние ссылки по команде _xref. Как поменять всем сразу старый путь на новый ? Почему они не обновляются по кнопке сверху ? Последний раз редактировалось Кулик Алексей aka kpblc, 17.09.2011 в 21:17. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
seregas, ты чего-то "не тово"... То нужны ссылки на Excel, то - внешние ссылки. Ты уж разберись и сам отредактируй свои сообщения.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 17.08.2011
Minsk
Сообщений: 60
|
у нас с тобой какое-то хроническое недопонимание. Ощущение такое , что твое звание "модератор" выдает в тебе человека, никогда не пытавшегося сделать такую сложную связь как AutoCAD и Excel. При специальной вставке - связь - Лист Excel она появляется в окне "СВЯЗИ". При Спец.Вставка-Связать-Объект AutoCAD она появляется во "Внешних связях". Мне уже все равно к какому типу они относятся, почему работать с ними одинаково неудобно. А создание новой связи через менеджер, так это вообще кошмар, хорошо хоть пользоватся им необязательно. Я ищу любой способ удобной работы хоть со "Связями", хоть с "Внешниими ссылками". Автокад хорошая программа, здесь все систематизировано, изменять общие свойства у набора объектов чуть ли не главное его достоинство. Но почему при выборе всех внешних ссылок нельзя поменять путь у всех сразу.
У меня в чертеже около сотни связей с разными файлами Excel . Я проделал большую работу, чтобы свести результаты в 1 .xlsx , чтобы упростить связь с AutoCAD. И теперь у меня куча ссылок на один единственный файл, и мне приходится заменять один путь на другой эти 100 раз вручную. Наверное, эту недоработку уже решили лет 10 назад. Поэтому прошу совета у профи LISP или VBA. А приходится воевать с тобой за чистоту темы без решения проблемы. Последний раз редактировалось seregas, 18.09.2011 в 01:37. |
|||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Цитата:
Сегодня ж не первое апреля
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
Внешние связи и внешние ссылки - разные вещи. Это раз. Второе: в #4 я показал результаты поиска по словам "связь Excel". Ходил? Смотрел? Читал? Третье. Вставлять связь можно несколькими способами, и ни в одном случае вставленная связь не попадает в окно "Внешние ссылки". Проверял на AutoCAD 2012 64bit.
Сегодня специально переустановлю Office 2007, еще разок попробую. Или вечером на ноуте погоняю в условиях 32-разрядной ОС. Но пока что ссылки и связи - разные понятия, показываются в разных окнах и обрабатываются по-разному. И последнее. Я не вижу смысла делать связь AutoCAD и сторонних табличных редакторов (что Excel, что OpenOffice Calc). Все вычисления можно сделать в самом AutoCAD, чем я успешно и занимаюсь.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 17.08.2011
Minsk
Сообщений: 60
|
тогда разрешите мне тоже немного по-OFFTOP-ить.
Вот,например, у меня есть "ТЕХНОЛОГИЧЕСКАЯ КАРТА ВОЗДЕЛЫВАНИЯ ТРИТИКАЛЕ" . Это трава такая, гибрид ржи и пшеницы, короче трава будущего. Возделывается она по той же технологии, что и озимая пшеница. Поэтому, нет смысла держать разные карты с одинаковыми операциями. Надо только заменить сорта и предшественников, те травы, которые уже померли в прошлом году, и их высушенные трупы пойдут на благо роста тритикале или озимой пшеницы. И вот я забацал неболшую формулу =ЕСЛИ($C$54<=$A$59;ДВССЫЛ(СЦЕПИТЬ("C";55+$C$54));ЕСЛИ($C$54<=($A$60+$A$59);ДВССЫЛ(СЦЕПИТЬ("D";55+$C$54-($A$59+1)));"ВВОДИ МЕНЬШЕ !!!")) Если я в поменяю в $A$54 одну цифру (1 из 10) , то в результате поменяется сорт тритикале (1 из 10) и рядом станет его предшественник (1 из 10) . Если я там же поставлю цифру (11 до 20), то в результате поменяется сорт озимой пшеницы и станет ее предшественнник. Также поменяется название всей карты. Также в зависимости от названия трактора в исходных данных в расчеты подставляется его мощность двигателя и расход топлива. Кстати, я тож раньше думал, то колхозники там в грязи копаются, ездят на 50-лених фордзонах и пьют водку, редко молоко. Так и есть. Но у нас самые нищие колхозы пашут по 3-4 тыщи га. А, например, с вико-овсяной смеси (трава на корм скоту, такая зелененькая) при правильном уходе прибыль до 1000 $ с гектара. Потом они везут эту траву в рулонах на старых МАЗах, когда эти рулоны в кузове стоят примерно в 2 раза больше, чем сам грузовик по остаточной стоимости . Это вам не гипсокартон на рынке продавать. И они же не работают круглый год, кстати щас посмотрю по карте сколько -- 160 дней. Жаль, что у меня нет своего поля с викой. Сама карта тоже вся считается, она с трудом влазит на 24 дюйма. Их три штуки. Я вижу тут недоработку -- зачем использовать лишнюю ячейку с одной цифрой, можно в названии в конце поставить нужное количество пробелов, считать их, и далее по тексту. При печати пробелы не видны, очень удобно. Это еще удлиннит формулу наполовину, но это потом, от скуки. Access я не знаю, пока все что можно делает Excel. Шас сделал таблицу в AutoCAD , там нет и намека на те возможности (ну может на 1 %), что предосталяет Excel. Жалко смотреть на "Вставить функцию..." Даже такой мелочи как имена ячеек и диапазонов, нет. И не дай бог удалить/добавить строку/столбец -- все собьется. С именами ячеек нет. Через месяц я буду смотреть на свою карту как баран , чо за $A$54 ??? и не знать куда тыкнуть мышой, У меня даже пояснения для меня самого сделаны с формулами Хорошая попытка Autodesk догнать Microsoft . Даже сама MS забросила точно такую же попытку с таблицами в своем собственном WORD. Для каждой задачи свое. По крайней мере AutoCAD догонит Excel не в этом десятилетии. Немного напоминает попытку России в 90-х сделать свой процессор, наверное расчеты делали на советких ламповых компутерах, когда весь мир резался в DIGGER уже на IBM PC. Да и наверное половину функция и методов расчетов MS надежно запатентовала, так что просто переписать не получится. Не те времена. Извини, отвлекся, поиск по твеой сылке смотрел, все 10 страниц результатов. Именно там была ссылка на загадочный "Диспетчер ссылок" , который не найдешь в меню AutoCAD , но именно он единственный может поменять пути у всех выбранных файлов (я даже прослезился), но он не работает с внешними ссылками (2 раза). Вообще надо как-то повлиять на наших коллег из Autodesk. Что-то они наворотили лишнего: СВЯЗИ, ВНЕШНИЕ ССЫЛКИ, Диспетчер подключений к БД, Диспетчер связей данных, Диспетчер ссылок. Может им пора что-то вычеркнуть и сосредоточится на чем-то одном ? Последний раз редактировалось seregas, 18.09.2011 в 18:29. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
Нет, спасибо. Попробовал, хватит. Теперь не знаю как на 64-разрядной Win7 от его следов избавиться.
seregas, а ты подумай насчет программы, которая будет внутри AutoCAD все менять после нажатия на одну-две кнопки. Потому как ничего из того, что ты описал, вот так вот жизненно Excel'a не требует. Или я не понял задачу. И каждый из них отвечает за свою часть работы. Если не надо - не пользуйся, никто не неволит. Но все объединять вместе лично я не стал бы ни за какие коврижки. Запутаться будет как нефиг делать.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
То seregas, жаль что Вы сами не понимаете какую чушь Вы несете. Я тут сравнил ферари с трактором беларусь - так ферари не делает и 1% процента от трактора - а ведь оба на двигателях внутреннего сгорания - это примерно что Вы пишете, только в другой тематике. Вам не приходило в голову, что это Вы от незнания делаете все через ж**у, а не ребята из автодеск - если посмтреть на то что Вы пытаетесь сделать - так чесание левой пяткой правого уха - это куда более рациональная вешь, если Вы знаете VB - это еще не значит что Вы "все" понимаете, а все вокруг тупые идиоты, не понимают как-же пяткой ухо чесать не удобно - изучите вначале предмет, перед тем как его критиковать, спросите если не знаете, посмотрите как аналогичные задачи решают более опытные "коллеги", а уж разобравшись - пишите свои "мудрые" советы "догоняющим" - про свои ноу-хау, как это делать более рационально.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
Регистрация: 17.08.2011
Minsk
Сообщений: 60
|
Дима_, написал бы сразу "многа букав". Тут всего 1 страница текста, ты не читал сначала.
Если сократить мою писанину, то вот кратко: 1. Кулик Алексей aka kpblc предложил , что все возможности Excel можно легко заменить встроенными таблицами AutoCAD и решения я никогда не найду. Я с легкими лирическими отступлениями это опроверг. Не для того что бы потрепать пальцами по клаве, а чтобы не закрывать открытую тему -- мне все еще очень надо узнать Код:
2. Как раз не знаю, ни LISP , ни VBA. Я даже нашел VBA-код, который по своей структуре выполняет эту задачу, но только в WORD. Я не думал , что подогнать VBA-код от WORD в VBA-код для AutoCAD будет так долго, и более того, не понятна сама задача и для Кулик Алексей aka kpblc, и для тебя Дима_ |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
seregas, вот ты скажи - у тебя меняются только значения текста или что-то еще? Если только текст - то поля в руки + DIESEL. И этого достаточно. Если меняются визуальные представления, например, штриховок - то можно уже и программирование привлекать.
Та формула, которую ты показал - это как раз и есть пятка. Внутри формулы использовать абсолютные ссылки вместо того, чтобы привлекать, например, ИНДЕКС и ПОИСКПОЗ - ИМХО изврат. Цитата:
Цитата:
Пока - непонятна. Точнее, непонятно, почему обязательно надо программирование и не рассматриваются варианты использования штатных возможностей AutoCAD'a.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 17.08.2011
Minsk
Сообщений: 60
|
я уже не спрашиваю, почему нельзя все связи обновить кнопой сверху. Со скрипом можно это обойти, разместив все связи на отдельном слое и обновлять связи , что мы видим в этом окне через другое окно -- "Диспетчер связей с данными" Последний раз редактировалось seregas, 19.09.2011 в 02:50. |
|||
|
||||
Регистрация: 21.02.2009
Сообщений: 825
|
http://forum.dwg.ru/showthread.php?p=368469&#post368469
мы не про это говорим? Кстати. Пришло в голову решение. Почему-бы не сделать e-transmit. При этом создастся комплект и можно будет заменить содержимое экселевского файла
__________________
Я-проектировщик бывший проектировщик! |
|||
|
||||
Регистрация: 21.02.2009
Сообщений: 825
|
Острота вопроса спала
Я всё таки сделал внешнее формирование таблицы - не через даталинк. С даталинками есть проблема. Это мегатормоза при более менее крупной таблице с связью. Но решение было-бы интересно мне увидеть
__________________
Я-проектировщик бывший проектировщик! |
|||
|
||||
Регистрация: 15.09.2011
Сообщений: 8
|
Offtop: А я вот поддерживаю товарища seregas. И описал он свою проблему вполне понятно. С макросом для Word он, конечно, погорячился, но не надо его за это гнобить. Он ведь, скорее всего, не программист и не понимает таких тонкостей. И я даже понимаю, почему он это делает именно таким способом, а не каким-нибудь другим. Скорее всего так просто исторически сложилось. Есть множество данных, которые появляются в процессе выполнения работы и их хранят именно в таблицах Excel, т.к. это быстро и удобно. Согласен, это не самый лучший вариант, особенно, когда они разрастаются. Это довольно сложно перенести большой объём данных и вычислений в совершенно другую систему на ходу, в процессе работы. И снова согласен, AutoCAD не предназначен для расчёта таблиц. А когда человек обращается с конкретной проблемой, говорить с умным видом "а зачем вам это нужно? правильнее делать по другому" уже бессмысленно. Вопрос не стоит, как сделать это правильно, вопрос стоит, как исправить то, что уже сделано. Форум для этого ведь и предназначен, разве нет?
|
|||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |