Проникающая гидроизоляция бетона
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Как сосчитать сумму цифр из отдельных мтекстов (и лисп для подсчета спецификаций)

Как сосчитать сумму цифр из отдельных мтекстов (и лисп для подсчета спецификаций)

Ответ
Поиск в этой теме
Непрочитано 26.01.2008, 13:15
Расчет спецификаций из мтекстов
Red Nova
 
ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Торонто
Регистрация: 23.10.2007
Сообщений: 1,974

Я не пользуюсь таблицами AutoCADа, черчу ячейки, в них по мтексту. Вопрос как оперативно соcчитать сумму цифр их содержимого. Слышал есть такой калькулятор, по моему calcacad называется, но на 2008-й Cad не идет. Что делать?

Добавлено.
Постепенно форум перешел в разработку липа для расчета спецификаций из мтекстов, и расчет суммы из мтекстов стал просто полезной добавкой к расчету спецификации. Последний вариант программы находится тут

Последний раз редактировалось Red Nova, 13.03.2009 в 10:11.
Просмотров: 154507
 
Непрочитано 25.02.2008, 07:46
#81
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,553
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Цитата:
Сообщение от Red Nova Посмотреть сообщение
Мне в голову пришла развратная мысль . А как на счет создать лисп для расчета всей спецификации разом.
Red Nova, мыслишь правильно, только зачем велосипед изобретать? Все уже придумано. И лучше других, ИМХО, в VetCADe.
Попобуй - может понравиться!
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 25.02.2008, 18:59
#82
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,800
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Внес изменения в код поста #72 . Постарался учесть все предложения.
Цитата:
По поводу MulTC, тоже оценил, правда ты пошел другим путем, как я понимаю акцент тут стоит не на координате, а на очередности, в результате надо сначала отметить первый столб, потом второй, потом третий, если же акцент стоял на координате, то можно бы было отметить первые два столбца сразу (а может и все 3 сразу, если глубоко подумать).
Глубоко подумал, сделал MulTCv2, оставил и вариант с выбором каждого из столбцов (MulTC). Чтобы отделить мух от котлет (текст количество от текста массы и теста итога ) используется сортировка по Y, а в пределах нее по X. Поэтому желательно чтобы Y текстов различных столбцов совпадали. Я предпринял некоторые шаги, чтобы исключить влияние несовпадания Y текстов в различных столбцах, но лучше (для надежности) этого избегать или пользоватьзя MulTC.
Еще я задал вопрос в #72 (сейчас выделил красным), ответ на который пока не получил
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 25.02.2008, 19:34
#83
dextron3

Фотограф
 
Регистрация: 01.01.2007
Алматы
Сообщений: 5,042


VVA, спасибо использую только 2 команды лучших аналогов в инете не встречал, особенно второй команды
TOKR - округление текста
MulTCv2 - перемножение текстов столбцами вариант 2 (одной рамкой)


1. MulTCv2 в каком диапазоне прыгать могут по Y тексты, чтобы программа выполнялась, или тут ведется подсчет по близлежащему по Y
боюсь совершить ошибки при выполнении, а то чреевато подзатыльник от прораба получить

2. Про поля: то я их не использую и не заморачиваюсь


3. MulTCv2 не корректно работает когда выделяешь два столбца по запарке, хотелось бы чтобы выдавалось окно с ошибкой,
а то принцип перемножения не понятен (имеется ввиду при выделении всего лишь двух столбцов)
__________________
инженер проектировшик с опттом программа авто гад образование высшие

Последний раз редактировалось dextron3, 25.02.2008 в 19:48.
dextron3 вне форума  
 
Автор темы   Непрочитано 25.02.2008, 20:16
#84
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,974
Отправить сообщение для Red Nova с помощью Skype™


VVA, пока лисп не смотрел, щас буду, на счет вопроса с поста 72, думаю содержание поля следует пропустить (если нет возможности округлить без того чтоб поле потеряло свои функции). А лучше скажи как эту возможность включить, а кому надо сам сделает.
А как насчет вопроса с поста 75

Wetr, сегодня вновь поставил VetCAD++ (AutoCAD2008), вариант интересный. Вот только у меня СПДС, не знаю как VetCAD с ним сработается, на первый взгляд не очень, и еще не знаешь как сделать так, чтоб мтекст открывался в Акадовском редакторе, А не в Веткадовском, раздражает очень?
VetCAD еще потыкаю, не исключаю что пригодится, но пока мне милее обычные мтексты а не блоки, вот бы еще наши программисты на счет автоматизации расчета спецификации с мтекстами программки написали, было бы блаженство.
Red Nova вне форума  
 
Автор темы   Непрочитано 25.02.2008, 21:49
#85
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,974
Отправить сообщение для Red Nova с помощью Skype™


VVA, Просмотрел программу, очень понравилась в sumTSet то что после перегрузки Акада последняя установленная цифра количества единиц после запятой сохраняется в памяти. Это очень полезно, я даже и не наделся на это.
На счет команды MulTCv2, нет слов, так как я в начале и представлял себе ее работу, радует то, что даже при несовпадении координат, программа “думает”, и при набольшем разбросе правильно выполняет действие, я хотел было на такую возможность намекнуть, но не успел, ты сделал все так как надо.
Red Nova вне форума  
 
Непрочитано 26.02.2008, 04:44
#86
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,553
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Цитата:
Сообщение от Red Nova Посмотреть сообщение
Wetr, сегодня вновь поставил VetCAD++ (AutoCAD2008), вариант интересный. Вот только у меня СПДС, не знаю как VetCAD с ним сработается, на первый взгляд не очень, и еще не знаешь как сделать так, чтоб мтекст открывался в Акадовском редакторе, А не в Веткадовском, раздражает очень?
VetCAD еще потыкаю, не исключаю что пригодится, но пока мне милее обычные мтексты а не блоки, вот бы еще наши программисты на счет автоматизации расчета спецификации с мтекстами программки написали, было бы блаженство.
В редакторе текста веткадовском открой настройки и убери соответствующую галочку.
А СПДС разве спецификации не умеет считать?
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 26.02.2008, 10:27
#87
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,800
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Цитата:
MulTCv2 не корректно работает когда выделяешь два столбца по запарке, хотелось бы чтобы выдавалось окно с ошибкой,
а то принцип перемножения не понятен (имеется ввиду при выделении всего лишь двух столбцов)
Там четко проверяется, чтобы было после сортировки 3 стобца. Поэтому неважно, выделяешь 1,2,4 или даже 3 столбца, но с не совпадающим количеством элементов в строках. Должно выдаваться окно с сообщением о несовпадении количества. Если не так, выкладывай или пришли по почте пример.
Цитата:
MulTCv2 в каком диапазоне прыгать могут по Y тексты, чтобы программа выполнялась, или тут ведется подсчет по близлежащему по Y
боюсь совершить ошибки при выполнении, а то чреевато подзатыльник от прораба получить
Там выщитывается средняя высота выбранных текстов, и сравнивается Y с точностью до этой средней высоты. Поэтому, думаю, невязка до 1/2 средней высоты в каждую сторону не должна влиять. Но лучше выравнивать тексты поточнее.
Цитата:
очень понравилась в sumTSet то что после перегрузки Акада последняя установленная цифра количества единиц после запятой сохраняется в памяти. Это очень полезно, я даже и не наделся на это
Настройки сохраняются в файле конфигурации acad.cfg. Поэтому перезагрузка не влияет, влияет только переустановка Автокада.
Цитата:
на счет вопроса с поста 72, думаю содержание поля следует пропустить (если нет возможности округлить без того чтоб поле потеряло свои функции). А лучше скажи как эту возможность включить, а кому надо сам сделает.
Так и сделал. Отредактировал пост #72
Цитата:
А как насчет вопроса с поста 75
Тоже особых проблем пока не вижу. Нужно более полное ТЗ (помимо листа могут быть швеллеры, двутавры, дерево и т.д.).
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 26.02.2008, 10:39
#88
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,974
Отправить сообщение для Red Nova с помощью Skype™


Wetr,
Цитата:
А СПДС разве спецификации не умеет считать?
Умеет, но мне не очень нравится.
Цитата:
В редакторе текста веткадовском открой настройки и убери соответствующую галочку.
Вечером попробую.

Последний раз редактировалось Red Nova, 26.02.2008 в 10:56.
Red Nova вне форума  
 
Автор темы   Непрочитано 26.02.2008, 10:56
#89
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,974
Отправить сообщение для Red Nova с помощью Skype™


VVA,
Цитата:
Тоже особых проблем пока не вижу. Нужно более полное ТЗ (помимо листа могут быть швеллеры, двутавры, дерево и т.д.).
Приготовлю полное ТЗ, но учти что обьем будет значительный.
Red Nova вне форума  
 
Непрочитано 26.02.2008, 13:45
#90
dextron3

Фотограф
 
Регистрация: 01.01.2007
Алматы
Сообщений: 5,042


VVA, вот скриншоты работы команды MulTCv2 для 2х столбцов,
алгоритм не могу сообразить, почему так получается, почему нет окошка об
ошибке, если сделать по запарке:
Миниатюры
Нажмите на изображение для увеличения
Название: Snap1.jpg
Просмотров: 179
Размер:	18.6 Кб
ID:	3721  Нажмите на изображение для увеличения
Название: Snap2.jpg
Просмотров: 203
Размер:	30.9 Кб
ID:	3722  
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 26.02.2008, 17:27
#91
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,800
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Было такое дело. Исправил код в посте #72. Так получалось потому, что общее количесво текстов кратно 3. Изменил алгоритм сортировки. Теперь такого быть не должно
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 27.02.2008 в 09:18.
VVA вне форума  
 
Непрочитано 26.02.2008, 20:03
#92
dextron3

Фотограф
 
Регистрация: 01.01.2007
Алматы
Сообщений: 5,042


VVA, а вот теперь работает
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Автор темы   Непрочитано 26.02.2008, 23:45
#93
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,974
Отправить сообщение для Red Nova с помощью Skype™


VVA, ТЗ составил для основного каталога используемых мною профилей, если кто что хочет добавить, прошу.
Спецификация немного не по госту, но думаю это простительно. (В дальнейшем можем и для других видов спецификаций создать команды подсчета)
После завершения действия команды думаю будит уместно если в случае нераспознавания некоторых строк мтексты в графах масс этих строк станут красными. Таким образом можно будит избежать ошибок. (А еще может вылетать сообщение об ошибке.)
Цвет использован для того чтобы не путать переменные, в настоящих спецификациях цвет не имеет значения.
Надеюсь удастся избежать использования отдельных команд для разных профилей, и программа будет по первому символу мтекста распознавать какое действие тут нужно. (По первому, поскольку дальнейшее содержание не всегда идеально, иногда может быть пропущен или добавлен пробел, или точка, и.т.п.)
Отмечать мтексты для расчета следует как в MulTCv2 , то есть отмечаем разов все строчки, и столбцы от графы "Марка" до графы "Вес всех деталей".
Прилагаю фонты СПДС, без которых нельзя, в них имеются знаки обозначения профилей.
Надеюсь трудностей с исполнением не возникнет, хотя понимаю что труд предстоит значительный и довольно сложный.
Заранее благодарю.
Вложения
Тип файла: rar ТЗ для расчета спецификаций.rar (258.1 Кб, 223 просмотров)
Red Nova вне форума  
 
Непрочитано 27.02.2008, 01:44
#94
KAI

геологоразведка, строительство
 
Регистрация: 14.10.2003
Магадан
Сообщений: 311


>> VVA
Программа TOKR для нижеследующего MTEXT выдает 0, а по идее должна выдавать 123.456.

(1 . "asd{\\Ftxt|c0;f
as123.45600\\fTimes New Roman|b0|i0|c0|p18;\\C1;d}f")
__________________
Лень - великий двигатель прогресса!
KAI вне форума  
 
Непрочитано 27.02.2008, 07:22
#95
dextron3

Фотограф
 
Регистрация: 01.01.2007
Алматы
Сообщений: 5,042


VVA

По мотивам предыдущего лиспа:

Предыстория:

Черчу последнее время чертежи КМД,
рисую косынки (обычный многоугольник если для автокада, из обычных линий или полилинии замкнутой)
образмеренные, все стенки и габариты листа.

Нужен лисп который находил бы самый большой размер по вертикали,
и самый большой размер по горизонтали и округлял бы в большую сторо-
ну с шагом по 50мм (было 373 стало 400, было 210 стало 250)

Есть предположение что можно высчитывать по габаритам самого элемента

Лисп в работе по приведенному скриншоту:

1. Выделите деталь с размерами
2. Размеры заготовки: x=750мм, y=900мм

Если уже сталкивался с такими задачами помоги

....
Миниатюры
Нажмите на изображение для увеличения
Название: Snap1.jpg
Просмотров: 171
Размер:	42.5 Кб
ID:	3754  
__________________
инженер проектировшик с опттом программа авто гад образование высшие

Последний раз редактировалось dextron3, 27.02.2008 в 07:29.
dextron3 вне форума  
 
Непрочитано 27.02.2008, 09:58
#96
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,800
<phrase 1= Отправить сообщение для VVA с помощью Skype™


>dextron3
Код:
[Выделить все]
(defun C:GAB ( / plSet pt_lst X Y Xr Yr gab round)
(defun round (value to)
  (cond
    ((= (* to (fix (/ value to))) value) value)
    (t
     (if (minusp value)
       (- (* to (fix (abs (/ value to)))))
       (* to (1+ (fix (abs (/ value to)))))
       ) ;_ end of if
     )
    )
  )
(if
  (and
    (princ"\n<<< Выберите полилинию >>> ")
      (setq plSet nil plSet
   (ssget "_:S" '((0 . "LWPOLYLINE"))))
       (setq pt_lst
        (mapcar
  '(lambda(x)(trans x 0 1))
  (mapcar 'cdr
    (vl-remove-if-not
     '(lambda(x)(= 10(car x)))
       (entget
         (ssname plSet 0))))))
      )
  (progn
  (setq gab (list (apply 'mapcar (cons 'min pt_lst))
 (apply 'mapcar (cons 'max pt_lst))
 )
 )
  (setq X (round (setq Xr (abs(- (caadr gab)(caar gab)))) 50))
  (setq Y (round (setq Yr (abs(- (cadadr gab)(cadar gab)))) 50))
  (princ (strcat "\nРазмеры заготовки: Реальные  X="
   (rtos Xr 2 3)
   " Y= "
   (rtos Yr 2 3)
   "\nОкругленные до 50:  X="
   (rtos X 2 0)
   " Y= "
   (rtos Y 2 0)
   )
  )
  )
  )
  (princ)
  )
>KAI
Программа TOKR округляет текст целиком. Поиск и округление чисел в тексте оставлю себе в качестве домашнего задания.
>Red Nova Скачал, но пока еще не вникал
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 27.02.2008 в 13:01. Причина: Округление в большую сторону
VVA вне форума  
 
Непрочитано 27.02.2008, 11:34
#97
dextron3

Фотограф
 
Регистрация: 01.01.2007
Алматы
Сообщений: 5,042


VVA, спасибо!

но хотелось бы чтобы округление было в большую сторону,
тоесть 210 то 250, 201 то 250, 251 то 300, то есть на завод лучше отправлять
с запасом когда будут нарезать, ведь лучше потом сточить чем наварить

у тебя 210 округляет 200, теряем сантиметр
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 27.02.2008, 11:40
#98
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,800
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Исправил
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 27.02.2008, 11:45
#99
dextron3

Фотограф
 
Регистрация: 01.01.2007
Алматы
Сообщений: 5,042


не до конца 385-400, у тебя 385-350
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 27.02.2008, 13:02
#100
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,800
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Пробуй снова
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Как сосчитать сумму цифр из отдельных мтекстов (и лисп для подсчета спецификаций)

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сейсмозащита и сейсмоизоляция существующих, построенных зд. IANationalInformAgentstvo Прочее. Архитектура и строительство 216 20.01.2015 16:51
Предложения по расчетным моделям сооружений aldt Расчетные программы 8 06.07.2009 17:53
Мониторы LCD CRT Разное 94 17.06.2008 10:51
ЮМОР 2006 =) Perezz!! Разное 1122 04.01.2007 00:46