Команда обрезать. Почему не режет относительно всех объектов?
Реклама i
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

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

Команда обрезать. Почему не режет относительно всех объектов?

Ответ
Поиск в этой теме
Непрочитано 29.06.2016, 10:25 #1
Команда обрезать. Почему не режет относительно всех объектов?
KronSerg
 
Вода - моя работа
 
Санкт-Петербург
Регистрация: 10.11.2009
Сообщений: 3,638

Пришёл файл с жалобой на то, что в нём не работает команда обрезать при опции "Выбрать всё".
Если указать конкретную кромку - режет, по выбору всех объектов - нет.
Вычленил два проблемных примитива: дуга (в файле test 2) и полилиния (в файле test 3), если примитив удалить, режет нормально.
Внимание вопрос, почему так происходит, и как бороться с этим явлением не перелопачивая вручную весь чертёж?
Проблема актуальна для автокадов 2011 и 2014, в других не проверял.
PS вместо удаления, примитивы можно сплющить, тоже помогает.

Вложения
Тип файла: dwg
DWG 2004
Test 2.dwg (29.2 Кб, 30 просмотров)
Тип файла: dwg
DWG 2004
Test 3.dwg (29.2 Кб, 19 просмотров)

__________________
Нерешаемых проблем не бывает.

Последний раз редактировалось KronSerg, 29.06.2016 в 10:30.
Просмотров: 6496
 
Непрочитано 29.06.2016, 10:39
#2
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


по test3
Представленная полилиния имеетлокальную систему координат, отличную от мировой.
(см. рис.) На рисунке внизу правильная полилиния и логи команды _list для обеих.
Такие полилинии образуются из объектов СПДС после их расчленения. Если её расчленить до уровня линии, то всё обрежется. "Плохизну" полилинии видно и по очертаниям средней ручки (сравни с нижней)

по test2
Дуга находится в другой плоскости и не пересекает линии. Требуется дополнительное построение линии или полилинии для обрезки...
Миниатюры
Нажмите на изображение для увеличения
Название: Безымянный.jpg
Просмотров: 278
Размер:	152.8 Кб
ID:	172719  

Последний раз редактировалось Хмурый, 29.06.2016 в 10:45.
Хмурый вне форума  
 
Автор темы   Непрочитано 29.06.2016, 10:51
#3
KronSerg

Вода - моя работа
 
Регистрация: 10.11.2009
Санкт-Петербург
Сообщений: 3,638


Ты не понял, при наличии этих объектов, не режутся здоровые, не важно в каком месте файла.
Вопрос в том, как из 120тыс примитивов чертежа быстро найти конкретных больных, или как сделать так, чтобы они перестали жизнь портить.
__________________
Нерешаемых проблем не бывает.
KronSerg вне форума  
 
Непрочитано 29.06.2016, 11:05
#4
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


_SelectSimilar
_qselect
может, фильтры ещё

Последний раз редактировалось Хмурый, 29.06.2016 в 11:16.
Хмурый вне форума  
 
Автор темы   Непрочитано 29.06.2016, 11:19
#5
KronSerg

Вода - моя работа
 
Регистрация: 10.11.2009
Санкт-Петербург
Сообщений: 3,638


Так для этого нужно сначала найти виновника, а уж если я уже нашёл гадость, то справлюсь с ней.
Попробуй скопировать дугу в любой из своих файлов, в нём сразу же перестанет резать.
А теперь скажи, как не зная заранее какой из примитивов виноват, быстро найти эту пакость в чертеже?
__________________
Нерешаемых проблем не бывает.
KronSerg вне форума  
 
Непрочитано 29.06.2016, 11:30
#6
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


KronSerg, не выбирай при обрезке всё. Я так никогда не делаю, ибо результаты непредсказуемы, как видишь
PS ты в полилиниях работаешь или в отрезках? Если второе- выдели все полилинии и расчлени. Дуги можно вычленить из набора командой _qselect по координате Z начала, конца или цетра не равной нулю

Последний раз редактировалось Хмурый, 29.06.2016 в 11:36.
Хмурый вне форума  
 
Автор темы   Непрочитано 29.06.2016, 11:46
#7
KronSerg

Вода - моя работа
 
Регистрация: 10.11.2009
Санкт-Петербург
Сообщений: 3,638


Тот файл я вылечил на итог, просто выделил всех виновных быстрым выбором и сплющил, всё заработало.
Тему создал чтобы разобраться в причинах происходящего и найти быстрые варианты решения.
Т.к. проблема распространяется копированием, боюсь у нас грядёт эпидемия.
Похоже, в баги и пожелания случай.
__________________
Нерешаемых проблем не бывает.
KronSerg вне форума  
 
Непрочитано 29.06.2016, 12:02
#8
frostmourn


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


Рано паниковать. Потыкал немного файлы палочкой entget-ом, и вот к чему пришёл.
В обоих случаях помогло сменить вектор выдавливания (кажись, так обзывается, в общем, группа 210) на (0 0 1). В принципе, оно и понятно - в исходном виде при попытках обрезки ругается на "плоскость не в плоскости ХУ", наверное, как-то она выбирается по проблемному объекту и, естественно, не совпадает с остальными. При сплющивании/расчленении аналогично плоскость меняется на ХУ. У дуги мне ещё не понравились координаты центра, но вроде бы не критично.
Так что, возможно, поможет находить объекты с "ненормальной" 210-й группой и менять её. Только без дополнительной обработки они потом улетают. Если расчленение подходит, то лучше тогда так.
frostmourn вне форума  
 
Непрочитано 29.06.2016, 12:08
#9
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,187


Цитата:
Сообщение от frostmourn Посмотреть сообщение
Так что, возможно, поможет находить объекты с "ненормальной" 210-й группой
В toolpack эта вещь реализована в команде DSTP_OBJSELNON (выбор всех примитивов, непараллельных текущей СК). На "больные" примитивы из примеров среагировала сразу и безошибочно.
kp+ вне форума  
 
Автор темы   Непрочитано 29.06.2016, 12:33
#10
KronSerg

Вода - моя работа
 
Регистрация: 10.11.2009
Санкт-Петербург
Сообщений: 3,638


Хорошо, выберем мы всё, что не параллельно текущей ПСК, чем это нам поможет?
В чертеже может быть множество таких объектов, и только один из них будет создавать проблему, ведь не в самой не параллельности дело, в чём-то другом.
__________________
Нерешаемых проблем не бывает.
KronSerg вне форума  
 
Непрочитано 29.06.2016, 12:43
#11
Oleg T


 
Регистрация: 27.12.2011
Сообщений: 1,456


Цитата:
Сообщение от KronSerg Посмотреть сообщение
ведь не в самой не параллельности дело, в чём-то другом.
ИМХО дело в программе.
BricsCAD и progeCAD - все работает.
AutoCAD LT 2013 - нет.
Oleg T вне форума  
 
Непрочитано 29.06.2016, 12:48
#12
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


Цитата:
Сообщение от Oleg T Посмотреть сообщение
ИМХО дело в программе.
BricsCAD и progeCAD - все работает.
AutoCAD LT 2013 - нет.
Да, KronSerg, иди работать в BricsCAD или progeCAD. Знающие люди говорят- актуально, а AutoCAD- дерьмо.
Offtop: PS в каждом сообщении- хула
Хмурый вне форума  
 
Непрочитано 29.06.2016, 12:53
#13
Oleg T


 
Регистрация: 27.12.2011
Сообщений: 1,456


Цитата:
Сообщение от Хмурый Посмотреть сообщение
а AutoCAD- дерьмо.
Этого в моем сообщении не было. Просто проверил в разном ПО и выложил результат проверки. Найдете причину - будет замечательно. И безусловно полезно.
Oleg T вне форума  
 
Непрочитано 29.06.2016, 12:58
#14
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


в каждом рисунке- солнце
Хмурый вне форума  
 
Непрочитано 29.06.2016, 13:00
2 | #15
Oleg T


 
Регистрация: 27.12.2011
Сообщений: 1,456


Цитата:
Сообщение от Oleg T Посмотреть сообщение
AutoCAD LT 2013 - нет.
Дело в переменной PROJMODE. При установке ее в 0 обрезка срабатывает (задает режим проецирования для _TRIM и _EXTEND, возможные значения 0, 1, 2). В других прогах в данном случае (при замене значения переменной) реакции на результат отработки команды не было.
PS
Правда, обрезки непосредственно по "больному" объекту все равно не происходит.

Последний раз редактировалось Oleg T, 29.06.2016 в 13:19.
Oleg T вне форума  
 
Автор темы   Непрочитано 29.06.2016, 13:39
#16
KronSerg

Вода - моя работа
 
Регистрация: 10.11.2009
Санкт-Петербург
Сообщений: 3,638


Цитата:
Сообщение от Oleg T Посмотреть сообщение
Дело в переменной PROJMODE. При установке ее в 0 обрезка срабатывает
А вот это уже решение, спасибо!
В чём уникальность больных примитивов я так и не понял, да теперь уже и не принципиально.
__________________
Нерешаемых проблем не бывает.
KronSerg вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Команда обрезать. Почему не режет относительно всех объектов?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Civil 3D. Обрезать одну поверхность относительно другой dorogi-dorogi Вертикальные решения на базе AutoCAD 5 22.09.2023 11:55
Какой язык перспективен для инженера-конструктора с условием The_Mercy_Seat Программирование 705 17.03.2021 14:19
Нарушение порядка положения объектов относительно друг друга. ProPeller AutoCAD 17 06.10.2015 15:38
Изменить параметры у всех объектов внутри блоков 800x600 AutoCAD 5 25.03.2008 14:21