Перейти к содержанию

Рекомендуемые сообщения

В настоящий момент в версии 3,7 НаноКада команда explode, применённая к полилинии, превращает её в линию. Т.е. теряется толщина. Моё мнение - так быть не должно, ведь полилиния - такой же примитив, как и линия...

 

Хотелось бы знать мнение сообщества на эту тему...?

 

В частности у нас данное поведение команды "разбить" вызывает следующие проблемы: Нам передают dxf-файл из PCADа для разработки сборочных чертежей. Файл содержит большое количество блоков различных степеней вложенности (до 4-х). Так вот, корректно разбить блоки с сохранением толщин проводников невозможно.

Ссылка на сообщение
Поделиться на другие сайты

В настоящий момент в версии 3,7 НаноКада команда explode, применённая к полилинии, превращает её в линию. Т.е. теряется толщина. Моё мнение - так быть не должно, ведь полилиния - такой же примитив, как и линия...

 

Хотелось бы знать мнение сообщества на эту тему...?

 

В частности у нас данное поведение команды "разбить" вызывает следующие проблемы: Нам передают dxf-файл из PCADа для разработки сборочных чертежей. Файл содержит большое количество блоков различных степеней вложенности (до 4-х). Так вот, корректно разбить блоки с сохранением толщин проводников невозможно.

А что имеется в виду под толщиной? ситуация примерно такова : при explode полилайна сохраняется вес линий (lineweight). если же имеется в виду именно ширина (width - глобальная или посегментная) - то она сохраняться не может в принципе, у линии просто нет такого свойства. то есть вообще. тут надо заметить, что "широкая" полилиния - она вообще не совсем линия, она отчасти площадной объект. и, соответственно, в принципе не может быть разбита на линейные\дуговые сегменты с сохранением визуального отображения. так что команда explode ведет себя вполне корректно. кстати, надо заметить, что автокад ведет себя на полилиниях ровно так же. :)

Ссылка на сообщение
Поделиться на другие сайты

В частности у нас данное поведение команды "разбить" вызывает следующие проблемы: Нам передают dxf-файл из PCADа для разработки сборочных чертежей. Файл содержит большое количество блоков различных степеней вложенности (до 4-х). Так вот, корректно разбить блоки с сохранением толщин проводников невозможно.

А если разбивать только блоки? Не разбивая полилинии?

Например так:

1- Выбрать все

2- В строке "Объекты" окна "Свойства" выбрать "Блок"

3- Нажать кнопку "Оставить в выборе" (под заголовком окна "Свойства")

4- Запустить команду Разбивка (Explode)

Повторить процедуру для следующих уровней вложенности блоков.

Ссылка на сообщение
Поделиться на другие сайты

А что имеется в виду под толщиной? ситуация примерно такова : при explode полилайна сохраняется вес линий (lineweight). если же имеется в виду именно ширина (width - глобальная или посегментная)...

Да, Вы правы, я неточно выразился - имелась в виду именно ширина линий.

 

...у линии просто нет такого свойства. то есть вообще. тут надо заметить, что "широкая" полилиния - она вообще не совсем линия, она отчасти площадной объект....

А вот тут не знаю - зависит от точки зрения: полилиния - это примитив или нет? Если примитив, то она имеет параметр ширины и он должен сохраняться и не должен разэксплодироваться до другого примитива - обычной линии.

 

...в принципе не может быть разбита на линейные\дуговые сегменты с сохранением визуального отображения....

А здесь совсем не так: попробуйте сделать обрезку полилинии - она сохранит ширину (как раз несохранение ширины полилиний при обрезке было одним из серьёзных глюков версии 3.0). Правда, обрезка - это не эксплодирование.

 

надо заметить, что автокад ведет себя на полилиниях ровно так же. :)

Да, есть такое, но, например, в ZWCadе меню "Экспресс/Блоки/Расчленить с преобразованием атрибутов в текст" позволяет сделать разэксплодирование именно так, как мне нужно - с сохранением толщины полилиний.

 

В этом плане мне понравилась идея oVal'a. Я пробовал немного по другому - с замораживанием "ненужных" объектов. Частично получалось, но не всё. Так что попробую - отпишусь.

Ссылка на сообщение
Поделиться на другие сайты

А если разбивать только блоки? Не разбивая полилинии?

Например так:

1- Выбрать все

2- В строке "Объекты" окна "Свойства" выбрать "Блок"

3- Нажать кнопку "Оставить в выборе" (под заголовком окна "Свойства")

4- Запустить команду Разбивка (Explode)

Повторить процедуру для следующих уровней вложенности блоков.

 

Проверил.

Получилось.

СПАСИБО!

К своему стыду - я не знал такого способа выделения объектов.

Похоже, описанная мной команда ZWCad'a "Экспресс/Блоки/Расчленить с преобразованием атрибутов в текст"

работает именно так.

 

Всем спасибо. Тему можно бы закрывать. Решение найдено. Хотя сомнения в правомочности разбиения полилинии остались... :-)

Ссылка на сообщение
Поделиться на другие сайты

...у линии просто нет такого свойства. то есть вообще. тут надо заметить, что "широкая" полилиния - она вообще не совсем линия, она отчасти площадной объект....

А вот тут не знаю - зависит от точки зрения: полилиния - это примитив или нет? Если примитив, то она имеет параметр ширины и он должен сохраняться и не должен разэксплодироваться до другого примитива - обычной линии.

 

...в принципе не может быть разбита на линейные\дуговые сегменты с сохранением визуального отображения....

А здесь совсем не так: попробуйте сделать обрезку полилинии - она сохранит ширину (как раз несохранение ширины полилиний при обрезке было одним из серьёзных глюков версии 3.0). Правда, обрезка - это не эксплодирование.

 

надо заметить, что автокад ведет себя на полилиниях ровно так же. :)

Да, есть такое, но, например, в ZWCadе меню "Экспресс/Блоки/Расчленить с преобразованием атрибутов в текст" позволяет сделать разэксплодирование именно так, как мне нужно - с сохранением толщины полилиний.

 

В этом плане мне понравилась идея oVal'a. Я пробовал немного по другому - с замораживанием "ненужных" объектов. Частично получалось, но не всё. Так что попробую - отпишусь.

 

От точки зрения, безусловно, зависит много чего. :)

На самом деле, полилиния - это НЕ примитив. Это достаточно сложный по своей внутренней логике объект - по крайней мере так исторически сложилось. И то, что она эксплодируется на линейные\дуговые сегменты - вообще говоря довольно логично. ну, по крайней мере мне так представляется. и не только мне :)

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

 

что касается обрезки... обрезка, как правило, не меняет ТИП объекта. из исключений сходу придумывается только окружность, из которой получается дуга, xline из которого получается ray (один или два) и ray из которого может получиься отрезок. в случае полилинии - тип объекта сохраняется, соответственно сохраняются и характеристики. команда же explode, как говорилось, меняет типы объектов по самой сути своей. мало того, даже если вдруг возникнет идея разбивать полилинию не на line\arc, а на маленькие полилинии из одного сегмента, то хотя мы и сохраним ширину визуальное представление все равно изменится - хотя бы за счет сопряжения сегментов - при разбиении оно просто пропадет.

 

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

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Расскажите друзьям

    Нравится Официальный форум компании Нанософт? Расскажите друзьям!
×
×
  • Создать...