|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Преобразовать штриховку в полилинию (не контур)
Регистрация: 11.07.2022
Сообщений: 396
|
||
Просмотров: 1407
|
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,018
|
А дальше - построить между границами контура среднюю линию. Например, средствами pltools. В части средней линии там не самый продвинутый алгоритм, но т.к. ширина постоянная, его будет достаточно. Можно и другим лиспом, была большая тема на этот счет.
При некоторой сноровке можно дописать немного кода и масштабировать этот увлекательный процесс сразу на множество контуров. |
|||
![]() |
|
||||
Регистрация: 11.07.2022
Сообщений: 396
|
именно множество контуров...
а штриховку SOLID в ПЛ нереально? SOLID по сути - заливка и ПЛ - заливка? Последний раз редактировалось Ingpro, 30.08.2023 в 15:04. |
|||
![]() |
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,018
|
Надо как-то объяснить автогаду, то, что буквально очевидно для человека. Что это не гадкий утенок площадной объект "штриховка", а скрытый в нем лебедь линейный объект "незамкнутая полилиния". Кто осуществит такое (например, с помощью нейросетей), может, не озолотится, но получит тонны респекта и уважухи.
А недопрограммистам вроде меня проще работать с линейными объектами, т.е. в данном случае границами штриховеи. |
|||
![]() |
|
||||
Регистрация: 11.07.2022
Сообщений: 396
|
Цитата:
На изображении показано то, что мне нужно, штриховки преобразуются в полилинии, но к сожалению у меня в AutoCAD 2015 rus программа создает только контуры штриховок. Пишет в КС: HCEN.lsp успешно загружено. Команда: ; ошибка: неверный тип аргумента: VLA-OBJECT nil. Если подскажете, что нужно подправить в лиспе, очень выручите... Спасибо... Вот ссылка на форум, я не знаю могу ли я приложить код? Convert Hatching to Polyline - Page 2 - AutoLISP, Visual LISP & DCL - AutoCAD Forums Почему-то ссылка не работает |
|||
![]() |
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,018
|
Ссылка не работает, потому что к ее адресу прицепилась куча мусора. Но, немного выругавшись, смог указать браузеру верный путь на тот форум.
Там, среди прочего, есть пример dwg, на котором должен работать ваш код. Но скачать его могут только участники того форума. Выложите здесь, тогда будет о чем говорить. |
|||
![]() |
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,018
|
Глючит где-то на создании объектов с отступом. Видимо, в зверькаде эта функция работает не совсем так, как в акаде. Честно говоря, не ясна задумка автора, зачем он это сделал.
А вам, наверное, проще всего скачать демку зверькада и сделать все в ней, если в ней код нормально работает. |
|||
![]() |
|
||||
Регистрация: 11.07.2022
Сообщений: 396
|
Чертежи сделаны в неизвестной программе или приложении, связи с разработчиком нет. На рис 1 показаны штриховки без контура, скорее всего разбиты прокси-объекты... Контур штриховкам можно создать, а вот преобразовать этот контур в полилинию (рис. 2) - в этом вопрос.
Или выполнить все в одной программе: 1 вариант - сразу создать полилинию по границам штриховки, 2 вариант - создать контуры для штриховок, а затем эти контуры заменить полилинией. Это нужно для корректировки, а у штриховки нет длины, её невозможно растянуть... Лисп из поста #7 был изменен, но работает некорректно, создает ПЛ не для всех штриховок, создает их в два слоя (наложение), на некоторых штриховках остаются линии контуров... Последний раз редактировалось Ingpro, 09.09.2023 в 09:37. |
|||
![]() |
|
||||
Регистрация: 11.07.2022
Сообщений: 396
|
Штриховки все отдельные, есть прямые и дугообразные...
Я пытаюсь немного подкорректировать код, но, видимо, что-то делаю не так... Do you want to inherit the color of the hatch to the polyline? (Space Bar or any key - Yes / N - Current Color" Заменяю в строке 79 "N" на "1", чтобы в команде не переключаться на англ. раскладку Do you want to inherit the color of the hatch to the polyline? (Space Bar or any key - Yes / 1 - Current Color" Заменяю в строке 94 "N" на "1" (if (/= coloruseranswer "1") Полилинии создаются текущим цветом, но в ком. строке пишет: Команда: HCEN2R Select Hatches : Выберите объекты: Противоположный угол: найдено: 12 Выберите объекты: Do you want to inherit the color of the hatch to the polyline? (Space Bar or any key - Yes / 1 - Current Color1 Неправильное ключевое слово. Error: Функция отменена Код:
(setq deleteuseranswer (getstring "\n The number of hatches and polylines is the same. Are you sure you want to delete the original hatch? (SpaceBar or AnyKey - Yes / N - No)")) Не подскажете в чём проблема? |
|||
![]() |
|
||||
должно работать.
так а что надо? я так понимаю, что полилиниия должна поиметь слоевые и цветовые свойства штриховки ну и быть удалённой автоматом или как? вот чел пишет в легенде правильные слова, но... какой-то огород нагородил, ппц(
__________________
K Lisp |
||||
![]() |
|
||||
Регистрация: 11.07.2022
Сообщений: 396
|
Цитата:
Запрос из строки 414 в ком. строку не выводится, и поэтому нет возможности удалить штриховки, насчёт "огорода", тоже думаю, что как-то код написан по-быстрому, хоть и не особо понимаю... |
|||
![]() |
|
||||
Регистрация: 11.07.2022
Сообщений: 396
|
Может так много и не надо?..
"In most (but not all) cases, the more concise solution is usually quicker". Lee Mac 11.11. 2010 Последний раз редактировалось Ingpro, 11.09.2023 в 21:31. |
|||
![]() |
|
||||
Регистрация: 11.07.2022
Сообщений: 396
|
Цитата:
Но хорошо, что штриховки именно заменяются и полилинии в один слой... Выделяю штриховки, в свойствах - Штриховка... Поворачиваю их, дело не в горизонтальном расположении... Прикладываю dwg... Если создать штриховки в AutoCad, то они все (независимо горизонтально, вертикально, под углом...) преобразуются в ПЛ, значит дело в косячном файле, который создан в стороннем приложении, так что программа Solid_pline_hatch_to_pline.fas работает правильно, ещё раз большое спасибо koMon. Последний раз редактировалось Ingpro, 11.09.2023 в 23:55. |
|||
![]() |
|
||||
дело не косячности файла а в контуре штриховки. штриховки, у которых контур состоит из отрезков и дуг пропускаются пока, потому что как я написал ранее, контур штриховки не генерится командой, а читается прямо из описания штриховки.
__________________
K Lisp |
||||
![]() |
|
||||
Регистрация: 11.07.2022
Сообщений: 396
|
Так эти штриховки вообще без контура, или я не так понимаю?..
А ещё, программу Solid_pline_hatch_to_pline.fas можно использовать для преобразования замкнутого контура в ПЛ. Получается обратная задача программы Lee Mac - AdvancedPolyOutlineV1-1.lsp, которая создает контур ПЛ. |
|||
![]() |
|
||||
не так) штриховка это запрограммированное визуальное отображение замкнутой области, ограниченной какими-то кривыми, которые жёстко записаны в определение штриховки, которое в свою очередь можно увидеть, посмотрев её dxf дамп. то что контур штриховки не виден вовсе не говорит о его отсутствии. к тому же если выбрать штриховку, то всегда можно увидеть захваты (grips) контура штриховки, которые кстати говоря, позволяют изменять штриховку динамически.
это как?
__________________
K Lisp Последний раз редактировалось koMon, 12.09.2023 в 11:38. |
||||
![]() |
|
||||
Регистрация: 11.07.2022
Сообщений: 396
|
как на миниатюре из поста #21, заштриховать контур из замкнутой полилинии, а затем применить Solid_pline_hatch_to_pline - получим ПЛ у которой есть длина (например, длина арматурного стержня, хомута)...
Последний раз редактировалось Ingpro, 12.09.2023 в 11:28. |
|||
![]() |
|
||||
так, блин, разве это не было целью? но штриховка должна получаться из как бы полилинии с фиксированной шириной.
__________________
K Lisp |
||||
![]() |
|
||||
Регистрация: 11.07.2022
Сообщений: 396
|
|
|||
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как преобразовать 3д тело в штриховку. | BringTheCabbage | AutoCAD | 6 | 20.05.2020 12:21 |
Как преобразовать контур маскировки в обратно полилинию? | ViKo$ | AutoCAD | 2 | 20.11.2019 11:16 |
Как преобразовать полилинию в сплайн | Kotsar | AutoCAD | 20 | 02.08.2015 14:09 |
Как преобразовать штриховку в полигон? | Olga_@@@ | AutoCAD | 13 | 08.05.2009 15:44 |