LISP для изменения настраиваемых (Custom) параметров динамических блоков - Страница 3
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > LISP для изменения настраиваемых (Custom) параметров динамических блоков

LISP для изменения настраиваемых (Custom) параметров динамических блоков

Ответ
Поиск в этой теме
Непрочитано 09.10.2017, 05:28
LISP для изменения настраиваемых (Custom) параметров динамических блоков
EfiRoMan
 
Проектирование систем ТГВ
 
Хабаровск
Регистрация: 30.01.2013
Сообщений: 17

Здравствуйте, уважаемые знатоки и гуру LISPа!

Предисловие и суть задачи вполне простые:
Для экспорта/импорта атрибутов есть всем давно известные ATTOUT/ATTIN в EXPRESS TOOLS.
А вот с динамическими свойствами (Сustom) все обстоит гораздо хуже...
Извлечь их еще можно при помощи DATAEXTRACTION (но без HANDLE, их приходится с помощью ATTOUT добывать, а потом еще и объединять два извлечения между собой - тот еще "эротизм"). Далее мы можем их откорректировать, но соответствующей команды для импорта дин. свойств, как в ATTIN нет, а очень хочется, чтобы она была...
Таким образом, задача состоит в том, чтобы доработать стандартный attout.lsp, чтобы он не только атрибуты, но заодно и динамические свойства блоков экспортировал в txt файл и импортировал из него после изменений в чертеж.

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

Думаю, что проще и лучше всего будет дополнить LISP attout.lsp (код приводить не буду - он итак всем доступен) из EXPRESS TOOLS функциями многоуважаемого Кулика Алексея aka Kpblc "get-dyn-block-list-prop-and-values" и "change-dyn-block-prop", но возможны и другие варианты, например по аналогии с кодом kakt00z - через EXCEL. Лично меня вполне устроит и первый вариант - перекинуть данные из текстового файла в EXCEL и обратно труда не составит, а вот код для работы напрямую через EXCEL по-любому окажется сложнее.

http://autolisp.ru/2014/06/27/dynblocks-parameters/ - получение и установка параметров динамических блоков от Kpblc
http://forum.dwg.ru/showthread.php?t=121361 - экспорт/импорт содержимого аттрибутов блоков в Excel от kakt00z

Как можно будет использовать данную функцию? Например, при построении профилей - чтобы проставив дин. блоки с основанием и трубой в нужных точках (прилагаются в примере) легко растянуть их друг до друга. На коротких профилях это, конечно, не особо актуально - быстрее протыкать, а вот когда несколько километров разветвленной трассы с большим количеством диаметров делаешь в масштабе 1:1000 да со стыковкой исключительно на листах А3, то начинаешь задумываться об упрощении процесса. Можно и вручную потаскать, но это не так интересно, да и подобный файлик слегка подтормаживает во время редактирования дин.блоков. Вполне возможно, что кто-то придумает и другие применения для данной расширенной функции.

Дополнительно прикладываю самый примитивный пример (в формате 2013 г.) "до" и "после", чтобы задача была более наглядной и было на чем проверять.

Вложения
Тип файла: dwg
DWG 2013
Профиль 2013.dwg (308.6 Кб, 179 просмотров)


Последний раз редактировалось EfiRoMan, 10.10.2017 в 04:49. Причина: Более четкое описание задачи и варианты решения
Просмотров: 20068
 
Непрочитано 14.01.2025, 23:11
#41
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404


Прошло всего-то 8 лет... Образец бы для расковыривания.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 16.01.2025, 13:32
#42
BorS


 
Регистрация: 28.10.2024
Сообщений: 2


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Прошло всего-то 8 лет... Образец бы для расковыривания.
Согласен, запоздалый багрепорт

Изначально коннектор атрибутов работал через Express ATT-OUT/ATT-IN и далее через Power Query подстановкой общих атрибутов из источника в приемник с сохранением уникальных атрибутов приемника. После НГ было затишье, решил сделать универсальный коннектор и для Express ATT-IN/ATT-OUT и для DP-ATT-EXPORT/DP-ATT-IMPORT. В процессе теста решил вручную бахнуть часть файла и проверить что будет. В моем случае, если не ковырять csv руками, проблемы нет, но может где-то есть похожее поведение кода.

В архиве dwg с 3 блоками и 3 csv файла: исходная выгрузка; с удаленным параметром; с удаленным атрибутом. DP-ATT-IMPORT прерывается на атрибуте, которого нет csv файле.
Вложения
Тип файла: rar Коннектор атрибутов (16.01.2025).rar (46.3 Кб, 2 просмотров)
BorS вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > LISP для изменения настраиваемых (Custom) параметров динамических блоков



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выбор динамических блоков по значению линейного параметра aso3 Программирование 31 28.06.2024 11:19
Какой язык перспективен для инженера-конструктора с условием The_Mercy_Seat Программирование 705 17.03.2021 14:19
Слетают размеры динамических блоков при копировании abnmt Динамические блоки 6 10.10.2014 11:04
Lisp. Как вставить описания всех блоков библиотеки блоков? Kirill_Ja LISP 5 11.04.2013 10:22
Вхождение динамических блоков Zorroko Динамические блоки 2 29.06.2011 17:57