|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Проблема с контуром штриховки
Регистрация: 01.03.2010
Сообщений: 32
|
||
Просмотров: 52250
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Ну, во-первых, не мешало бы озвучить версию AutoCAD'a. Во-вторых, файлы лучше прикладывать к постам (см.справку по форуму, ссылка у меня в подписи). И, наконец, в-третьих: когда вызывается команда _.bhatch, весь штрихуемый контур виден? А в момент выбора точки?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 01.03.2010
Сообщений: 32
|
Виноват.
Версия 2010. Файлы впредь буду прикреплять к постам. Команду _.bhatch я не вызываю, я жму на кнопку hatch ( значок штриховки), вылезает диалоговое окно, выделяю контуры(которые сразу видны, или же мне выдается сообщение о том что они незамкнуты), и штрихую. ВОт. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Прикрепи скрин окна штриховки (там в окне есть такая малозаметная настройка "Точность штриховки" - может, там тупо поставить не 0?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
сети Регистрация: 03.11.2008
Московия*
Сообщений: 5,964
|
Цитата:
|
|||
![]() |
|
||||
Регистрация: 01.03.2010
Сообщений: 32
|
Прошу прощения за долгое отсутствие.
Цитата:
Я заметил - это иногда бывает изза того, что имеются наложения линий друг на друга (короткая на длинную например). Эту проблему я устранил, но все равно штриховка остается проблемной - иногда не хочет штриховать, перезагружаю - все отлично штрихует. Прилагаю чертеж, красным помечен контур, который у меня только что не получилось заштриховать (Корпус изделия). http://files.mail.ru/SYDYYZ |
|||
![]() |
|
||||
Регистрация: 01.03.2010
Сообщений: 32
|
Цитата:
Вот теперь пометил красным контур корпуса, который только что не хотел штриховаться. Частично проблема заключалась,как я потом выяснил, в наложении линий друг на друга(короткой на длинную например), но в целом проблема как была так и осталась. Файл прилагаю: http://files.mail.ru/SYDYYZ За помощь буду крайне признателен ![]() Последний раз редактировалось angrykeo, 17.03.2010 в 23:59. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
А #2 игнорируется по каким причинам?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Цитата:
|
||||
![]() |
|
||||
Регистрация: 01.03.2010
Сообщений: 32
|
Ты про вложение файлов? Не разобрался сначала как их прилагать, теперь разобрался.Теперь буду вкладывать.
АлексЮстасу - не понял сути замечания - мой файл не открывается в старых версиях автокада?Нужно как-то по-другому сохранять? Последний раз редактировалось angrykeo, 18.03.2010 в 02:05. |
|||
![]() |
|
||||
|
||||
![]() |
|
||||
Вроде бы залилось без особых проблем. На левый нижний контур штриховка ругнулась, что не может создать контур, но потом почему-то создала.
Нужно создать единую штриховку или независимые? В начале координат болтается какая-то арка странная... |
||||
![]() |
|
||||
Регистрация: 01.03.2010
Сообщений: 32
|
Вообще, не суть важно, зависимые или нет (там нужны и те и те), просто не хочет выделять контура.
Ну что я могу сказать, если у Вас залилось без проблем, то тогда остается только вариант с "глюком" моей версии AutoCADа. Попробую переставить. А если в целом, есть какие-то специфические особенности штриховки, Из-за которых с ней могут возникать проблемы? PS: Да, и еще, - как правильнее делать, выделать объекты для штриховки или точку внутри контура указывать? |
|||
![]() |
|
||||
Цитата:
Штрихование в Автокаде (точнее, создание границы), судя по всему, как-то привязано к масштабу изображения на экране. Как будто чертеж при этом растрируется или т.п. И граница отстраивается (если вообще отстраивается) часто не та, какая нужна, а со срезанными мелкими детальками, не пролезает в "узкие горлышки", не сработает, если не весь контур на экране и т.п. (см. "в-третьих" из #2) Т.к. от самого Автодеска не дождёсси, то нужно писать лисп или т.п., который будет точно и всегда (когда контур корректный есть) создавать нужные границы. |
||||
![]() |
|
||||
Помогаю, кому делать нечего. Регистрация: 27.03.2009
Русская деревня
Сообщений: 394
|
С Автокадом я знаком с 1992 года и проблемы с определением контура
штрмховки были всегда. Наша служба в случае, когда Acad "уперто" не видит контур, а такое бывает даже, если указать достаточно большой допуск незамкнутости, пользуется примитивной лисп-программешкой: Код:
Остается штриховка. Последний раз редактировалось E-degtyarev, 18.03.2010 в 13:49. |
|||
![]() |
|
||||
Помогаю, кому делать нечего. Регистрация: 27.03.2009
Русская деревня
Сообщений: 394
|
смотри и изучай
http://dwg.ru/art/8 |
|||
![]() |
|
||||
Цитата:
Unknown pattern name. Enter a pattern name or [?/Solid/User defined] <SOLID>: *Invalid* ; error: Function cancelled после этого лисп повторно не вызывается, а созданный контур нужно удалять вручную. Лисп привязан к конкретным штриховкам, которых у меня нет? 2. Если контур содержит кривые, дуги и т.п., то обводить вручную долго и не точно. 3. Даже если сработает, то это почти ничем не отличается от просто ручного обведения контура без всякого лиспа. Суть ведь вопроса именно в том, чтобы контур отстраивался сам после указания точки внутри площади. |
||||
![]() |
|
||||
см. пост #7 из http://forum.dwg.ru/showthread.php?t...light=boundary
и у меня он без проблем заштриховался в 2008 вчера - см. пост #14. |
||||
![]() |
|
||||
Регистрация: 29.10.2004
СПб
Сообщений: 16,373
|
АлексЮстасу, да, я его уже видел. Область штрихования здесь делится на три части, если их выбирать одну за другой за одну сессию работы с командой _hatch- то проблем не возникает. Проблемы возникают при штриховании "горла" после штриховки двух контуров или при попытке заштриховать "горло" первым. Проблема кроется, кажется, в неправильном расчёте областей штрихования. В ранних версиях, помнится, можно было штриховать только контуры, находящиеся целиком в пределах экрана. Если контур вылезал за границы экрана- то он не определялся, как контур.
Если фигуру в данном примере преобразовать в область- то штрихуется без проблем в три указания или в одно, если указать сразу в область "горла" |
|||
![]() |
|
||||
Помогаю, кому делать нечего. Регистрация: 27.03.2009
Русская деревня
Сообщений: 394
|
Цитата:
А лисп у меня работает нормально. В нем используются стандартные Автокадовские штриховки ANSI31 и ANSI37 Извините, но ничего лучшего предложить не могу. Последний раз редактировалось E-degtyarev, 18.03.2010 в 16:20. |
|||
![]() |
|
||||
Хмурый - область, ведь, должна быть единой - разделение ее на части возможно, но некорректно. И границы областей определяются не только для штрихования, но и для подсчета площадей, формирования площадных объектов и т.п.
А с каких версий эта проблема решена? E-degtyarev - я так и понял, это не был камень в Ваш огород. Вы знаете, что буквально только что создана тема "сложная по форме заштрихованная облаасть, неправильно считается площадь штриховки". А прямо сейчас, параллельно на форуме Программирование идет дискуссия "определение границ области (AutoCAD & lisp) ". И все эти дискуссии так или иначе связаны с работой _BOUNDARY. Вот, E-degtyarev еще с 92-го года о плохой работе _BOUNDARY знает, и обходные пути разработал. И еще много раз и здесь, и на других форумах проблема _BOUNDARY поднимается. И ищутся не решения, а обходные маневры. А собственно решение ведь только одно может быть - создание программки, которая бы точно и надежно определяла бы границу области после указания точки внутри нее. |
||||
![]() |
|
||||
|
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
А что-то мешает нарисовать сделать, например, так: на непечатаемом (или специально выделенном - неважно) слое рисуется полилиния (замкнутая, естественно), потом вызывается команда _.bhatch, в качестве контура указывается "Выбирать объекты", в ответ на запрос "Выберите объекты" ввести _L, дальше настроить штриховку - и все.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
геологоразведка, строительство Регистрация: 14.10.2003
Магадан
Сообщений: 311
|
Кто хоть раз видел геологические карты, могут себе представить, какие сложные контура приходится штриховать.
По опыту: не помню случая, чтобы Acad не заштриховал замкнутый контур, но если ты пытаешься штриховать некий контур в режиме "Pick Points", то это получается далеко не всегда. Все зависит от сложности контура, насыщенности чертежа и др. факторов. Что можно попробовать (иногда срабатывает): - закрыть ненужные слои (оставив только границы контура) - максимально увеличить экран (до границ контура) и выполнить регенерацию чертежа. Если это не сработает, то лучше всего скопировать границы контура на свободное место чертежа, отсечь лишнее, объединить объекты в контур и заштриховать эту область в режиме "Select Objects".
__________________
Лень - великий двигатель прогресса! |
|||
![]() |
|
||||
Разве вопрос в том, что нельзя так или иначе сделать? Можно, только действий потребуется много дополнительных. Проблема ведь в том, что в режиме "Pick Points" BOUNDARY работает некорректно или не работает вообще.
|
||||
![]() |
|
||||
Помогаю, кому делать нечего. Регистрация: 27.03.2009
Русская деревня
Сообщений: 394
|
Если уточнить суть дела то на "свежеотрисованных" объектах контур определяется прекрасно. Но стоит только объекты перенести, скопировать, масштабировать и т.п. - вот на этих "деформированных" объектах и начинаются глюки.
|
|||
![]() |
|
||||
Цитата:
Вполне, кстати, возможно, что ряд "отказов" действительно уйдет. Однако, у BOUNDARY есть ряд принципиальных пороков. См., например, пост #7 из http://forum.dwg.ru/showthread.php?t...light=boundary |
||||
![]() |
|
||||
Регистрация: 25.06.2010
Сообщений: 16
|
площадь. Просто обычно же когда выделяешь штриховку и заходишь в свойства - там прописывается площадь объекта. а в данном случае этой графы нет (ну или пустая).
понимаю что банально обвести полилинией можно, но бывают и оч. сложные объекты... --------------- в проблеме разобрался, PSG, болльшое спасибо! =) Последний раз редактировалось Leonid_, 12.07.2010 в 14:01. |
|||
![]() |
|
||||
|
||||
![]() |
|
||||
инженер Регистрация: 02.03.2010
Санкт-Петербург
Сообщений: 69
![]() |
Мне кажется, что проблема с командой штриховкой и контуром связана с алгоритмом работы самого акада и остается довольно острой и в последних версиях. Видать, алгоритм определения границ был написан криво; и неясно, почему Autodesk до сих пор эту проблему не решили. Остается только писать доп. программу, чтобы штриховать всегда корректно контуры. Ведь согласитесь - не дело, когда нажимаешь на визуально замкнутую область и получаешь отказ. И еще - до сих пор не сделали команду рассечения штриховки надвое; это тоже иногда очень требуется..
|
|||
![]() |
|
||||
Регистрация: 10.03.2011
СПб
Сообщений: 101
|
2015 автокад.
проблемы никуда не делись. штрихую замкнутую полилинию (присутствуют дуги). не штрихует. хоть указываешь точку внутри - тогда будет "невозможно определить контур". хоть выбираешь объекты контура - "Невозможно выполнить заливку внутри контура." меняешь допуски. редко помогает. потом берешь эту полилинию. копируешь рядом. регенирируешь. меняешь допуски. бывает штрихует, бывает нет. если не помогло - взрываешь эту полилинию. регенирируешь. меняешь допуски. опять пытаешься штриховать. бывает это помогает. бывает нет. количество приведенных выше попыток может прилично разниться. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
CHILD_11, ты хоть dwg приведи. А то получается как в анекдоте:
- Доктор, у меня что-то болит! - Ну вот Вам какие-то таблетки.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 10.03.2011
СПб
Сообщений: 101
|
у меня это было в совершенно разных файлах в автокадах 2009, 2011, 2015.
простая (не 3Д) полилиния замкнутая. пока описанные выше танцы с бубнами не проделаешь, не заштрихует... как я понял, проблема не конкретно у меня, а у разрабов...но если есть надежда, что это у меня, то, конечно, выложу. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
У тебя контур в районе Юпитера. При создании штриховки задай ей базовую точку где-нибудь на объекте - все сработает.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 10.03.2011
СПб
Сообщений: 101
|
у меня контур в координатах объекта.
Цитата:
----- добавлено через ~5 мин. ----- переместил контур в начало координат. никакой разницы не наблюдаю. Последний раз редактировалось CHILD_11, 30.07.2015 в 14:16. |
|||
![]() |
|
||||
А именно - в координатах Юпитера.
![]() Если контур в прямоугольных геодезических координатах, то с какой стати единицы миллиметры? В геодезии все делают в метрах.Offtop: А если в миллиметрах, то зачем до четвертого знака - до десятой микрона? Дюже интересно, каким микрометром измеряли площадь в 6 000 000 000 мм кв? Если верить А. Ривилису, то для координат вершин и действий с ними "Точность не больше 16 значащих цифр (ограничение плавающей арифметики)". Т.е., вероятно, kpblc о том, что в координатах оч. много цифр, и Автокад не может правильно вычислять. Задать базовую точку можно через параметры штриховок.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Регистрация: 10.03.2011
СПб
Сообщений: 101
|
ну, да. так повелось, что в мм. от заказчика...
но когда я, проверки ради, перемещал контур в начало координат и уменьшал его в 1000 раз (как раз до метров), то эффект был тот же =( указание базовой точки также не помогает. ----- добавлено через ~2 мин. ----- а точность до четвертого знака - это просто стандартный шаблон акадовский такой был, не поменял. я ж новый чертеж создал, чтоб скопировать контур, чтобы выложить сюда. вот оттуда и 4ре знака. |
|||
![]() |
|
||||
Сейчас вставил в координатах в новый файл с рабочими единицами с точностью до целых - сделалось.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Конструктор по сути (машиностроитель) Регистрация: 10.10.2005
Набережные Челны (это где КамАЗ)
Сообщений: 11,391
|
CHILD_11, я так понял, эта проблема заложена глубоко внутри. И в той или иной мере повторяется из версии в версию. Жаль, конечно... Я сам неоднократно об этом говорил.
__________________
Век живи, век учись - ... |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не могу подгрузить штриховки. | Mushca | AutoCAD | 4 | 14.02.2010 15:09 |
Проблема с границами штриховки | Abzorbo | AutoCAD | 2 | 12.03.2008 15:41 |
Проблема с ксероксом Canon PC860 | _Oleg_ | Разное | 5 | 26.12.2007 10:18 |
Возможности штриховки | 4eh | AutoCAD | 8 | 17.08.2006 18:04 |
Небольшой вопрос по поводу нанесения штриховки | zenon | AutoCAD | 7 | 23.06.2005 12:00 |