|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
конструктор Регистрация: 14.08.2014
Псков
Сообщений: 7,099
|
Цитата:
Цитата:
На вба несложно передать параметры для динамического блока. Кроме переменных, надо задать точку вставки. Незнаю, в чем проблема с 3д, как альтернатива - плоские примитивы. |
|||
|
||||
Регистрация: 18.11.2019
Сообщений: 1,492
|
Вариант решения.
Несложная часть. 1. Делаем параметрический объект, состоящий из полилинии (квадрат) и команды выдавливания на высоту (H). 2. Связываем параметр высоты выдавливания (H) со значением некоторой экселевской ячейки на каком-то листе в каком-то файле. Сложная часть: как узнать, что нужно обновить параметрический объект, если ячейка с высотой выдавливания (H) в файле exel была изменена и пора пересоздать бокс с новой высотой? Можно, конечно, сделать процедуру принудительного обновления объекта, чтобы по нажатию на некоторую кнопку можно было перегенерировать выбранные объекты. Но это как-то не красиво. Последний раз редактировалось nickname2019, 05.01.2021 в 10:58. |
|||
|
||||
Регистрация: 19.05.2020
Сообщений: 18
|
----- добавлено через ~11 мин. -----
Если вы мне расскажите эту часть, а Сергей812, расскажет как настроить обновление по изменению события на листе, то я так понимаю, у меня все получится) Последний раз редактировалось Djo, 11.01.2021 в 15:31. |
|||
|
||||
Регистрация: 06.04.2015
Сообщений: 2,673
|
Цитата:
----- добавлено через ~3 мин. ----- Вообще ничего особо сложного в этом не видится. Думаю можно одним VBA экселя обойтись. |
|||
|
||||
Регистрация: 18.11.2019
Сообщений: 1,492
|
Цитата:
Но мне больше нравиться связать акадовский объект с ячейкой в экселе. Может, хранить время сохранения экселевского файла в объекте и при несовпадении времени модификации объекта и экселевского файла обновлять объект? |
|||
|
||||
Регистрация: 06.04.2015
Сообщений: 2,673
|
|
|||
|
||||
конструктор Регистрация: 14.08.2014
Псков
Сообщений: 7,099
|
|
|||
|
||||
Регистрация: 06.04.2015
Сообщений: 2,673
|
Цитата:
Цитата:
Можно, только сомневаюсь, что высота выдавливания хранится в объекте твердого тела. |
|||
|
||||
Регистрация: 18.11.2019
Сообщений: 1,492
|
Цитата:
"If you need to save an object identifier out to an external file (that is, not a DWG or DXF file), then you cannot use object IDs. The actual value in the object ID (its a memory address) is not the same from session to session." Если вам нужно сохранить идентификатор объекта во внешний файл (то есть не в файл DWG или DXF), то вы не можете использовать идентификаторы объектов. Фактическое значение в идентификаторе объекта (его адрес памяти) не является одинаковым от сеанса к сеансу. "If you are working with multiple drawing files, then you need to save the drawing file name as well as the handle, since handle values are not unique across multiple drawings." Если вы работаете с несколькими файлами чертежей, то вам необходимо сохранить имя файла чертежа, а также дескриптор (handle, а не Id), поскольку значения дескриптора не являются уникальными для нескольких чертежей. P.S. Можно сохранять ID объекта и это будет какое-то время работать, пока случайным образом он не поменяется - тогда будет непонятный крах акада, который трудно будет выявить. Цитата:
Последний раз редактировалось nickname2019, 11.01.2021 в 16:10. |
|||
|
||||
конструктор Регистрация: 14.08.2014
Псков
Сообщений: 7,099
|
Djo, посмотрите как пример связи - ссылку (xls-dwg, dvb). Это не эталон конечно, подглючивает сильно, но может быть поможет выбрать какой-либо путь. ссылка
|
|||
|
||||
Регистрация: 06.04.2015
Сообщений: 2,673
|
Цитата:
|
|||
|
||||
Регистрация: 18.11.2019
Сообщений: 1,492
|
Поправил свой прошлый ответ подробнее #30. Имхо, самый оптимальный путь - мутить код в акаде и привязываться с экселю.
|
|||
|
||||
Регистрация: 06.04.2015
Сообщений: 2,673
|
|
|||
|
||||
Регистрация: 18.11.2019
Сообщений: 1,492
|
Цитата:
Могу связать с параметрами из текстового файла, но это не айс. И автообновление не будет работать тоже. |
|||
|
||||
Регистрация: 06.04.2015
Сообщений: 2,673
|
Цитата:
Может просто плагин с GUI по работе с расширенными данными для пользователя написать? |
|||
|
||||
Регистрация: 18.11.2019
Сообщений: 1,492
|
Цитата:
Меня не устраивает стандартный функционал работы с динамическими блоками, поэтому я решил все под себя переделать (чтобы можно было вытягивать полилинии внутри динамических блоков и не только). Пока работает плохо. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,008
|
|
|||
|
||||
Регистрация: 27.12.2011
Сообщений: 1,458
|
Не в курсе, как организовывать связь с Excel (не пользовался), но алгоритм для када накидать можно, по-моему, и довольно простой.
Есть блок-кубик (в общем случае 1х1х1), простой, не динамический. У всех блоков заданы масштабы X-Y-Z. Точки вставки тоже есть, соответственно. И угол поворота, если надо. Идентификатор в таком случае не важен, нужно только то, о чем уже сказано. Меняете масштаб по Z в екселе, через организацию связи находятся соответствующие блоки, модифицируются, а новые солиды (если нужны именно они) тут построить по приведенным и найденным данным вполне можно (лисп и т.п.). Именно новые, старые удаляются. Думаю, и с полилиниями и их высотами примерно то же самое можно сделать. Как-то так. |
|||
|
||||
Регистрация: 18.11.2019
Сообщений: 1,492
|
Цитата:
Большое количество динамических блоков в чертеже = ужасные тормоза (так было лет пять назад, проверять есть ли тормоза но новых версиях не хочу). Я с динамическими блоками завязал. |
|||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как построить 2D разрез 3D тела в пространстве модели в AutoCAD2018 mechanical? | thevsh | Вертикальные решения на базе AutoCAD | 3 | 25.05.2018 10:56 |
Не могу изменить форму 3d тела. | evilmaxx | AutoCAD | 3 | 15.09.2013 16:55 |
Не получается объединить два простых 3D тела | Kandebr | AutoCAD | 4 | 30.03.2011 11:01 |
LISP. Вывод объема 3D тела. | Scorpio_1986 | LISP | 3 | 27.02.2010 13:02 |
Нагрузки на 3D тела в SCADe как прикладывать | Comunikabel | SCAD | 20 | 20.10.2006 07:27 |