Михаил_ЛМГТ Posted December 13, 2022 Report Share Posted December 13, 2022 Добрый день. Операция нетипичная, наверное, но понадобилось мне ужать блок по оси Х в два раза и затем разбить его. В итоге оказалось, что при такой операции штриховка внутри блока рассыпается на примитивы. Акад себе такого не позволял добавлено через 6 минут и какой-нибудь сложный контур еще и разбить нельзя. Он остается блоком 1 Quote Link to comment Share on other sites More sharing options...
doctorraz Posted December 13, 2022 Report Share Posted December 13, 2022 Файлы примеров.... где??? 2 Quote Link to comment Share on other sites More sharing options...
Volkov Posted December 13, 2022 Report Share Posted December 13, 2022 в данном случае пример простой заштриховал прямоугольник ctrl+A ctrl+C ctrl+shift+V выделил вставленный блок в инспекторе параметру "Масштаб Х" указал значение 0.5 EXPLODE => разруха блок_штр.dwg 3 Quote Link to comment Share on other sites More sharing options...
doctorraz Posted December 13, 2022 Report Share Posted December 13, 2022 (edited) 10 минут назад, Volkov сказал: в данном случае пример простой 4 часа назад, Михаил_ЛМГТ сказал: сложный контур еще и разбить нельзя. кривые: сплайны, полилинии, дуги или еще что то.... объединены или нет может блоку тупо запрещено расчленение может какой хитрый анонимный не так уж много вариантов что бы их все по быстрому проверить и понять в чем проблема добавлено через 3 минут 10 минут назад, Volkov сказал: разруха надеюсь @yum запишет в свой блокнотик, если это конечно не так задумано Edited December 13, 2022 by doctorraz 1 1 Quote Link to comment Share on other sites More sharing options...
Михаил_ЛМГТ Posted December 14, 2022 Author Report Share Posted December 14, 2022 12 часов назад, doctorraz сказал: может блоку тупо запрещено расчленение как и в примере выше, только не прямоугольник, а полилиния. ctrl+C ctrl+shift+V выделил вставленный блок "Масштаб Х" указал значение 0.5 Блок не разбить. блк.dwg 1 1 Quote Link to comment Share on other sites More sharing options...
doctorraz Posted December 14, 2022 Report Share Posted December 14, 2022 (edited) 42 минуты назад, Михаил_ЛМГТ сказал: Блок не разбить. получается нана не умеет расчленять блоки с разным масштабом АК этот блок разбил, но в нана есть страшное секретное оружие крошит в капусту даже тексты Спойлер добавлено через 7 минут PS пока нанодев будет чинить если ты собрал объекты в блок только для того, что бы задать им разный масштаб и потом взорвать (кстати даже в АК после расчленения это могут быть совсем другие объеты) Спойлер для недавно перешедших из АК это может быть неочевидно Edited December 14, 2022 by doctorraz 2 1 Quote Link to comment Share on other sites More sharing options...
EdwardSt Posted December 14, 2022 Report Share Posted December 14, 2022 (edited) Занятная клюква получается. Блок не разбивается, если в его состав входят элементы, которые нана не умеет разбивать (или не хочет) разбивать корректно. Проэксперементировал с несколькими типами объектов. Результаты таковы Если в состав блока входят элементы, с которыми затруднений не возникает или они невелики, то блок разбивается по примерно такому алгоритму: 1. "правильные элементы" - разбиваются корректно. Пока к правильным элементам могу отнести только отрезки. 2. "частично правильные элементы" - разбиваются на составляющие либо с нюансами. К ним относятся полилинии без дуговых сегментов и мтексты. Полилинии дополнительно разбиваются на отрезки (в АС они остаются полилиниями). Мтексты остаются мтекстами, но вид мтекста становится другим (в АС корректно меняются высота, наклон и сжатие) 3. "Неправильные элементы" - не разбиваются. Все элементы этого типа остаются в блоке с именем "*...", т.е. дальнейшему разбиению щтатными средствами не поддаются. Если в блок входят только "неправильные" элементы, то блок не разбивается совсем и имя остается прежним. К "неправильным" элементам относятся полилинии с дуговыми сегментами, круги, дуги, тексты. Проверка на исходном кейсе: В исходном примере блок состоит из одной полилиннии с дуговыми сегментами. Поэтому он не разбивается (правило 3). Если в самом блоке полилинию расчленить на отрезки и дуги, то такой блок разобьётся на два отрезка (правило 1) и анонимный блок "*..." с ужатыми дугами (правило 3) Если в блоке полилиннию модифицировать, удалив кривизну сегментов, то блок разобьется на 4 отрезка (правило 2) Вывод: Нанокад некорректно разбивает разномасштабные блоки, содержащие большинство типов геометрических примитивов. Это касается разных масштабов по X и Y. Экспериментов с Z не проводил. Выглядит так, что начали отрабатывать разбивку с отрезков, потом запал прошел и элементы, до которых не дошли руки, просто решили оставить в составе анонимных блоков. Явный косяк, который уважаемая @yum просто обязана взять на карандаш. Edited December 14, 2022 by EdwardSt 2 1 Quote Link to comment Share on other sites More sharing options...
doctorraz Posted December 14, 2022 Report Share Posted December 14, 2022 15 минут назад, EdwardSt сказал: Экспериментов с Z не проводил. С плоскими блоками разбивает добавлено через 1 минуту Кстати АК дуги-полилинии этого блока преобразует в элипс добавлено через 5 минут Вопрос конечно интересный.. после расчленения, что должно получиться? Примитивы которые были в блоке или чего в блоке не было хоп и появилось.. насколько этот подход корректен? АК жульничает, меняет примитивы одни на другие НК честно говорит, что расчленить невозможно, это будут не исходные примитивы 2 Quote Link to comment Share on other sites More sharing options...
yum Posted December 14, 2022 Report Share Posted December 14, 2022 По штриховке написала. По неразбиваемым пишу. 2 2 Quote Link to comment Share on other sites More sharing options...
EdwardSt Posted December 14, 2022 Report Share Posted December 14, 2022 9 минут назад, doctorraz сказал: АК жульничает, меняет примитивы одни на другие Нет, в случае с полилиниями так быть и должно. В качестве сегмента у полилинии НЕ МОЖЕТ быть эллипс. Поэтому дополнительное разбиение корректно. Просто, АК дополнительно разбивает полилинию, если в ней были дуговые сегменты. Если только отрезки, то оставляет в виде модифицированной полилинии. Нана же, с дугами вообще отказывается работать а с только прямыми сегментами - крошит в капусту разбивает на отрезки. добавлено через 2 минуты Только что, yum сказал: По штриховке написала. Кстати, в моем разборе штриховка относится к "частично правильным" элементам, которые нана может извлекать из блока, но обязательно дальше разбивает на примитивы - отрезки. 2 Quote Link to comment Share on other sites More sharing options...
doctorraz Posted December 14, 2022 Report Share Posted December 14, 2022 6 минут назад, EdwardSt сказал: Нана же, с дугами вообще отказывается работать блок с окружностью тоже не умеет если блок с разными масштабами всежэж полилиния разбивается на отрезок и дугу, PS и всежэж расчленить это разделить на составляющие... удивительно было бы если после расчленения оставались только руки или только головы, но АК и не такое может добавлено через 3 минут 3 минуты назад, doctorraz сказал: АК и не такое может нана не отстает офф хэх .. про необратимые операции чертим круг меняем ему масштаб по х на 0,5, по у-1 упсс элипс, но если задать кругу масштаб по х-2 получится элипс в форме круга))) 2 Quote Link to comment Share on other sites More sharing options...
EdwardSt Posted December 14, 2022 Report Share Posted December 14, 2022 7 минут назад, doctorraz сказал: получится элипс в форме круга))) Ну, дык, круг - это частный случай эллипса! Вспомни школу 1 Quote Link to comment Share on other sites More sharing options...
doctorraz Posted December 14, 2022 Report Share Posted December 14, 2022 20 минут назад, EdwardSt сказал: круг - это частный случай эллипса Курвы они оба частные случаи добавлено через 2 минуты Кстати фокус с разными масштабами для дуги из полилинии не работает.. Возможно надо добавить ее преобразование в элипс добавлено через 6 минут 3 часа назад, Михаил_ЛМГТ сказал: только не прямоугольник, а полилиния. Не хочу показаться занудой, но на самом деле прямоугольника не существует.. Команда есть, а примитива такого нет))) добавлено через 8 минут Прямоугольник, частный случай замкнутой полилинии (С) 1 1 Quote Link to comment Share on other sites More sharing options...
Михаил_ЛМГТ Posted December 14, 2022 Author Report Share Posted December 14, 2022 37 минут назад, EdwardSt сказал: Ну, дык, круг - это частный случай эллипса! Вспомни школу Овал это круг вписанный в квадрат 3х4! 2 1 Quote Link to comment Share on other sites More sharing options...
EdwardSt Posted December 14, 2022 Report Share Posted December 14, 2022 9 минут назад, doctorraz сказал: Кстати фокус с разными масштабами для дуги из полилинии не работает.. Наверное, я слишком путано описал... Если в полилинии есть дуговые сегменты, то при разных масштабах блока они будут изображаться в виде кусков эллипса. Это справедливо и для АС, и для NC. При разбивке блока с полилинией с только прямыми сегментами: АС - создает пересчитанную полилинию, не разбивая ее на отрезки NC - создает набор отрезков, соответствующих сегментам пересчитанной полилинии При разбивке блока с полилинией с дуговыми сегментами: АС - создает набор примитивов - отрезков и кусков эллипса - соответствующих сегментам. Это связано с тем, что формат хранения полилинии НЕ предполагает сегментов в виде эллипса. NC - отказывается работать с примитивом и оставляет его в исходном или анонимном бллоке 1 Quote Link to comment Share on other sites More sharing options...
Михаил_ЛМГТ Posted December 14, 2022 Author Report Share Posted December 14, 2022 16 минут назад, doctorraz сказал: Прямоугольник, частный случай замкнутой полилинии вообще не спорю имел ввиду геометрически: прямоугольник и "непрямоугольник". Как назвать нарисованную фигуру по научному не знаю, потому назвал полилинией 1 Quote Link to comment Share on other sites More sharing options...
EdwardSt Posted December 14, 2022 Report Share Posted December 14, 2022 2 минуты назад, Михаил_ЛМГТ сказал: Как назвать нарисованную фигуру по научному не знаю Не прибедняйся И не поддавайся на провокации. Тебя просто троллят 1 Quote Link to comment Share on other sites More sharing options...
Михаил_ЛМГТ Posted December 14, 2022 Author Report Share Posted December 14, 2022 2 минуты назад, EdwardSt сказал: NC - отказывается работать с примитивом и оставляет его в исходном или анонимном бллоке а почему? он же его отрисовал как-то. Или каким образом происходит масштабирование? добавлено через 1 минуту Только что, EdwardSt сказал: И не поддавайся на провокации. Тебя просто троллят да сколько угодно, лишь бы не работать 1 Quote Link to comment Share on other sites More sharing options...
EdwardSt Posted December 14, 2022 Report Share Posted December 14, 2022 2 минуты назад, Михаил_ЛМГТ сказал: а почему? он же его отрисовал как-то. Потому я выше и писал, что нанокад НЕ ХОЧЕТ, а не не может работать с такими примитивами. Собственно, это и есть суть баги, которую зафиксировали 1 Quote Link to comment Share on other sites More sharing options...
doctorraz Posted December 14, 2022 Report Share Posted December 14, 2022 7 минут назад, EdwardSt сказал: Наверное, я слишком путано описал... нормально ты написал нано не умеет преобразовывать дугу из полилиний в эллипс 1 Quote Link to comment Share on other sites More sharing options...
EdwardSt Posted December 14, 2022 Report Share Posted December 14, 2022 (edited) 3 минуты назад, doctorraz сказал: нано не умеет преобразовывать дугу из полилиний в эллипс умеет (т.к. отрисовывает корректно), но не делает. А задача создать полилинию, содержащую эллипсы - неразрешима в рамках формата DWG. Edited December 14, 2022 by EdwardSt 1 1 Quote Link to comment Share on other sites More sharing options...
doctorraz Posted December 14, 2022 Report Share Posted December 14, 2022 1 минуту назад, EdwardSt сказал: Потому я выше и писал, что нанокад НЕ ХОЧЕТ, а не не может работать с такими примитивами. именно, что не может одно дело трансформировать матрицу вхождения блока и так показать (в описании то ничего не меняется) другое дело при расчленении это корректно преобразовать в другой примитив добавлено через 3 минут 1 минуту назад, EdwardSt сказал: умеет может @Lion007 забежит на минутку и расставит точки над ху 1 1 Quote Link to comment Share on other sites More sharing options...
Михаил_ЛМГТ Posted December 14, 2022 Author Report Share Posted December 14, 2022 4 минуты назад, doctorraz сказал: нано не умеет преобразовывать дугу из полилиний в эллипс так умеет. ГЕОМРАЗБ все отлично преобразовал в эллипсы. 2 1 Quote Link to comment Share on other sites More sharing options...
EdwardSt Posted December 14, 2022 Report Share Posted December 14, 2022 2 минуты назад, doctorraz сказал: одно дело трансформировать матрицу вхождения блока и так показать (в описании то ничего не меняется) Вообще-то, это самое сложное в данном действе! Когда пересчитаны координаты, которые корректно отображаются, создать элемент - это вообще не вопрос! При чем тут описание? Пересчитал координаты, дал команду создания примитивов (типа entmake в Lisp) этими координатами, удалил исходный блок. Все тривиально после пересчета... 1 1 Quote Link to comment Share on other sites More sharing options...
doctorraz Posted December 14, 2022 Report Share Posted December 14, 2022 3 минуты назад, EdwardSt сказал: При чем тут описание? при том что дуге из полилинии не получится задать разные масштабы 5 минут назад, Михаил_ЛМГТ сказал: так умеет да, уже забыл с чего все началось))) Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.