| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как в Autocad cсоздать мультилинию с закруглениями?

Как в Autocad cсоздать мультилинию с закруглениями?

Ответ
Поиск в этой теме
Непрочитано 27.01.2015, 17:51
Как в Autocad cсоздать мультилинию с закруглениями?
Leonid_Iv
 
инженер-проектировщик
 
г. Витебск
Регистрация: 04.07.2014
Сообщений: 36

Подскажите, как в Autocad создать линию (мильтилинию, полилинию), которая сам бы учитывала закругления? Тем самым имитировала арматуру

Миниатюры
Нажмите на изображение для увеличения
Название: 2015-01-27 17-47-11 Скриншот экрана.png
Просмотров: 336
Размер:	7.6 Кб
ID:	142633  

Просмотров: 17150
 
Непрочитано 17.10.2017, 16:13
#21
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,030


Цитата:
Сообщение от Setvar Посмотреть сообщение
И получается хрень без закруглений.
У меня получается хрень с закруглениями.
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 17.10.2017, 16:48
#22
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
У меня получается хрень с закруглениями.
Не смог сделать закругление программой pl2ml, можно Ваш файлик посмотреть?

Просто мой склероз подсказывает, что полилиния наследована от кривой, которая в свою очередь наследована от ентити (сущности), а мультилиния напрямую наследована от ентити и не имеет многих параметров и свойств присущих кривым. В том числе мне думалось, что сделать мультилинию с правдивыми закруглениями можно только глубоко залезая в потроха автокада и переопределяя внешний вид этого объекта. Вот только с помощью лисп (pl2ml.vlx) так глубоко не залезть... однако как Вы говорите такое возможно.
На всякий случай, pl2ml брал тут http://www.cadforum.cz/cadforum_en/d...asp?fileID=670
Boxa вне форума  
 
Непрочитано 17.10.2017, 16:59
#23
Setvar


 
Регистрация: 10.02.2007
Москва
Сообщений: 611


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
У меня получается хрень с закруглениями
Ну, начерти полилинию с дуговыми сегментами и запусти программу pl2ml. Тут-то хрень и проявится.
Про аппроксимацию линейными сегментами не надо писать. Арматура в натуре гнется с определенным радиусом, зависящим в том числе и от диаметра стержня. Никто не будет гнуть стержень по ломаной линии. Гнуть-то надо с определенным радиусом.
Setvar вне форума  
 
Непрочитано 17.10.2017, 20:23
#24
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,030


Offtop: (Что у мультилиний никаких радиусов не будет, ясно изначально - #2)
А преобразовать дуговые сегменты в полилинию - слабо?
Конечно, так лучше макросом: сначала преобразуем дуговые сегменты CONVTO2D из PLTOOLS, потом заменяем на мультилинию.
__________________
количество моих сообщений не говорит о знании Автокада

Последний раз редактировалось АлексЮстасу, 17.10.2017 в 20:37.
АлексЮстасу вне форума  
 
Непрочитано 18.10.2017, 05:23
#25
Setvar


 
Регистрация: 10.02.2007
Москва
Сообщений: 611


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
А преобразовать дуговые сегменты в полилинию - слабо?
А название темы еще раз прочитать слабо? Не надо притворяться, будто ты не понимаешь, что это преобразование как раз и является аппроксимацией дуги отрезками. А закругление - это что? Ломаная загогулина?
Setvar вне форума  
 
Непрочитано 18.10.2017, 05:55
#26
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,030


Цитата:
Сообщение от Setvar Посмотреть сообщение
А название темы еще раз прочитать слабо? Не надо притворяться, будто ты не понимаешь, что это преобразование как раз и является аппроксимацией дуги отрезками. А закругление - это что? Ломаная загогулина?
Во-первых, не серчайте - я ж шутил! Если нужны именно дуги, то, по-моему, в #2 kpblc все сразу сказал. У мультилиний дуговые сегменты создателями не предусмотрены.
Во-вторых, я вполне допускал, что можно без дуг. Например, в нашей сфере мы часто все кривые целенаправленно преобразуем в полилинии. А темы читают люди из разных сфер - кому-то предложения могут пригодиться.
В-третьих, исходный вопрос был про мультилинии, про мультилинии и отвечаю. Чтобы мультилинии выглядели закругленными, можно сделать так-то.

Еще я полностью согласен с Boxa в #18, что Автодеск, сделав мультилинии, вообще их забросил.
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 18.10.2017, 07:00
#27
Setvar


 
Регистрация: 10.02.2007
Москва
Сообщений: 611


Ну, шутил и шутил. То, что Autodesk забросила мультилинию, известно давно и Boxa не сделал открытие. Но конструктор вынужден иметь дело с реальными объектами типа арматуры, а не ломаными загогулинами. Вот, например, надо загнуть арматуру и заанкерить ее в бетоне. Кто же будет гнуть ее по ломаной, надо же в месте изгиба показать радиус гиба. А какой радиус гиба у ломаной? Ноль? При таком радиусе арматура сломается.
Так что изначально надо было заявить, что мультилиния не допускает закруглений и не изгаляться с разными аппроксимациями. Нужны другие решения, с новыми объектами AutoCAD, но только в "голом" AutoCAD'е эти объекты будут восприниматься, как Proxy...
Setvar вне форума  
 
Непрочитано 18.10.2017, 07:47
#28
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Цитата:
Сообщение от Setvar Посмотреть сообщение
Но конструктор вынужден иметь дело с реальными объектами типа арматуры, а не ломаными загогулинами. Вот, например, надо загнуть арматуру и заанкерить ее в бетоне. Кто же будет гнуть ее по ломаной, надо же в месте изгиба показать радиус гиба. А какой радиус гиба у ломаной? Ноль? При таком радиусе арматура сломается.
Простите, но это надуманная проблема, которая при желании довольно просто решается. Как конструктор, уже не вспомню, когда последний раз указывал радиус загиба именно на детали, обычно это указывается в общих данных проекта.
Однако если Вы хотели донести, что честное закругление в "оригинальной" мультилинии сделать нельзя, то с этим никто и не спорит, а решают задачу красивой отрисовки арматуры на узлах. И аппроксимация это вполне себе решение.
Цитата:
Сообщение от Setvar Посмотреть сообщение
Нужны другие решения, с новыми объектами AutoCAD, но только в "голом" AutoCAD'е эти объекты будут восприниматься, как Proxy...
Есть обходной пути создания "своих объектов" без прокси, однако в этом разделе это обсуждать не очень уместно.
Boxa вне форума  
 
Непрочитано 18.10.2017, 09:34
#29
skkkk


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


Предлагаю подвести хотя бы промежуточные итоги темы.
Для начала хотелось бы заметить, что вопрос традиционно перешел из русла раздела AutoCAD и похоже, что отсюда ему уже пора восвояси.

Перечислю некоторые из возможных задач, которые могло бы хотеться решать при помощи мультилиний:
а) арматура (разумеется);
б) трубопроводы в две линии (или в три - с осевой);
в) шлейфы проводов или иных в разной степени гибких коммуникаций
г) визуализация отрисовки гибких коммуникаций вместе с охранной зоной, для динамического контроля нормативных расстояний (приближений)
..... предлагаю пока ограничиться данным перечнем.

Итак, какие преимущества нам дает мультилиния?
Пр.1: позволяет отрисовать сразу несколько параллельных линий разных цветов и типов, взяв за базовую любую из них. Визуализация отрисовки тут тоже немаловажна.
Пр.2: возможности настройки торцов и стыков (скудноватые, конечно, возможности).
Пр.3: заливка. Иногда полезно, что она может быть другого цвета. Иначе бы такую мультилинию ничего бы не отличало от широкой полилинии.
Пр.4: возможность создания закрытых/открытых крестов, углов, Т-образных "перекрестков" и прочие инструменты редактирования мультилинии.

Какие недостатки?
Нед.1: нет дуговых сегментов.
Нед.2: заливка не может быть полупрозрачной или быть штриховкой.
Нед.3: нельзя назначить разный вес линиям.

Поскольку единогласно пришли к тому , что штатных возможностей для изменения поведения мультилинии нет, остается...

...Программирование.

Вариант 1 (простой). Если визуализация не важна.
Суть в том, чтобы отрисовывать одну полилинию по нужным правилам со всеми дуговыми сегментами, а далее, правильно "собрав" в нужном порядке и, может, слегка подредактировав имеющиеся в открытом доступе функции для работы с полилиниями и штатные командные средства (а их я могу припомнить почти для каждого из вышеперечисленных преимуществ мультилинии, кроме визуализации) - либо (мульти)подобием, либо "опустошением" широкой полилинии с дальнейшей или сопутствующей программной доработкой до состояния достижения остальных преимуществ мультилинии. При этом также решаемы и все недостатки.
Если программа сделает с полилинией заданную последовательность действий в пару кликов, пользователь имеет шанс остаться довольным. В случае необходимости редактирования он удалит (лучше бы тоже в пару кликов) все сгенерированные полилинии, оставив одну (главную), и отредактировав ее, превратит снова в "псевдо-мульти" по тем же правилам. Правила, конечно, нужно будет настраивать в коде, либо писать для них отдельный диалог - некий аналог стилей мультилиний, что несколько усложнит задачу.
Для воплощения данного варианта хватит весьма поверхностных знаний лиспа, умения пользоваться поиском и задавать правильные вопросы на форуме.

Вариант 2 (сложный). Если визуализация ВАЖНА.
Динамическая визуализация сразу нужного количества нужных линий при помощи так называемых временных примитивов с последующей программной отрисовкой по их следам полилиний согласно "псевдо-стилю" "псевдо-мультилиний", или мультилиний с аппроксимированными дуговыми сегментами. В части того, как это выглядит на бумаге - согласен с Вохой - разницы в жизни никто не заметит. В части редактирования таких сегментов - вопрос другой. Радиусы, конечно, расставить несложно будет программно, даже на "угловатые дуги", а вот потягать за ручки уже не выйдет.
Помимо этого по-хорошему придется писать инструменты для их динамического редактирования.
Можно также наложить и ограничения на максимальный или минимальный радиус изгиба.
В лиспе это реализуемо при помощи связки grread-grvecs, однако как по мне, это довольно сложно и муторно - очень мало доводилось иметь с ними дел. Признаюсь, в планах есть освоить это дело поглубже, но явно не сейчас - в разгар конца сезона. В общем, обещать ничего не могу.
Может, с использованием jig-технологий это реализуется проще?

Оба этих варианта избавят от необходимости в PROXI-графике, да и что-то мне подсказывает, что даже сложный второй вариант будет как-то попроще в реализации, нежели создание своего типа объекта. Могу, конечно и ошибаться. И полагаю, что этот свой объект будет очень узкоспециализированным, а второй вариант - более универсальным.

----- добавлено через ~3 мин. -----
Цитата:
Сообщение от Boxa Посмотреть сообщение
Есть обходной пути создания "своих объектов" без прокси, однако в этом разделе это обсуждать не очень уместно.
Очень интересно.

Последний раз редактировалось skkkk, 18.10.2017 в 09:46.
skkkk вне форума  
 
Непрочитано 18.10.2017, 09:57
1 | #30
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Цитата:
Сообщение от skkkk Посмотреть сообщение
Очень интересно.
https://habrahabr.ru/post/154591/
Boxa вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как в Autocad cсоздать мультилинию с закруглениями?

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно подгрузить тяжелый растр? mixey AutoCAD 6 01.08.2014 19:59
Интеграция Autodesk СПДС в AutoCAD 2012 bolotov Прочее. Программное обеспечение 24 07.01.2013 20:22
Превратить AutoCAD Map 3D в обычный AutoCAD (по панелям) gizmo_zx Вертикальные решения на базе AutoCAD 3 24.08.2011 11:25
В русской версии AutoCAD 2010 SP1 32-bit файл Acad.PGP содержит ошибки. hwd Баги и пожелания в Autodesk 21 21.04.2010 20:27
Что нового в AutoCAD 2005 ilka_t AutoCAD 40 19.05.2004 16:48