|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
19.03.2011, 21:22 | #1 | |
Нужен ЛИСП на расчет процентного заполнения чертежа краской
Егорьевск Моск.обл.
Регистрация: 28.02.2007
Сообщений: 206
|
||
Просмотров: 10937
|
|
||||
CAD Регистрация: 28.08.2003
Киев
Сообщений: 1,835
|
Надо дождаться появления в теме Евгения Елпанова.
Думаю, что эта задача - частный случай его реализованного проекта. http://elpanov.com/index.php?id=38#top Ну или сами обратитесь к нему...
__________________
По теории майский жук летать не может. Но он этого не знает. И летает... |
|||
|
||||
Задача непростая в общем случае. Как я понял, чертежи приносят на печать разные люди, значит, в этих чертежах возможно все - нужно будет предусмотреть массу возможных вариантов, программу нужно будет неоднократно дорабатывать.
Сложностей мне видится масса! Например: объекты внутри блоков, внешних ссылок, тексты и мультитексты в зависимости от шрифта и его настроек, мультивыноски, таблицы, нестандартные штриховки... В общем каждый тип примитива автокада нужно рассматривать отдельно и тщательно. В общем - то еще удовольствие Наглядное представление о процессе написания и отладки программы подобного типа можно получить, посмотрев тему "Поиск и замена русских букв на чертеже".
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic) |
||||
|
||||
задача, как я вижу, чисто полиграфическая...
Решается, она так же просто, без дополнительной автоматизации. 1. берем любой растр 2. открываем его в фотошопе или другом редакторе поддерживающем нужные функции 3. уменьшаем изображение до одного пиксела 4. смотрим цветовую составляющую этого пиксела в нужном цветовом профиле, обычно полиграфисты смотрят в смик там будет как раз то, что вы просите...
__________________
Чем гениальнее ваш план, тем меньше людей с ним будут согласны. /Сунь Цзы/ |
||||
|
||||
Регистрация: 28.02.2007
Егорьевск Моск.обл.
Сообщений: 206
|
Цитата:
Надо подсчитать, какая площадь будет закрашена плоттером от всей площади выделенной рамки. Ну, процент то есть. Ладно, пусть не по цветам, а общая закраска. |
|||
|
||||
попробую объяснить еще раз - для начала нужно растеризовать чертеж, т.е нужно вычислить площадь каждой линии, каждого текста, штриховок итд, относительно фона. Можно проделать такую задачу и без использования растровых файлов, но именно растровые файлы дадут максимально точное значение и можно использовать уже готовые программы для получения информации. Если бы вопрос стоял о простых примитивах, то можно было бы и заняться, а если решать в общем случае, т.е делать расчеты отношений фон - краска для любых типов шрифтов, для вставленных в чертеж картинок, для тонированных объектов или градиентных штриховок, то я не рекомендую это делать самим, тем более, что эта часть задачи решается стандартными методами...
> Нет, речь идет не о растрах, а о векторе, о чертежах dwg. так тебе и говорят, что можно создавать растровые файлы из чертежей, т.е печатать в растровый файл...
__________________
Чем гениальнее ваш план, тем меньше людей с ним будут согласны. /Сунь Цзы/ |
||||
|
||||
Регистрация: 28.02.2007
Егорьевск Моск.обл.
Сообщений: 206
|
Поняла, большое спасибо!
Порылась в интернете - там море разных программ под мою проблему. Буду разбираться на форумах Photoshop, CorelDraw и других. p.s. И все равно досадно, что нет такого лиспика, чтобы без лишних телодвижений узнать хотя бы просто процент заполнения без указания цвета. |
|||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
"Лиспик" - по данному методу будет считать точки "адски" долго, но вполне можно сделать не Net, либо если не хотите привязыватся к версии связку из lisp и внешнего com/exe модуля (лисп печатает - в растр - внешнея "прожка" считает пиксели с учетом их "закрашенности").
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
По теме:
Проверил, в акаде возможно добавить растровый принтер с размером бумаги 1х1 пиксел, жаль только, что цвет полученного пиксела, автокад не верно вычисляет...
__________________
Чем гениальнее ваш план, тем меньше людей с ним будут согласны. /Сунь Цзы/ |
||||
|
||||
Регистрация: 28.02.2007
Егорьевск Моск.обл.
Сообщений: 206
|
"Объекты в блоках, тексты, штриховки... тот еще геморрой" .
ОК, а нельзя тупо взорвать (расчленить) все блоки и штриховки на чертеже, оставив примитивы в неприкосновенности, а потом ЛИСПом тупо перебрать все элементы? Я имею ввиду, пересчитать их площадь, исходя из длины и веса каждого элемента. И - можно без учета цвета, можно все считать черным. |
|||
|
||||
- Регистрация: 24.07.2005
Москва
Сообщений: 1,335
|
ну как бы тебе объяснить на пальцах, что у отрезка нет площади, а когда он печатается на принтере краска на отрезок тратится, значит площадь все таки есть, такая вот хитрая штука этот автокад, площади нет а она на самом деле есть
|
|||
|
||||
Регистрация: 28.02.2007
Егорьевск Моск.обл.
Сообщений: 206
|
Sleekka, Да, у отрезка площади нет, но ведь можно ЛИСПом задать ширину отрезка, исходя из его веса? Например, задать, что отрезок весом от 0 до 0,15мм имеет ширину 1 пиксель, от 0,16, до 0,25мм - 2 пикселя и т.д. Ту же ботву применить к полилинии, исходя из ее глобальной ширины.
gomer, интересная мысль! Существуют программы, подсчитывающие пробег курсора. Надо полазить по инету насчет кликов. Может пригодиться при оценке мастерства чертежников, рисующих одинаковые чертежи, как дополнительный критерий ко времени, затраченному на чертеж. А может и ЛИСПом можно состряпать. Последний раз редактировалось Малявка, 30.03.2011 в 23:19. Причина: добавление |
|||
|
||||
Регистрация: 28.02.2007
Егорьевск Моск.обл.
Сообщений: 206
|
Придумала!
Значит, алгоритм такой: Сперва цикл по условию - пока остаются блоки, ищем все блоки, взрываем их. Так как вложениями блоков тоже могут быть блоки. Причем получившиеся примитивы уже не трогаем. Потом взрываем все штриховки и тексты. А потом, когда остались одни примитивы - считаем их площадь. Кстати, вес примитива уже задан в мм. А ширину полилиний берем из глобальной ширины. Мастера, миленькие, кто поможет? По цветам разделять не надо, считаем всё стадом, как будто чертеж монохромный. p.s. если есть проблемы с анализом внешних ссылок, тоже не трогайте их, они у нас редко бывают. В крайнем случае я их тупо скопирую в основной чертеж и делов-то! |
|||
|
||||
А что по вашему получится, после расчленения градиентных штриховок и текстов гостовскими шрифтами?
__________________
Чем гениальнее ваш план, тем меньше людей с ним будут согласны. /Сунь Цзы/ |
||||
|
||||
Регистрация: 28.02.2007
Егорьевск Моск.обл.
Сообщений: 206
|
Елпанов Евгений, штриховки "градиент" и "solid" не трогаем, считаем всю площадь таких штриховок, ведь они закрашивают лист на все сто. Я не имею ввиду количество чернил на светлую и темную градиентную заливку, я имею ввиду, что градиентная заливка не имеет чистого пространства, белого листа. Поэтому и считаем полностью.
А тексты - ну, можно, наверно не расчленять, а вычислять сразу всю площадь прямоугольника с текстом (словом, фразой), и считать, например, эту площадь закрашенной на пять процентов, как обычный офисный документ. По-моему, это выход. Ну, как оцениваете "женскую логику" блондинки от автокада? |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,835
|
Да ну??? А я вот возьму да сделаю градиентную заливку, один из цветов которой будет чисто белый - и чего тогда получается?
А как бы еще по ходу дела учесть фоновую заливку текста?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
В каких случаях нужен нелинейный расчет? | dlyareg | Конструкции зданий и сооружений | 6 | 13.02.2021 18:03 |
Нужен лисп: открытие всех файлов в данной директории | Torino | LISP | 30 | 28.11.2020 15:51 |
Коэффициент заполнения чертежа | Stronger | Прочее. Архитектура и строительство | 7 | 29.06.2005 11:57 |
Нужен ЛИСП для назначения определенных параметров | Александер | LISP | 3 | 20.06.2005 10:37 |
Нужен лисп: минимальное расстояние до объекта по перпендикул | Torino | LISP | 1 | 13.05.2005 15:51 |