|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
2 | | #1 |
LISP.Экспорт описания типа линии из dwg файла в lin
Инженер LISP
Минск
Регистрация: 11.05.2005
Сообщений: 6,996
|
||
Просмотров: 68375
|
|
||||
Инженер-строитель Регистрация: 15.08.2007
Киров
Сообщений: 2,204
|
Я так понял, код не может справиться с типами линий, которые ипользуют файлы форм shx.
Как же извлечь инфу об этих файлах из типа линий? По примеру, кода от VVA я набрал: Код:
Цитата:
ЗЫ Мне действительно нужно вытащить описания этих типов линий, т.к. у меня уже давно все нужные типы подгружаются программно из lin-файла, а описания этих двух типов я вынужден хранить в шаблоне файла чертежа. |
|||
![]() |
|
||||
Цитата:
|
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Исправил код в #1
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер-строитель Регистрация: 15.08.2007
Киров
Сообщений: 2,204
|
Вот новый вариант (красным отмечены изменения).
1. Я сделал локальными некоторые переменные, т.к. прога иногда вела себя не предсказуемо. 2. Также переделан алгоритм формирования строки с кодами выравнивания, т.к. с некоторыми типами линий старый алгоритм работал неправильно (например с типом линии "РАЗРЫВ" из моего поста №3). 3. А главное - введено изменение сист. переменной DIMZIN, для того, чтобы подавить замыкающие нулевые значения в десятичных числах. Во-первых получается более красивый результат. А во-вторых, я так понял, в файле с типами линий есть ограничение на длину строки, потому что некоторые типы линий с длинными строками кодов выравнивания у меня не хотели загружаться. Но после того, как были убраны замыкающие нули, они (т.е. типы линий) загрузились без проблем. 4. Ну еще внесены некоторые косметические изменения. Код:
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Обновил #1. Выложена версия 1.1. Возможны различия с кодом #8 (не сверял)
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Автокад Регистрация: 08.12.2008
Киев
Сообщений: 2
|
Добрый день!
Помогите пожалуйста. Попытался воспользоваться вашей лисповой командой и получил: 1. Окошко куда сохранять появляется. 2. Пишет в командной строке: -------------------------------------- Команда: _ltextract ; ошибка: неверный тип аргумента: stringp nil -------------------------------------- Что делать не знаю :-( полный Acad 2011. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
1.Пробовал лисп из поста #1 и #8?
2.Если да, то выложи файл на котором появляется ошибка
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
нефтепереработка Регистрация: 17.11.2009
Мозырь, Республика Беларусь
Сообщений: 77
|
День добрый!
Пробовал лисп из поста №1. В результате получаем в lin файле такую запись: Цитата:
Но такого файла у меня нет. А линии отображаются верно. Почему так происходит? |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Судя по описанию, kipline - это текстовый стиль. Ниже пример из файла acadiso.lin. Красным выделено использование форм (shape), для которых нужно наличие shx файла, синим - текстовых строк. Форма вызывается по имени (в примере BAT). Обрати внимание на кавычки "".
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Сделал purge и в настройках текстовых стилей снял галку "использовать большой шрифт"
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Добавил в #1 проверку на отсутствие shx файлов. Если shx файл не найден, то будет выведена строка "ERROR"
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 29.07.2017
Сообщений: 199
|
Добрый день!
В первую очередь хочу сказать спасибо VVA за его скрипты, столько раз выручали, что уже не сосчитать. Что же касается этого лиспа - он экспортирует абсолютно все линии из dwg файла, а как можно экспортировать один единственный тип выбранного объекта? Очень странно, что столько полезный инструмент не присутствует в "голом" автокаде. Спасибо |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
mindchamber, А какая проблема найти в текстовом файле поиском нужное описание по имени и скопировать в новый файл?
Или удалить все кроме нужного ?
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 29.07.2017
Сообщений: 199
|
Бесспорно тут вы правы. Но когда файл обходит пару тройку аутсорс инженеров, то файл довольно сильно "распухает", что делает затруднительным поиск соответствующего типа линии. Как бы то ни было ни у кого такой проблемы не возникло, так что не утруждайте себя ответом на мое сообщение. Благодарю.
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Есть очень большое подозрение, что дело в "словарях DGN"
Читать 1-й пост Помогите уменьшить размер файла DWG и FАQ Как уменьшить объем файла dwg
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
VVA,
Документация подсказывает, что углы должны быть в градусах (по умолчанию - иначе нужен суффикс d, r или g). Соответственно вместо Код:
Код:
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка Последний раз редактировалось Александр Ривилис, 28.02.2019 в 15:33. |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Обновил #1 до версии 1.3
maiklbua, можешь попробовть
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 28.02.2019
Сообщений: 4
|
Доброго дня Лисп попробовал обновленный 1.3. файл Lin создался без 0d0'0' и лишних нулей. но при загрузке в чистый чертеж автокад ругается и не все линии ест.
Типы Линий.dwg |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Обновил до версии 1.4
При загрузке в чистый чертеж по прежнему будет ругаться, т.к. в описании некоторых типов линий используется стиль Бм-431 Его предварительно нужно создать Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 25.03.2013
Сообщений: 5
|
Всем привет.
Научился создавать линии через Express, mkltype и т.п. Вижу что есть восхитительный макрос извлекающий эти данные из DWG. Вижу в сети массу файлов с прописанными внутрь типами линий, которые великолепно позволяют копировать в голые файлы линии любого типа, автоматически перенося абсолютно левый тип линии прямо в чертеж. Вопрос остался один, как собственно в dwg то люди добрые внедряют их, а? ![]() |
|||
![]() |
|
||||
Регистрация: 25.03.2013
Сообщений: 5
|
Я к тому, что Lin понятно как подгружаем, но если они используют какие то левые шейпы, которых нет в автоподгружаемых или системных таблицах, то как работают линии и их копирование из файла в файл, представленные в приложеном файле не понятно. А попытка сграбить все линии из него lisp-ом из этого топика - дает очень много ошибок. См. файлы...
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
Пример еще пример и цитата Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 25.03.2013
Сообщений: 5
|
Понял. Тогда во вложенном #33 примере линии копируются из файла в файл хорошо потому что используются типовые файлы форм присутствующие у всех по умолчанию.. Но ваш lisp версии 1.4 вместо многих названий шейпов пишет error.. это потому что не все shx при работе может найти - подгрузить? (результат работы в этом же каталоге).
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
Цитата:
В остальном все верно Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Геолог Регистрация: 12.09.2012
Кузбасс (Кемерово)
Сообщений: 12
|
Здравствуйте. Пытаясь извлечь описание описанными выше способами удалось выдернуть только часть линий, не могу разобраться что делаю не так с другими, или может ошибка изначально в формах, как это выяснить не знаю. Формы имеются. Файл шаблона откуда извлекаю прилагаю. Помогите пожалуйста выяснить как правильно исправить описание, чтобы линии загрузились.
Извлеченное описание и результат моих поправок вложила в архив.https://cloud.mail.ru/public/4M2h/3X8k5Wegp |
|||
![]() |
|
||||
Геолог Регистрация: 12.09.2012
Кузбасс (Кемерово)
Сообщений: 12
|
Это то, что извлеклось, но акад завис и закрылся только принудительно.
https://forum.dwg.ru/attachment.php?...1&d=1594474667 То,что получила после исправлений https://forum.dwg.ru/attachment.php?...1&d=1594474667 |
|||
![]() |
|
||||
Геолог Регистрация: 12.09.2012
Кузбасс (Кемерово)
Сообщений: 12
|
Находила исходник в папке support, пыталась создать папку по пути из этого описания и положить туда формы, тоже безрезультатно.
Вообще на форуме не встретила примера, чтобы в описании был путь указан. https://forum.dwg.ru/attachment.php?...1&d=1594475106 |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
mindchamber, Экспортируется
Цитата:
Правильнее в описании типа линии откорректировать размеры, чтобы масштаб типа линии примитивов был равен 1 Типа такого Цитата:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 06.11.2020 в 23:12. |
|||
![]() |
|
||||
Регистрация: 29.07.2017
Сообщений: 199
|
У меня пишет эту ошибку и экспортирует пустой файл. В чем может быть проблема?
Нашел другой lisp, вроде не выдает эту ошибку. upd: нет, все равно не все типы линий экспортирует... autocad 2021 Последний раз редактировалось mindchamber, 13.11.2020 в 10:46. |
|||
![]() |
|
||||
Регистрация: 28.10.2010
Сообщений: 21
|
Присоединяюсь к mindchamber, большое спасибо VVA за полезные коды! Удивляюсь, когда поднимают вопрос применения данного лиспа. Так пишут те, кто никогда не передавал файлы заказчикам.
Но у меня возникают ошибки при загрузке выгруженного этим кодом файла. И я проанализировал то, что выгружает лисп на примере нескольких описаний линий. Оригинальное описание линии: *500_84_1, Откосы неукрепленные A,1,[TOPOLINE,Topography.shx,S=1.2,R=90,X=0,Y=0],1,[TOPOLINE,Topography.shx,S=0.5,R=90,X=0,Y=0] Выгруженное с помощью кода: *500_84_1, Откосы неукрепленные A,1,[TOPOLINE,Topography.shx,r=90,S=1.2,X=0,Y=0],[TOPOLINE,Topography.shx,r=90,S=1.2,X=0,Y=0],1 Как видите единичка улетает в конец описания. И-за этого не корректно отображается вид линии. Далее... Оригинальное описание линии: *500_145_1, Участки с изрытой поверхностью A,0.9,[TOPOZUBFILL,Topography.shx,S=-0.8,R=0],0 Выгруженное с помощью кода: *500_145_1, Участки с изрытой поверхностью A,0.9,[,Topography.shx,r=0,S=-0.8,X=0,Y=0],[,Topography.shx,r=0,S=-0.8,X=0,Y=0],0 Оригинальное описание линии: *500_104, Сооружения морских нефтепромыслов разрушенные и полуразрушенные A,0,[TOPOCIRCLEFILL,Topography.shx,S=1,R=0,X=0,Y=0],-1 Выгруженное с помощью кода: *500_104, Сооружения морских нефтепромыслов разрушенные A,0,[,Topography.shx,r=0,S=1,X=0,Y=0],[,Topography.shx,r=0,S=1,X=0,Y=0],-1 В следствие этого возникают ошибки. Надеюсь это не из-за того что у меня кривой автокад. Хотя я допускаю это. Последний раз редактировалось DmAK, 17.11.2020 в 16:29. |
|||
![]() |
|
||||
Код:
|
||||
![]() |
|
||||
пишу очередной экстрактор
![]() |
||||
![]() |
|
||||
Цитата:
Код:
Сохраняем линии в файл *.lin. Создаём новый dwg файл в директории с файлами форм, автокад сам их подгрузит, при загрузке линий. Поскольку в файле присутствует линия "треуг", использующая в описании Unicode символ, то выбираем кодировку файла Unicode и создаём стиль "Simvol" в чертеже. В файле присутствуют линии использующие формы. Линии, использующие форму "ШТРИХ_ВЕРТИКАЛЬНЫЙ" скорее всего не загрузятся. Если посмотреть загруженные формы после попытки загрузки линий, то можно увидеть, что файл форм "STRICH.shx" содержит форму "ØÒÐÈÕ_ÂÅÐÒÈÊÀËÜÍÛÉ", что есть "ШТРИХ_ВЕРТИКАЛЬНЫЙ" на Unicode. Если попытаться вставить форму "ШТРИХ_ВЕРТИКАЛЬНЫЙ" команда "_Shape" выдаст ошибку. При вставке формы "ØÒÐÈÕ_ÂÅÐÒÈÊÀËÜÍÛÉ" ошибка не появляется. Соответственно, для того чтобы использовать эту форму в линиях необходимо поменять этой форме имя, причём сделать это лучше латиницой. Следует иметь в виду, что такая модификация может повлиять негативно на какую-то совместимость чертежей использующих этот тип линий с разными именами форм. Касательно пути к файлу форм в описании линии. Если создавать линию академически, то есть писать файл ручками, то естественно никакого пути писать не нужно (только имя файла), это указано и в хелпере. Появление пути в типе линии скорее всего связано с использованием альтернативных методов создания линий. Среди собранных примеров файлов в этой теме можно в них найти линии, начинающиеся с отрицательных чисел в описании. Такую линию, записанную в файл *.lin невозможно загрузить в чертёж, поскольку по правилам линия всегда должна начинаться со штриха/точки, но в файлах примерах они прекрасно существуют и рисуются. |
||||
![]() |
|
||||
Регистрация: 17.04.2012
Нижний Новгород
Сообщений: 23
|
Добрый день!
Помогите пожалуйста извлечь типы линий из файла? Не получается с помощью лиспа, извлекается только несколько типов линий, а все инженерные сети словно не видит. Может я что-то делаю не так? Upd. Все, помощь не нужна, справилась сама, linout помог) Последний раз редактировалось lemurz9, 28.07.2023 в 14:12. |
|||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
И на другой пожарный случай:
Steal from Drawing от Lee Mac. |
|||
![]() |
|
||||
Добрый день. Пользуюсь утилитой уже очень давно. Сейчас понадобилось. Делал в AutoCAD 2023. Почему то получаю пустой файл *.lin Специально зашёл сюда и обновил код до версии 1.4. Всё равно - пустой. У кого так же? Что не так может быть?
|
||||
![]() |
|
||||
Методом тыка установил что "родные" типы линий оно выгружает а типы линий, которые применены в подоснове - нет. Может быть из-за кириллицы в названиях? Скриншот и файл с подосновой - прилагаю.
Последний раз редактировалось baaba, 13.03.2025 в 18:24. |
||||
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
lisp : проверка наличия типа линии в файле | Кулик Алексей aka kpblc | LISP | 4 | 21.06.2005 08:04 |
ГОСТ на ванты и оттяжки ??? | зщцук? | Поиск литературы, чертежей, моделей и прочих материалов | 1 | 17.05.2005 06:53 |
Загрузка типа линии из макроса | Кулик Алексей aka kpblc | Программирование | 4 | 24.01.2005 14:57 |
Размер файла dwg | alex-alex | Прочее. Архитектура и строительство | 5 | 10.09.2004 00:28 |