Аналоги, которые попадались, не совсем устраивают – написал свой вариант, может кому еще пригодится. ВЕРСИЯ 2.8 Спойлер (Наведите указатель мыши на Спойлер, чтобы раскрыть содержимое) Раскрыть Спойлер Свернуть Спойлер Это версия по сравнению с более ранними версиями претерпела значительные видоизменения и изменения функционала. Поэтому опишу ее более подробно. 1. В порядке заполнения теперь отсутствует случайное нанесение (перемещено в настройку блока). Появилось заполнение на пересечениях координатных линий, т.е. крестами. Необходимо указать соответствующий масштабу интервал, выбрать блок(крест), указать масштаб (если блок не аннотативный) и выбрать(обвести) область заполнения. Также появилось заполнение 1х2х1, включение опции возможно только при наличии выбора второго блока. В целом же существует 3 варианта двойного заполнения. Спойлер (Наведите указатель мыши на Спойлер, чтобы раскрыть содержимое) Раскрыть Спойлер Свернуть Спойлер 2. Интервал, по-прежнему, можно указать число, а можно определить значение с помощью мыши. 3. По ряду причин в последней версии отсутствует выбор примитивов в качестве условных знаков. Работа ведется непосредственно с блоками. И первое на что хочу обратить внимание – при отсутствии блоков в чертеже кнопки выбора контура неактивны, однако блоки можно вставить из внешних файлов по средствам опции «поиск». Появилось возможность поворачивать блоки как на определённое пользователем значением, так и на случайный угол. Неравномерность теперь находится в настройке параметров блока. Применяется как к шахматному, так и прямоугольному порядку. Значения коэффициента устанавливается пользователем и остается неизменным от сеанса к сеансу. Окошко «Блок2» вызывается нажатием галочки, снимается же галочка без появления этого окошка. В этом окне аналогичные Блоку1 настройки, за исключением отсутствия возможности изменения коэффициента. 4. Масштабировать блоки. Сразу скажу, что корректным масштабирование будет при условии, что сами блоки отрисованны в масштабе 1:1 (1:1000) и не являются аннотативными. 5. Группировать. Если Вы хотите чтобы в результате группировки подсвечивались ручки условных знаков, а не одна ручка группы, проверьте значение системной переменной _GROUPDISPLAYMODE, должно быть «0», также в настройках, во вкладке выбор проверьте установленное значение количества подсвечиваемых ручек (по-умолчанию: 100) 6. Ну и сам выбор контура. Появилась возможность исключать, так называемые, острова. Выбор контуров заполнения цикличен, как и исключение островов, т.е. выбираете необходимое количество контуров для заполнения, затем исключаете необходимые острова. Спойлер (Наведите указатель мыши на Спойлер, чтобы раскрыть содержимое) Раскрыть Спойлер Свернуть Спойлер При завершении каждого цикла выбора нажатием пр.кн. мыши появляются следующие варианты: 1. Ввести (Enter) – будет произведен выход в диалоговое окно, 2. Прервать (Esc) – Выход из приложения, 3. Заполнить – новый цикл заполнения контуров, 4. Исключить – новый цикл исключения условных знаков из контуров. Спойлер (Наведите указатель мыши на Спойлер, чтобы раскрыть содержимое) Раскрыть Спойлер Свернуть Спойлер ** хочу обратить внимание, что контур из которого исключаются условные знаки необязательно должен быть замкнутым. Предыдущие версии: ВЕРСИЯ 2.4 Спойлер (Наведите указатель мыши на Спойлер, чтобы раскрыть содержимое) Раскрыть Спойлер Свернуть Спойлер В основу алгоритма легла функция - проверка (не)вхождения точки в многоугольник. Описание: 1. Интервал - определяется пользователем (ввести или указать) - в соответствии с масштабом аннотаций, т.е. при М 1:1000(1:1) значение интервала будет составлять 7ед., при М 1:500(1:0.5) будет 3.5ед. и т.д. 2.Порядок – Шахматный, Прямоугольный, Случайный - для реализации случайного порядка был использован генератор случайных чисел 3. Условный знак - есть возможность выбора примитивов из чертежа с указанием базовой точки - выбор из списка блоков в чертеже - указав имя - поиск блоков, будет осуществляться вне чертежа в соответствующих каталогах, прописанных в «Путь к вспомогательным файлам» 4. Контур - можно выбрать такие примитивы как полилиния, 3d полилиния, характерная линия. - обвести контур, т.е. после определения области, сам контур будет удален. ВЕРСИЯ 2.6 Спойлер (Наведите указатель мыши на Спойлер, чтобы раскрыть содержимое) Раскрыть Спойлер Свернуть Спойлер - Добавил возможность многократного выбора или отрисовки контура; - Заменил командные методы при вставке условного знака, т.е. при нажатии Ctrl+Z(Отмена) отменяется вся предыдущая заливка, а не один условный знак; - в «порядок нанесения» добавил «пересечения координатных линий» для нанесения крестов (теперь нет необходимости настраивать шаг, достаточно указать соответствующий масштабу интервал, выбрать крест и определить область). Запуск: FILLTOPO версия обновлена до 2.8.4
В пункт -Порядок нанесения- добавить что-то типа -надпись- чтоб можно было легко заполнять контура где пишется пашня, пустырь,дв., А , Ц и т.д. Это же тоже контура Хотя это можно сделать простым копированием
У меня после загрузки приложения и ввода filltopo ничего не происходит, а в командной строке появляется нолик. Что неизвестная команда не говорит. Акад2007.
Благодарю! Сейчас у меня утилита работает, но не даёт выбирать уже нарисованную область: говорит, что нету выбранных. Когда обводишь, всё получается и в шахматном и в случайном порядке.
Всё шикарно работает! Спасибо ещё раз. Оффтоп (Move your mouse to the spoiler area to reveal the content) Был один заказчик, который хотел видеть именно заливки. Пробовал тогда пользоваться штриховками, но не понравилось. Отдельный блок я могу легко подвинуть, а со штриховкой такого варианта нет. Кто-нибудь пользуется штриховками для заливок? Объясните преимущества?
Маленькая рекомендация: ! При заполнении контура блоками необязательно каждый раз настраивать размер блока под соответствующий масштаб. Если блок аннотативный (а как сделать блок аннотативным рассматривали, например, вот здесь), то при заполнении контура размер самого блока будет в соответствии с масштабом аннотаций. P.S. НО… Данная информация будет полезна для тех у кого Автокад 2008 или более свежая версия, в поздних версиях нет масштабов аннотаций..
Доброго времени суток. Alexandr-GR, может бы есть резон дополнить программу функцией группировки блоков по выбору (желанию) "объединять в группу" и "не объединять в группу"). Я думаю это создаст дополнительную комфортность при редактировании.
Присоединяюсь к предыдущему мнению - было бы здорово сгруппировать заполняющие знаки, чтобы легче было удалять, менять свойства, сдвигать и т.п. все разом. Некоторые соображения: - Если контур был выбран до запуска программы, то она ничего не делает. - Что нужно указывать при запросе программы "Укажите базовую точку:"? У блоков есть своя точка вставки. А при других способах определения заполняющего блока базовая точка не запрашивается. - Интервал не запоминается при следующем вызове, хотя все остальные параметры запоминаются. - Случайное заполнение у меня получилось слишком неравномерно. - Похоже, что не учитывается нужность зазора между габаритами заполняющих знаков и границей - с учетом толщины границы хотя бы 0.5 мм в масштабе. - Бывает нужно заполнять двумя знаками одновременно. Например, кустарничко-моховая растительность, фруктово-виногдный сад и т.п. (Пардон за такое "нападение". Сейчас участвую в написании одной программки, и там список ко мне гораздо больше :) )
Большое Человеческое СПАСИБО за долгожданную вещь!!! В особенности за координатные кресты! Плюсую за: - Группировку блоков - Заполнение контура несколькими блоками и выборе шага чередования (1х1, 1х2х1) (заполнение крапом литологических разрезов (гравийно-песчаные, галечно-гравийно-песчаные и пр.))если это технически возможно и не потребует значительных затрат времени и сил! - Поворот блока в контуре (заданный или случайный)
Добавлю.. А что должна сделать? (хотя само выделение, безусловно, будет сниматься. поправлю) Эта опция для выбора любых примитивов в качестве условного знака и базовая точка нужна для этого набора.. Интервал берется с масштаба аннотаций, если версия ACADa, конечно, его содержит. Для меня, лично, удобно - работая в масштабе аннотаций 1:500 интервал при запуске программы будет 3.5, при 1:1000 - 7, при 1:2000 - 14 и т.д. В предыдущей версии можно было выбирать использовать масштаб аннотаций или нет, но т.к. я не сторонник нагромождений решил оптимизировать вышеизложенным способом. а сколько от "слишком неравномерно" до "неравномерно" )) Пробовали интервалом регулировать? А если серьезно, то это самая обсуждаемая позиция в этой программе (обсуждаемая, правда, не на форумах). Есть мнение, что в соответствии с "зеленой книжкой" даже при случайном порядке есть закономерность. В таком случае эту закономерность предстоит выявить и написать отдельную функцию. Ни какой зазор не учитывается. Программа просто проверяет вхож ли условный знак (вернее его базовая точка) в контур или нет. Сомневаюсь в необходимости такой позиции, хотя подумать над этим можно. Бывает.. Но на сколько часто, чтобы добавлять такой функционал (я надеюсь Вы понимаете усложнится представление)? И, скажем, для масштаба 1:1000 заполнение одним условным знаком с интервалом 14ед. и другим усл. знаком с интервалом 7ед. - не вариант? Я наоборот рад, когда пользователи высказывают свои мнения и пожелания. Ведь прежде всего я выкладываю свои наработки для хорошего теста, поиска уязвимых мест и дальнейшей доработки. Гораздо хуже, когда безмолвно скачивают, порой и непонятно работает вообще программа или нет. Другой вопрос ( и это не раз уже обсуждалось), что из легкой полезной программки можно сделать многофункциональную, но громоздкую и крайне неудобную прогу и вот эту тонкую грань не хочется переходить
Рад, что "в кассу")) Буду разбираться с предложениями и возможными реализациями. На счет предложения АлексЮстасу и (1х1, 1х2х1) буду думать, как лучше реализовать. На счет заполнения крапом - а в этом случае штриховка не лучше ли подходит или есть какие то подводные камни? Я просто такими заполнениями, практически, и не пользовался. И думал, что стандартная штриховка некорректно заполняет только точечными условными знаками - обрезает по контуру. Если необходимость все-таки есть, будет здорово, если Вы выложите примеры с описаниями закономерностей. Возможность поворота блока добавить не сложно. Со случайным поворотом не понятно, во-первых зачем? а во-вторых: в каких пределах? а если повернет "вверх ногами" на 180)) и у всех УЗ в контуре одинаковый (случайный) угол или у всех разные углы?
А как ты сейчас заполняешь "случайно"? Если сначало заполнить не случайно с шагом d, а потом случайно изменить положение каждого "заполнителя" в пределах, скажем 0.2*d