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

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

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

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

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

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

Последний раз редактировалось Red Nova, 13.03.2009 в 10:11.
Просмотров: 193509
 
Непрочитано 26.01.2008, 19:13
#2
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Видишь - Щитать никто не хочет.
Если бы у тебя был не MText, а Text, то я бы предложил посмотреть сюда:
http://www.caduser.ru/cgi-bin/f1/board.cgi?t=19574jg
Profan вне форума  
 
Непрочитано 26.01.2008, 19:23
#3
T-Yoke

Артиллерист - вертолётчик. Дипломированный инженер-механик. Technologist
 
Регистрация: 29.11.2004
Где-то около Москвы
Сообщений: 16,435
Отправить сообщение для T-Yoke с помощью Skype™


Цитата:
Сообщение от Red Nova Посмотреть сообщение
Я не пользуюсь таблицами AutoCADа, черчу ячейки, в них по мтексту. Вопрос как оперативно сощитать сумму цифр их содержимого. Слышал есть такой калькулятор, по моему calcacad называется, но на 2008-й Cad не идет. Что делать?
Блин, пора розги применять в школах. Народ совсем русского языка не знает. Может тогда начнёт считать, а не щитать
__________________
«Артиллерия не токмо грохот, но и наука!» Пётр I
T-Yoke вне форума  
 
Автор темы   Непрочитано 26.01.2008, 21:09
#4
Red Nova

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


Да да, все верно , поправил. Я это, русский в школе не проходил. А как на счет по теме вопроса?
Red Nova вне форума  
 
Автор темы   Непрочитано 26.01.2008, 21:21
#5
Red Nova

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


Profan По указанной ссылке есть и для мтекса вариант. Большое спасибо..
Код выглядит так

Цитата:
(defun c:z-calc-text-value (/ value ent obj ss)
(vl-load-com)
(princ
"\nВыберите текстовые объекты среди которых будет произведененна калькуляция"
) ;_ princ
(setq ss (ssget '((0 . "TEXT,MTEXT"))))
(if (not ss)
(princ "Не выбраны объекты")
(progn
(setq
value (rtos
(apply
(function +)
(mapcar
(function
(lambda (a)
(atof
(vl-string-trim
"%Uu {\\Ll}"
(vl-string-subst
"."
","
(cdr (assoc 1 (entget a)))
) ;_ vl-string-subst
) ;_ vl-string-trim
) ;_ atof
) ;_ lambda
) ;_ function
(vl-remove-if
(function listp)
(mapcar (function cadr)
(ssnamex ss)
) ;_ mapcar
) ;_ vl-remove-if
) ;_ mapcar
) ;_ apply
) ;_ rtos
) ;_ setq
(if (vl-string-position (ascii ".") value)
(setq value (vl-string-right-trim ".0" value))
) ;_ if
(setq value (vl-string-subst "," "." value))
(princ (strcat "\n Сумма = " value))
(alert (strcat "Сумма = " value "\nУкажите точку вставки "))
(setvar "ERRNO" 0)
(if (and ent
(vlax-property-available-p
(setq obj (vlax-ename->vla-object ent))
'TextString
) ;_ vlax-property-available-p
) ;_ and
(progn
(vlax-put-property obj 'TextString value)
(vlax-release-object obj)
) ;_ progn
) ;_ if
) ;_ progn
) ;_ if


(setq pt2 (getpoint))
(setq r (* (getvar "DIMSCALE") (getvar "DIMTXT")))
(command "_text" pt2 r 0 value)

(princ)
) ;_ defun

Последний раз редактировалось Red Nova, 27.01.2008 в 00:27.
Red Nova вне форума  
 
Непрочитано 26.01.2008, 21:51
#6
Клякса

Инженер
 
Регистрация: 15.08.2007
Питер
Сообщений: 36
<phrase 1=


Попробуй следующий код:

Sub SummaMText()

Dim SelSetColl As AcadSelectionSets
Dim CirSet As AcadSelectionSet
Dim item As AcadMText
Dim Summa As Double

Set SelSetColl = ActiveDocument.SelectionSets
Set CirSet = SelSetColl.Add("Mt")
CirSet.Select acSelectionSetAll '

For Each item In CirSet
Summa = Summa + CDbl(item.TextString)
Next item

CirSet.Delete
Set CirSet = Nothing
Set SelSetColl = Nothing

MsgBox Summa ' выводит сумму в окне

End Sub



Эта прога тупо перебирает все входящие в активный чертеж МТексты и выдает в окне сумму входящих в них чисел.
Если нужна сумма не всех имеющихся МТекстов, а только по выбору, или сумму выводить не в окне, а в другом Мтексте, то код надо будет доработать.

ЗЫ: Гы, пока я писал код, сам нашел :-)
__________________
Ошибку нашел и исправил, но в чем она заключалась, так и не понял...
Клякса вне форума  
 
Автор темы   Непрочитано 27.01.2008, 11:46
#7
Red Nova

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


А как на счет того, чтоб проводить более сложные вычисления, отмечая цифры мтекста. Скажем отнять, умножить, вознести в квадрат. Для этих целей наверное программка посложнее нужна, с интерфейсом похожим на калькулятор. Никто не знает такой для 2008-го?
Red Nova вне форума  
 
Непрочитано 02.02.2008, 19:37
#8
Клякса

Инженер
 
Регистрация: 15.08.2007
Питер
Сообщений: 36
<phrase 1=


Теоретически можно все, и интерфейс в виде калькулятора и математические действия.
А чем тебя штатный калькулятор не устраивает?
__________________
Ошибку нашел и исправил, но в чем она заключалась, так и не понял...
Клякса вне форума  
 
Автор темы   Непрочитано 02.02.2008, 21:30
#9
Red Nova

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


штатный калькулятор не работает с цифрами из мтекста.
Red Nova вне форума  
 
Автор темы   Непрочитано 02.02.2008, 21:38
#10
Red Nova

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


Лисп с поста 5 работает так. Выбираешь мтксты или тексты, enter выходит сообщение что сумма цифр равна ***. Далее указываешь точку где в последствии появляется мтекст с содержащейся искомой в нем суммой. Программа хорошая, но уж очень хочется чтоб в конце сумма не выводилась в новом мтексте, а записывалась в уже существующий мтекст по принципу оверрайт. Прошу помочь с переделкой лиспа.
Red Nova вне форума  
 
Непрочитано 03.02.2008, 06:19
#11
wetr

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


Цитата:
Сообщение от Red Nova Посмотреть сообщение
Лисп с поста 5 работает так. Выбираешь мтксты или тексты, enter выходит сообщение что сумма цифр равна ***. Далее указываешь точку где в последствии появляется мтекст с содержащейся искомой в нем суммой. Программа хорошая, но уж очень хочется чтоб в конце сумма не выводилась в новом мтексте, а записывалась в уже существующий мтекст по принципу оверрайт. Прошу помочь с переделкой лиспа.
В Веткаде есть подобная штука. Хочешь вставит новый объект, хочешь вставит ответ в существующий примитив. Может суммировать или суммировать с умножением. Одно НО - работает только с текстом.
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Автор темы   Непрочитано 03.02.2008, 09:43
#12
Red Nova

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


У меня в файлах только мтекст
Red Nova вне форума  
 
Непрочитано 03.02.2008, 17:33
#13
Клякса

Инженер
 
Регистрация: 15.08.2007
Питер
Сообщений: 36
<phrase 1=


С ЛИСПом не знаком, а на VBA попробовать можно.
Скинь небольшой файл, с которым можно работать. Укажи, какие МТЕксты складывать (или какие другие мат. вычисления), а в какой - вставлять результат... Может, там какие критерии есть для выделения или еще что... Без этого задача кажется совсем неопределенной...
__________________
Ошибку нашел и исправил, но в чем она заключалась, так и не понял...
Клякса вне форума  
 
Непрочитано 03.02.2008, 17:34
#14
Клякса

Инженер
 
Регистрация: 15.08.2007
Питер
Сообщений: 36
<phrase 1=


А штататный кальк вполне работает с цифрами из МТекста, если их туда скопипастить ;-)
__________________
Ошибку нашел и исправил, но в чем она заключалась, так и не понял...
Клякса вне форума  
 
Автор темы   Непрочитано 03.02.2008, 21:19
#15
Red Nova

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


В штатном калькуляторе цифры надо копировать поштучно, а используя лисп с поста 5 можно отметить разом нужные мтексты содержащиеся в которых цифры надо сложить, и результат выводится в новом мтексте, только мне удобнее чтоб результат вписывался в уже существующий мтекст.
>Критерий никаких при выделении нет, выделяешь нужные мтексты, те что рядом – рамкой, другие поштучно, enter, результат готов.
Попробуй попользоваться Лиспом с поста 5, думаю станет понятно.
А экспериментировать можешь с любым файлом где создано несколько мтекстов с содержащимися в них цифрами, скажем 2, 15, 56. Выделяешь их, складываешь, насколько я помню алгебру, результат равен 73, ну или возле того.
Red Nova вне форума  
 
Непрочитано 04.02.2008, 12:45
#16
a-alex

конструктор
 
Регистрация: 05.03.2007
Сообщений: 64


Цитата:
Сообщение от Red Nova Посмотреть сообщение
Лисп с поста 5 работает так. Выбираешь мтксты или тексты, enter выходит сообщение что сумма цифр равна ***. Далее указываешь точку где в последствии появляется мтекст с содержащейся искомой в нем суммой. Программа хорошая, но уж очень хочется чтоб в конце сумма не выводилась в новом мтексте, а записывалась в уже существующий мтекст по принципу оверрайт. Прошу помочь с переделкой лиспа.
Этот лисп есть по этой ссылке
Цитата:
Сообщение от Profan Посмотреть сообщение
Код:
[Выделить все]
(defun c:z-calc-text-value (/ value ent obj ss)
  (vl-load-com)
  (princ
    "\nВыберите текстовые объекты среди которых будет произведененна калькуляция"
    ) ;_ princ
  (setq ss (ssget '((0 . "TEXT,MTEXT"))))
  (if (not ss)
    (princ "Не выбраны объекты")
    (progn
      (setq
  value (rtos
    (apply
      (function +)
      (mapcar
        (function
          (lambda (a)
      (atof
        (vl-string-trim
          "%Uu {\\Ll}"
          (vl-string-subst
            "."
            ","
            (cdr (assoc 1 (entget a)))
            ) ;_ vl-string-subst
          ) ;_ vl-string-trim
        ) ;_ atof
      ) ;_ lambda
          ) ;_ function
        (vl-remove-if
          (function listp)
          (mapcar (function cadr)
            (ssnamex ss)
            ) ;_ mapcar
          ) ;_ vl-remove-if
        ) ;_ mapcar
      ) ;_ apply
    ) ;_ rtos
  ) ;_ setq
      (if (vl-string-position (ascii ".") value)
  (setq value (vl-string-right-trim ".0" value))
  ) ;_ if
      (princ (strcat "\n Сумма = " value))
      (alert (strcat "Сумма = " value))
      (setvar "ERRNO" 0)
      (while
  (and (not (setq  ent
       (car
         (nentsel
           (strcat
             "\n Выберите текстовый объект для записи значения <Выход>:"
             ) ;_ strcat
           ) ;_ entsel
         ) ;_ car
      ) ;_ setq
      ) ;_ not
       (equal (getvar "ERRNO") 7)
       ) ;_ and
   (setvar "ERRNO" 0)
   ) ;_ while
      (if (and ent
         (vlax-property-available-p
     (setq obj (vlax-ename->vla-object ent))
     'TextString
     ) ;_ vlax-property-available-p
         ) ;_ and
  (progn
    (vlax-put-property obj 'TextString value)
    (vlax-release-object obj)
    ) ;_ progn
  ) ;_ if
      ) ;_ progn
    ) ;_ if
  (princ)
  ) ;_ defun
a-alex вне форума  
 
Автор темы   Непрочитано 04.02.2008, 14:49
#17
Red Nova

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


Спасибо, там и вправду все так как мне надо. Надо мне быть повнимательней.
Red Nova вне форума  
 
Непрочитано 05.02.2008, 12:06
#18
a-alex

конструктор
 
Регистрация: 05.03.2007
Сообщений: 64


Цитата:
Сообщение от Red Nova Посмотреть сообщение
используя лисп с поста 5 можно отметить разом нужные мтексты содержащиеся в которых цифры надо сложить, и результат выводится в новом мтексте, только мне удобнее чтоб результат вписывался в уже существующий мтекст.
Никто не видел лисп- тоже самое только с умножением.
a-alex вне форума  
 
Непрочитано 05.02.2008, 12:46
#19
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,490


Ну замени
Код:
[Выделить все]
(apply
      (function +)
на
Код:
[Выделить все]
(apply
      (function *)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 05.02.2008, 13:01
#20
a-alex

конструктор
 
Регистрация: 05.03.2007
Сообщений: 64


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Ну замени
Код:
[Выделить все]
(apply
      (function +)
на
Код:
[Выделить все]
(apply
      (function *)
У меня были смутные догадки, но подумал что это слишком просто.
Спасибо Алексей!
a-alex вне форума  
 
Непрочитано 05.02.2008, 16:14
#21
Олег К.

Инженер-теплотехник
 
Регистрация: 17.08.2006
Смоленск
Сообщений: 307


Где-то здесь уже выкладывал этот лисп, но даже сам найти не смог , поэтому повторюсь.
Программа написана без использования vla-функций, работает на 2002-м АвтоКАДе, по идее пойдет и на Brics/ZW/Proge CADах.

PS: Что за прикол с похожими темами? Это по какому критерию они похожи?
Вложения
Тип файла: lsp TextCalc-v4.1.LSP (11.0 Кб, 378 просмотров)
Олег К. вне форума  
 
Автор темы   Непрочитано 05.02.2008, 18:37
#22
Red Nova

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


Олег К. Проверил на 2008-ом, не работает, выводит сообщение
Цитата:
Укажите текст или [ Число / Функция / Результат / Выход] <Выход>:
но дальше пишет прервано пользователем.
Red Nova вне форума  
 
Непрочитано 05.02.2008, 19:39
#23
Олег К.

Инженер-теплотехник
 
Регистрация: 17.08.2006
Смоленск
Сообщений: 307


>> Red Nova
Ну-у, собснно, в 2008-м я не тестировал, даже не видел .
Только что проверил этот же файл на седьмом - все работает.
После первого запроса Esc случайно не нажали? Если нет, тогда в коде убрать переопределение функции *error*, и посмотреть, какую ошибку выдает.

Это что-то: ни у кого из знакомых нет АвтоКАДа 2008! Так что сам никак проверить не смогу.
Олег К. вне форума  
 
Автор темы   Непрочитано 05.02.2008, 21:53
#24
Red Nova

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


Дома прогнал на 2007-м, тоже самое, не работает, а на домашнем 2008-м (у меня и тот и другой стоят) работает, но как я понял не совсем корректно.
После запуска команды
1.Укажите текст или [ Число / Функция / Результат / Выход] <Выход>:
Дальше если нажать на кокой–либо текст выходит вот что
2.Выберите действие [ + / - / * //] <Отмена>:
Выбираешь Кокой–то знак, далее в ком. строке пишется идущее вычисление, если выбрать подменю, скажем
3.Результат
Тогда выходит послание
4.Вы хотите выйти без сохранения результата вычислений? [Да / Нет] <Нет>

По–моему после пунктов 1 и 3 идет неправильное действие. И почему это интересно программа так непостоянна, более менее заработала на одном компьютере из трех.
Red Nova вне форума  
 
Непрочитано 06.02.2008, 10:29
#25
Олег К.

Инженер-теплотехник
 
Регистрация: 17.08.2006
Смоленск
Сообщений: 307


Странно, впервые с таким сталкиваюсь. Есть большой парк машин, когда-то проверял на 2002, 4, 6, 7 АвтоКАДах и на разных машинах - везде работало нормально. Может надстройки какие-то есть, вроде СПДСа? Хотя не должно бы влиять.
При правильной работе должно выглядеть так:
Код:
[Выделить все]
Command: textcalc enter

  ВЫЧИСЛЕНИЕ ТЕКСТА
 Укажите текст или [ Число / Функция / Результат / Выход] <Выход>:  ткнул на текст с числом 2

 Выберите действие [ + / - / * //] <Отмена>: + enter

 Укажите текст или [ Число / Функция / Результат / Выход] <Выход>: ткнул на второй текст, число 9
   Результат:  2.000 + 9.000 = 11.000
 Укажите текст или [ Число / Функция / Результат / Выход] <Выход>: ф enter

 Выберите действие [ + / - / * //] <Отмена>: * enter

 Укажите текст или [ Число / Функция / Результат / Выход] <Выход>: ткнул на текст с числом 5
   Результат:  11.000 * 5.000 = 55.000
 Укажите текст или [ Число / Функция / Результат / Выход] <Выход>: ч enter
 Введите число <Отмена>: 12 enter

   Результат:  55.000 * 12.000 = 660.000
 Укажите текст или [ Число / Функция / Результат / Выход] <Выход>: р enter
 Изменить существующий текст или создать новый? [Изменить / Создать]: и enter
 Выберите текст для изменения:
Select objects: ткнул на текст в который будет записан результат

 Сколько оставить цифр после запятой [0 - 5] <1>:enter

 Продолжить вычисления, начать новые или выход? [Продолжить / Новый / Выход]: в enter
 END
Command:
Курсивом действия не отображаемые в командной строке.
В начале выбираемых текстов обязательно должны быть какие-либо цифры, если что другое - такой текст не считается числом. Если в начале работы программы выбрано или введено с клавиатуры число автоматически появится запрос на выбор действия (+-*/); если в начале было задано это действие, то такого запроса не будет. Так что пункты 1 и 2 правильны. Есть возможность выбирать опции при любой раскладке клавиатуры, т.е. а(англ)=ф, d=в(рус), x(англ)=ч и т.д.
Цитата:
Выбираешь Кокой–то знак, далее в ком. строке пишется идущее вычисление
Да не может такого быть, по логике программы невозможно вычисление при отсутствии одного из чисел.
Если программа не работает по приведенному выше сценарию, выложите здесь пример файла с текстами (в формате 2004 или 7 КАДа) и листинг из комстроки с запросами программы и Вашими ответами.

Последний раз редактировалось Олег К., 06.02.2008 в 10:41.
Олег К. вне форума  
 
Автор темы   Непрочитано 06.02.2008, 12:40
#26
Red Nova

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


На работе вчера менял AutoCAD, сейчас программка тут работает. С одним из вопросов разобрался, остался вот кокой вопрос. После этой строки

Укажите текст или [ Число / Функция / Результат / Выход] <Выход>: р enter

какое подменю я б не выбрал, пишет

Вы хотите выйти без сохранения результата вычислений? [Да / Нет] <Нет>

Следовательно, не выходит никуда вписать результат.
Red Nova вне форума  
 
Непрочитано 06.02.2008, 13:02
#27
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,490


Попробуй выбирать через конт.меню.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 06.02.2008, 13:53
#28
Олег К.

Инженер-теплотехник
 
Регистрация: 17.08.2006
Смоленск
Сообщений: 307


"Ничё не понимаю" ©Колобки.

Хотя стоп. Вы же вводите опции по русски? Тогда возможно виновата русская кодировка. У меня ANSI 1251. Попробуйте вводить опции в английской раскладке (выше упоминал).
Остается только такое решение. Похоже при неопознанной опции сбрасывается в "пустой ввод", а он по умолчанию = выходу.

Последний раз редактировалось Олег К., 06.02.2008 в 14:00.
Олег К. вне форума  
 
Автор темы   Непрочитано 06.02.2008, 19:47
#29
Red Nova

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


Олег К .Попробовал с клавы, заработало. Спасибо.

Товарищи программисты, есть вопрос по Лиспу с поста 16. С применением этого лиспа, после того как все нужные цифры выбраны, когда жмешь enter вылетает сообщение, что сумма мол такая–та. Жмешь на OK, после этого выбираешь мтекст в который надо все вписать.
Можно ли убрать из последовательности вылетающее окно с сообщением о результате? То–есть выбрал цифры которые надо сложить, enter, выбрал текст в который вписываешь результат, enter, конец.
Red Nova вне форума  
 
Непрочитано 07.02.2008, 09:36
#30
VVA

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


Находишь в тексте красную строчку
Код:
[Выделить все]
 
(princ (strcat "\n Сумма = " value))
(alert (strcat "Сумма = " value))
(setvar "ERRNO" 0)
И ставишь перед ней точку с запятой. Чтобы было так
Код:
[Выделить все]
 
(princ (strcat "\n Сумма = " value))
; (alert (strcat "Сумма = " value))
(setvar "ERRNO" 0)
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 07.02.2008, 12:35
#31
Red Nova

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


VVA Спасибо.
Red Nova вне форума  
 
Автор темы   Непрочитано 07.02.2008, 20:08
#32
Red Nova

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


Еще один вопрос к программистам. Лисп отзывается только когда клавиатура на английском, если в этот момент печатаешь на русском, то приходится менять язык для вызова Лиспа. Подскажите пожалуйста как сделать так, чтоб лисп вызывался и в случае ввода русских букв соответственного расположения на клавиатуре?
Red Nova вне форума  
 
Непрочитано 08.02.2008, 09:26
#33
VVA

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


Это ты про какой лисп? Уточни. Тут их много
По поводу русских букв, ты имеешь ввиду вызов команды или опции?
Для команд:
для примера возьмем лисп из #16
Там определена команда:
(defun c:z-calc-text-value (/ value ent obj ss)
далее по тексту
И добавляем свои команды (например команду Z и Я)
Код:
[Выделить все]
 
(defun C:Z () (c:z-calc-text-value))
(defun C:Я () (c:z-calc-text-value))
Теперь от раскладки ничего не зависит

__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 08.02.2008, 09:58
#34
Олег К.

Инженер-теплотехник
 
Регистрация: 17.08.2006
Смоленск
Сообщений: 307


А можно просто сделать кнопку с таким макросом:
^C^C(load "D:/ACAD/LISP/z-calc-text-value.lsp");z-calc-text-value
Олег К. вне форума  
 
Автор темы   Непрочитано 08.02.2008, 11:16
#35
Red Nova

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


VVA Еще раз спасибо, речь шла именно об этом лиспе.
Олег К. Для многих команд я именно так и делаю.
Red Nova вне форума  
 
Автор темы   Непрочитано 11.02.2008, 12:17
#36
Red Nova

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


C мтекстом разобрались, а как суммировать содержания размеров?
Red Nova вне форума  
 
Непрочитано 11.02.2008, 15:36
#37
Олег К.

Инженер-теплотехник
 
Регистрация: 17.08.2006
Смоленск
Сообщений: 307


Для подсчета размеров, но только не переопределенных вручную.
Заменить соответствующие строки программы приведенными ниже:
Код:
[Выделить все]
;----- Действия программы при выборе текстового примитива
   (if (= (type oneobj) 'list)
     (progn ; _1
       (if (= (type (setq oneobj (car oneobj))) 'ename)
         (progn ; _2
	   (cond
	     ((equal (cdr (assoc 0 (entget oneobj))) "DIMENSION")
	      (setq numtext (cdr (assoc 42 (entget oneobj))))
	     ) ; oneobj - размер
	     ((vlax-property-available-p (vlax-ename->vla-object oneobj) 'textstring)
	      (setq numtext (_Cris-UnfTextStr (vla-get-TextString (vlax-ename->vla-object oneobj))))
	     ) ; oneobj - текст
	     (T (princ "\n Этот объект не текст. Выберите еще раз") (princ)
	     ) ; oneobj - любой другой объект AutoCAD'а
	   ) ; cond
	   (setq oneobj nil)
         ) ; progn_2
       ) ;  if(type)=ename
     ) ; progn_1
   ) ;  if(type)=list
    
;----- Действия программы при выборе опции ввода числа с клавиатуры
Редактировать файл в автокадовском Visual LISP Editore, либо в чём-то вроде Notepad++.

а, и еще изменить номер версии на 4.2
Олег К. вне форума  
 
Автор темы   Непрочитано 12.02.2008, 13:58
#38
Red Nova

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


Олег К. Спасибо, работает. А можно так сделать, чтоб в конце можно было результат не в текст списать, а в размер вписать, по принципу text overwrite? И как с размерами, которые уже overwrite? Их тоже иногда сосчитать нужно бывает.
Red Nova вне форума  
 
Автор темы   Непрочитано 12.02.2008, 14:13
#39
Red Nova

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


Нашел подобную команду в toolpac, есть возможность вписать результат в размер. хорошая вещ всем советую. Плохо там то что считает с несколькими цифрами после запятой (не округляет). И с overwrite тоже туго.
Red Nova вне форума  
 
Непрочитано 12.02.2008, 14:14
#40
Олег К.

Инженер-теплотехник
 
Регистрация: 17.08.2006
Смоленск
Сообщений: 307


Сделаю, но быстро не обещаю, своей работы привалило.
Завтра к вечеру-послезавтра.

Для взятия переопределенных размеров строки 61-63 заменить на следующее:
Код:
[Выделить все]
((equal (cdr (assoc 0 (entget oneobj))) "DIMENSION")
	      (if (eq (cdr (assoc 1 (entget oneobj))) "")
		(setq numtext (cdr (assoc 42 (entget oneobj))))
		(setq numtext (atof (cdr (assoc 1 (entget oneobj)))))
	      ) ; if
	     ) ; oneobj - размер

Последний раз редактировалось Олег К., 12.02.2008 в 14:30.
Олег К. вне форума  
 
Непрочитано 13.02.2008, 14:09
#41
Олег К.

Инженер-теплотехник
 
Регистрация: 17.08.2006
Смоленск
Сообщений: 307


Надо же, все оказалось проще, чем думал. Мог бы и вчера доделать.
Выкладываю последний вариант. Добавлена работа с размерами и вставка результата в размерный текст, вот только радиусы и диаметры не берет, и дуговые в радианах считает. Да так ли уж часто нужно такие размеры вычислять. Установка числа знаков после запятой снесена в пункт "Опции", по умолчанию =1 (самого этот запрос уже достал). Нельзя ввести ноль - так я от деления на ноль избавился. Обнаружилась интересная особенность: нельзя два раза подряд сделать вывод результата - логика программы не позволяет.

Еще просьба, кому не лень потестируйте программку в AutoCAD 2008, ZW/Proge/Brics CADах.
Вложения
Тип файла: lsp TextCalc-v4.3.LSP (11.5 Кб, 703 просмотров)
Олег К. вне форума  
 
Непрочитано 13.02.2008, 16:07
#42
VVA

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


Чуток подправил твой код. Теперь игнорирует угловые размеры, обрабатывает дуговой размер. Надеюсь ничего не испортил
Код:
[Выделить все]
;;;  TEXTCALC - TEXT CALCULATION  ver 4.3
;;;
;;; All rights reserved including right of reproduction in whole or in part in ang form.
;;; Данная программа производит вычисления значений взятых из текста. Запрашивает указание тестового
;;; примитива с числом или ввод числа с клавиатуры, выбор арифметического действия (+, -, * или /).
;;; Вывод результата:  в существующий текст (изменение содержания) или создание нового текста
;;; с результатом (ОБЯЗАТЕЛЬНО УКАЗАТЬ ОБРАЗЕЦ ТЕКСТОВОГО ПРИМИТИВА !!!).
;;; После каждого (кроме первого) задания чисел в командную строку выводится текущий результат
;;; По вопросам о работе программы просьба обращаться в отдел ТТОВ к Крылову О.В.
;;;
;;; 12.02.2008: добавлена возможность брать значения размеров и выводить результат в размерный текст.
;;;             не работает с радиусами и диаметрами, дуговые размеры берутся в радианах.
(defun C:TextCalc (/ *error* numerror ExitNumFun oneobj numtext numfuntext numresult resultvar 
                 changeobj textlayer textprecision bit1 bit7 bit8 bit10 bit40 bit67 bit410 
                 resultexit numout)
;;; ФУНКЦИЯ ВЫЧИСЛЕНИЯ ЗНАЧЕНИЙ ВЗЯТЫХ ИЗ ТЕКСТОВЫХ ПРИМИТИВОВ
  (gc)
  (setq p_cmdecho (getvar "CMDECHO") p_osmode (getvar "OSMODE") p_blipmode (getvar "BLIPMODE"))
; Переопределение функции *error*, вместо стандартной
 (defun *error* (msg)
   (princ "Программа прервана пользователем")
   (setvar "CMDECHO" p_cmdecho)
   (setvar "OSMODE" p_osmode)
   (setvar "BLIPMODE" p_blipmode)
   (setq p_cmdecho nil p_osmode nil p_blipmode nil)
   (setq numerror nil ExitNumFun nil oneobj nil numtext nil numfuntext nil numfunction nil numresult nil numout nil textprecision nil)
   ; (princ "\n ERREND")
   (princ)
 ) ; defun(*error*)
 (setvar "CMDECHO" 0)
 (setvar "OSMODE" 0)
 (setvar "BLIPMODE" 0)
 (setq oneobj nil numtext nil numfuntext nil numfunction nil number1 nil numresult nil number2 nil ExitNumFun nil textprecision 1) 
  
 (princ "\n\t ВЫЧИСЛЕНИЕ ТЕКСТА")
 (while (null ExitNumFun)
   (setvar "ERRNO" 0)
   (initget "Число Функция Результат Опции Выход X A H J D _X A H J D X A H J D")
   (setq oneobj (entsel "\n Укажите текст или [Число/Функция/Результат/Опции/Выход] <Выход>: "))
;----- Действия программы при пустом вводе
   (if (null oneobj)
     (progn
       (setq numerror (getvar "ERRNO"))
       (cond
  ((= numerror 7) (princ "\n Вы промахнулись, ничего не выбрано. Выберите еще раз. \n"))
  ((= numerror 52) (setq oneobj "D"))
       ) ; cond
       (setq numerror nil)
       (setvar "ERRNO" 0)
     ) ; progn
   ) ; if(null oneobj)
;----- Действия программы при выборе текстового примитива
   (if (= (type oneobj) 'list)
     (progn ; _1
       (if (= (type (setq oneobj (car oneobj))) 'ename)
         (progn ; _2
    (cond
      ((and            ;_ Modifyed VVA >
                (wcmatch (cdr (assoc 0 (entget oneobj))) "*DIMENSION") ;_ DIMENSION and ARC_DIMENSION
                (or
                (member '(100 . "AcDbAlignedDimension") (entget oneobj))  ;_Параллельный или линейный
                (member '(100 . "AcDbDiametricDimension") (entget oneobj));_Диаметр
                (member '(100 . "AcDbRadialDimension") (entget oneobj))   ;_Радиус
                (member '(100 . "AcDbArcDimension") (entget oneobj))      ;_Дуговой
                )
                )             ;_ Modifyed VVA <
       (if (eq (cdr (assoc 1 (entget oneobj))) "")
  (setq numtext (cdr (assoc 42 (entget oneobj))))
  (setq numtext (atof (cdr (assoc 1 (entget oneobj)))))
       ) ; if
      ) ; oneobj - размер
      ((vlax-property-available-p (vlax-ename->vla-object oneobj) 'textstring)
       (setq numtext (_Cris-UnfTextStr (vla-get-TextString (vlax-ename->vla-object oneobj))))
      ) ; oneobj - текст
      (T (princ "\n Этот объект не текст. Выберите еще раз") (princ)
      ) ; oneobj - любой другой объект AutoCAD'а
    ) ; cond
    (setq oneobj nil)
         ) ; progn_2
       ) ;  if(type)=ename
     ) ; progn_1
   ) ;  if(type)=list
    
;----- Действия программы при выборе опции ввода числа с клавиатуры
   (if (member oneobj '("Число" "X")) ; oneobj=Число
     (setq numtext (getreal "\n Введите число <Отмена>: ") oneobj nil)
   ) ; if(число)
; Проверка numtext на ноль (возникает если выбран MText или Text у которого
; первый символ не цифра, так же могут специально ввести 0) и запрет вычисления
   (if (eq numtext 0)
     (progn
       (princ "\n\t В выбранном тексте в начале не цифра, либо ВЫ специально ввели ноль.
               \n\t НЕ ПОЙДЁ-ОТ !!! Повторите ввод правильно!") (princ)
       (setq numtext nil)
     ) ; progn
   ) ; if(ноль)
;----- Действия программы при выборе опции ввода математической функции.
; Автоматический запрос выбора функции при наличии первого аргумента,
; выбранного в виде текстового примитива или введенного с клавиатуры
    (if (or (member oneobj '("Функция" "A")) ; oneobj=Функция
     (and (null numfuntext)
   (not (null numtext))
     ) ; and
 ) ; or
      (progn
 (initget 6 "+ - * /")
 (setq numfuntext (getkword "\n\n Выберите действие [ + / - / * //] <Отмена>: "))
 (setq numfunction (cond
         ((= numfuntext "+") +)
       ((= numfuntext "-") -)
       ((= numfuntext "*") *)
       ((= numfuntext "/") /)
     ) ; cond
 ) ; setq
 (setq oneobj nil)
      ) ; progn
    ) ; if(функция)
   
;----- Действия программы при выборе пункта "Опции"
   (if (member oneobj '("Опции" "J")) ; oneobj=Опции
     (progn
       (initget 4 "0 1 2 3 4 5 6 7 8 9")
       (setq textprecision (getint "\n Сколько оставить цифр после запятой [0 - 9] <1>: "))
       (if (null textprecision) (setq textprecision 1))
     ) ; progn
   ) ; if(опции)
   
;----- Действия программы при выборе опции вывода результата.
; Варианты вывода: изменить существующий текстовой примитив или создать новый
; по выбранному образцу. Действия при ошибочном выборе опции.
    (if (and (member oneobj '("Результат" "H")) (not (null numresult))) ; oneobj=Результат
      (progn ; _1
 (initget 15 "Изменить Создать B C _B C B C")
 (setq resultvar (getkword "\n Изменить существующий или создать новый текст? [Изменить/Создать]: "))
 (cond
   ((member resultvar '("Изменить" "B")) ; resultvar=Изменить
    (princ "\n Выберите объект для изменения: ")
    (setq changeobj (entget (ssname (ssget "_:S" '((0 . "*TEXT,DIMENSION"))) 0)) textlayer (cdr (assoc 8 changeobj)))
    (if (= (cdr (assoc 70 (tblsearch "LAYER" textlayer))) 4)  ; бит70 = 4 - слой заблокирован (проверять для каждой версии AutoCAD'a)
             (vl-cmdf "_.-layer" "_U" textlayer "")
    )
    (entmod (subst (cons 1 (rtos numresult 2 textprecision)) (assoc 1 changeobj) changeobj))
    (setq changeobj nil textlayer nil resultvar nil)
   ) ; resultvar=Изменить
   ((member resultvar '("Создать" "C")) ; resultvar=Создать
    (princ "\n Выберите образец для нового текста (укажите существующий текст): ")
    (setq changeobj (entget (ssname (ssget "_:S" '((0 . "*TEXT"))) 0)) textlayer (cdr (assoc 8 changeobj)))
    (if (= (cdr (assoc 70 (tblsearch "LAYER" textlayer))) 4)  ; бит 4 - слой заблокирован (проверять для каждой версии AutoCAD'a)
             (vl-cmdf "_.-layer" "_U" textlayer "")
    )
           (setq bit7 (assoc 7 changeobj)
                 bit8 (assoc 8 changeobj)
                 bit40 (assoc 40 changeobj)
                 bit67 (assoc 67 changeobj)
                 bit410 (assoc 410 changeobj))
           (initget 15)
           (setq bit10 (append '(10) (getpoint "\n Укажите точку вставки текста: ")))
    (setq bit1 (cons 1 (rtos numresult 2 textprecision)))
    (entmakex (list '(0 . "MTEXT") '(100 . "AcDbEntity") bit67 bit410 bit8 '(100 . "AcDbMText") bit10 bit40 '(41 . 0.0) '(71 . 5) bit1 bit7 '(210 0.0 0.0 1.0) '(50 . 0.0)))
    (setq bit1 nil bit7 nil bit8 nil bit10 nil bit40 nil bit67 nil bit410 nil
   changeobj nil textlayer nil resultvar nil)
   ) ; resultvar=Создать
 ) ; cond(resultvar)
 
   ; вывод запроса на продолжение расчетов
        (initget 15 "Продолжить Новый Выход G Y D _G Y D G Y D")
 (setq resultexit (getkword "\n Продолжить вычисления, начать новые или выход? [Продолжить/Новый/Выход]: "))
        (cond
   ((member resultexit '("Продолжить" "G")) (setq number1 numresult)) ; resultexit=Продолжить
   ((member resultexit '("Новый" "Y")) (setq numfunction nil numfuntext nil number1 nil)) ; resultexit=Новый
   ((member resultexit '("Выход" "D")) (setq numfunction nil numfuntext nil number1 nil ExitNumFun T textprecision nil)) ; resultexit=Выход
 ) ; cond(resultexit)
        (setq oneobj nil resultexit nil number2 nil numresult nil)
      ) ; progn_1
    ) ; if(numresult)=T
   
;----- Действия программы, когда выбрана опция вывода результата, но результат не вычислен
    (if (and (member oneobj '("Результат" "H")) (null numresult)) ; oneobj=Результат
      (progn
 (princ "\n Результат не может быть выведен, так как нет данных для вычислений")
 (princ) (setq oneobj nil)
      ) ; progn
    ) ; if(numresult)=nil
  
;----- Действия программы при выборе опции выхода.
; Если есть результат вычислений требуется дополнительное подтверждение.
    (cond
      ((and (member oneobj '("Выход" "D")) (not (null numresult))) ; oneobj=Выход
       (initget 6 "Да Нет L Y _L Y L Y")
 (setq numout (getkword "\n Вы хотите выйти без сохранения результата вычислений? [Да / Нет] <Нет> :"))
 (if (member numout '("Да" "L")) ; numout=Да
   (setq ExitNumFun T numout nil oneobj nil numtext nil number1 nil number2 nil numfunction nil numresult nil textprecision nil)
 ) ; if
      )
      ((and (member oneobj '("Выход" "D")) (null numresult)) ; oneobj=Выход
       (setq ExitNumFun T numout nil oneobj nil numtext nil number1 nil number2 nil numfunction nil textprecision nil)
      )
    ) ; cond(Выход)
; Назначение аргументов для вычислений.
   (if (null number1)
     (setq number1 numtext numtext nil) ; первый аргумент
     (setq number2 numtext numtext nil) ; второй аргумент
   ) ; if(number1)
; Функция выполнения вычислений.
  (if (and (not(null numfunction))
    (not(null number1))
    (not(null number2))
      ) ; and
    (progn
      (setq numresult (numfunction number1 number2))
      (princ (strcat "\n\t  Результат:  " (rtos number1 2 3) " " numfuntext " " (rtos number2 2 3) " = " (rtos numresult 2 3)))
      (princ)
      (setq number1 numresult number2 nil)
    ) ; progn
  ) ; if(вычисление)
  
) ; while(ExitNumFun)
  
   (setq ExitNumFun nil oneobj nil numtext nil numfuntext nil numfunction nil numresult nil numout nil textprecision nil)
        (setvar "CMDECHO" p_cmdecho)
        (setvar "OSMODE" p_osmode)
        (setvar "BLIPMODE" p_blipmode)
        (setq p_cmdecho nil p_osmode nil p_blipmode nil)
        (princ "\n END")
        (print)
  
) ; defun
;;; ---------------------------------  _Cris-UnfTextStr  ---------------------------------
;;; Функция снимает метки форматирования текстовой строки и возвращает вещественное число
;;; если в начале текста цифра(ы), либо число 0.0 если текст начинается с буквы.
;;; Пример:
;;; (_Cris-UnfTextStr "{\\fArial Narrow|b0|i0|c204|p34;321,456}")
;;; Возвращает: 321.456
;;; --------------------------------------------------------------------------------------
(defun _Cris-UnfTextStr (textstr / startfnum endfnum formatstr)
  (setq startfnum 0 endfnum 0)
  (while (not (null startfnum))
    (setq startfnum (vl-string-search "{\\" textstr))
    (if (not (null startfnum))
      (progn ; _1
        (setq endfnum (vl-string-search ";" textstr startfnum))
        (if (not (null endfnum))
   (progn ; _2
     (setq formatstr (substr textstr (1+ startfnum) (1+ (- endfnum startfnum)))
           textstr (vl-string-subst "" formatstr textstr startfnum)
           textstr (vl-string-subst "" "}" textstr startfnum))
     (setq endfnum 0 formatstr nil)
   ) ; progn_2
        ) ; if(endnum)
 (setq startfnum 0)
      ) ; progn_1
    ) ; if(startnum)
  ) ; while(not (null startnum)
  (atof (vl-string-translate "," "." textstr))
  ;(princ (strcat "\n Текст объекта: " (rtos numtext 2 3))) (princ)
) ; defun_Cris-UnfTextStr
;;; --------------------------------------------------------------------------------------
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 13.02.2008, 18:25
#43
Олег К.

Инженер-теплотехник
 
Регистрация: 17.08.2006
Смоленск
Сообщений: 307


Сейчас АКАД заново загрузил, исходная версия v4.3 тоже нормально работает, разве что угловой размер не исключается. В #41 я малость дуговой и угловой размеры перепутал. Вообще, для углового размера можно сделать пересчет из радиан в единицы чертежа, но думаю не стоит мешать линейные и угловые величины.

Кстати, это может быть выложено в "Готовые программы"? Если да - нужно в некоторых местах до ума довести, нет - и так сойдет.
Олег К. вне форума  
 
Непрочитано 13.02.2008, 19:49
#44
VVA

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


Правь и выкладывай. Я в версию 4.3 как раз и добавил обработку дугового размера и исключил из обработки угловой
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 13.02.2008, 21:11
#45
Red Nova

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


Благодарю. Хорошо сделано.
У меня есть предложение объединить хорошие стороны лиспов выложенных на этом форуме. Есть лисп выложенный Олегом (textcalc4.3) и лисп с поста 16, взятый с сайта caduser.
Перечислю положительные стороны каждого (ИМХО).

textcalc4.3 – есть возможность работать не только с текстом и мтекстом, но и с размерами используя одну команду. Есть возможность контроля количества цифр после запятой.

лисп с поста 16 – Процесс выполнения действий упрощен, можно минимальным затратами времени сосчитать сумму текстов (я еще более его упростил, избавившись от вылетающего окна с содержанием суммы вычисления). Еще тут радует возможность не поштучного выбора, а группового (рамкой).

Как бы я хотел чтоб выглядел финальный лисп.
При всех достоинствах лиспа от Олега должен сказать, что постоянная нужда выбора подкоманд сбивает с толку, и нет возможности выбрать насколько объектов рамкой. На данный момент я использую оба лиспа. Создал несколько копий Лиспа с поста 16, в них поменял команды вызова и каждому задал определенную функцию ( + - * / ). Фактически нужными для меня оказались команды складывания и умножения. Для работы с размерами я пользуюсь программой от Олега. Олег создал очень интересную программу, с возможностью в процессе вычислений менять функцию, но как показывает практика важнее чтоб команда работала быстро.
Предлагаю создать облегченную программу, состоящую из четырех команд (по команде на функцию), без запросов на подфункции. Знаю некоторые возможности созданные Олегом пропадают, но цель в убыстрении процесса вычислений.

То есть команда после вызова работает так. (пример для суммирование)
-выберите объекты,
выбираем размеры или тексты которые нужно просуммировать (выбор возможен и рамкой и поштучно), enter,
-выберите объект для записи значения,
выбираем размер или текст, enter, (здесь как альтернативу enter-у думаю уместно разместить подменю по поводу округления, после чего опять-таки выбираем объект для записи, enter,)
Процесс окончен. Если вы заметили количество действий сведено к минимуму.
При этом количество цифр после запятой (округление) предлагаю по умолчанию оставить 1, для других случаев можно оставить запрос от 0 до 9.
Надеюсь такой переделанный вариант программы приемлем для Олега, как для автора textcalc.

P.S. textcalc и без предложенных мною изменений рекомендую в “Готовые программы”

Последний раз редактировалось Red Nova, 14.02.2008 в 14:55.
Red Nova вне форума  
 
Непрочитано 14.02.2008, 10:14
#46
VVA

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


Вот мой аналог #16. Правда результат пишет в новый текст, но это поправимо. Из особенностей:
Разбирает Мтексты по параграфам,
Безразличен к . или , в разделителе
Остальное в коментариях
Код:
[Выделить все]
;|============= Команда SumT ================================== 
  Назначение:  Суммирование Тектса,Мтекста, Размеров указанием или рамкой.
               Угловые размеры игнорируются
  Особенности: Безразлична к разделителям точка или запятая. 
               Ввиду особенности работы atof стоки вида "22.3мама" 
               будут учтены как число 22.3
 
               При выводе результата число округляется в соответствии 
               с текущими установками переменной LUPREC. Команда _UNITS 
|; 
(defun c:sumT ( / res selset ins_pt txt_height blk obj ed *error*)
  (defun *error* (msg)
    (setvar "NOMUTT" 0)  ;_ Восстанавливаем NOMUTT
    (princ msg)
    )
 (vl-load-com)(setq res 0.)
 (princ "\nВыберите тексты или размеры: ")
  (setvar "NOMUTT" 1)  ;_ Отключаем NOMUTT
  (setq selset (ssget '((0 . "TEXT,MTEXT,*DIMENSION"))))
  (setvar "NOMUTT" 0)  ;_ Восстанавливаем NOMUTT
 (if  selset
    (foreach ent (vl-remove-if 'listp (mapcar 'cadr (ssnamex selset)))
     (setq obj (vlax-ename->vla-object ent)
           ed (entget ent)
           ) 
     (if (and (wcmatch (cdr(assoc 0 ed)) "*DIMENSION")
              (or
                (member '(100 . "AcDbAlignedDimension") ed)  ;_Параллельный или линейный
                (member '(100 . "AcDbDiametricDimension") ed);_Диаметр
                (member '(100 . "AcDbRadialDimension") ed)   ;_Радиус
                (member '(100 . "AcDbArcDimension") ed)      ;_Дуговой
                )
              )
       (progn
         (setq blk
             (vla-item (vla-get-blocks
                         (vla-get-activedocument (vlax-get-acad-object))
                       ) ;_ end of vla-get-Blocks
                       (cdr (assoc 2 ed))
             ) ;_ end of vla-item
      ) ;_ end of setq
      (vlax-for item blk
        (if (= (vla-get-objectname item) "AcDbMText")
          (setq obj item)
          )
         )
       )
       )
     (if (vlax-property-available-p obj 'Textstring)
       (progn
     (setq str (str-str-lst (vla-get-textstring obj) "\\P")
     str (mapcar '(lambda(x)(mip_mtext_unformat x)) str)
      str (mapcar '(lambda(x)(vl-string-translate "," "." (vl-string-trim  "%UuoOcC \t"   x))) str)
      str (mapcar '(lambda(x)(vl-string-trim  "%UuoOcC \t"   x)) str)
     res (+ res (apply '+ (mapcar 'atof str))))
     )
       )
      ) ;_ end of foreach 
    ) ;_ end of if 
  (princ "\nРезультат=")(princ (rtos res 2)) 
  (if (not (equal res 0. 1e-3)) 
    (progn 
      (if (= (cdr (assoc 40 (tblsearch "STYLE" (getvar "TEXTSTYLE")))) 0.0) ;_ end of =
        (progn ;; нулевая высота текста
   (if (not (setq txt_height (getreal "\nВведите высоту текста <2.5> : ")))(setq txt_height 2.5)) 
          (vl-cmdf "_.TEXT" "0,0" txt_height 0 (rtos res 2))) ;_ end of progn
        (progn ;; фиксированнная высота
          (vl-cmdf "_.TEXT" "0,0" 0 txt (rtos res 2))) ;_ end of progn
         )
      (command "_.copybase" "0,0" (entlast) "" "_.erase" (entlast) "" "_.pasteclip" pause) 
      ) ;_ end of progn 
    ) ;_ end of if 
   (princ) 
  ) 
(princ "\nНаберите в командной строке SumT")
(defun mip_MTEXT_Unformat ( Mtext / text Str )
  (setq Text "")
   (while (/= Mtext "")
        (cond
          ((wcmatch (strcase (setq Str (substr Mtext 1 2))) "\\[\\{}]")
            (setq Mtext (substr Mtext 3) Text   (strcat Text Str)))
          ((wcmatch (substr Mtext 1 1) "[{}]")(setq Mtext (substr Mtext 2)))
          ((wcmatch (strcase (setq Str (substr Mtext 1 2))) "\\[LO`~]")
    (setq Mtext (substr Mtext 3)))
          ((wcmatch (strcase (substr Mtext 1 2)) "\\[ACFHQTW]")
            (setq Mtext (substr Mtext (+ 2 (vl-string-search ";" Mtext)))))
          ((wcmatch (strcase (substr Mtext 1 2)) "\\P")
            (if (or(= " " (substr Text (strlen Text)))
     (= " " (substr Mtext 3 1)))
               (setq Mtext (substr Mtext 3))
               (setq Mtext (substr Mtext 3) Text (strcat Text " "))))
   ((wcmatch (strcase (substr Mtext 1 2)) "\\S")
            (setq Str   (substr Mtext 3 (- (vl-string-search ";" Mtext) 2))
                  Text  (strcat Text (vl-string-translate "#^\\" "/^\\" Str))
                  Mtext (substr Mtext (+ 4 (strlen Str)))))
   (t (setq Text (strcat Text (substr Mtext 1 1)) Mtext (substr Mtext 2)))
   ))
  Text
  )
;|
* Ф-ция str-str-lst
* Сервисная ф-ция извлечения из строки данных, разделенных
* каким либо символом или строкой символов
* Возвращает список строк
* Аргументы [Type]:
  str - строка для разбора [STRING]
  pat - разделитель [STRING]
*  Пример запуска
  (setq str "мы;изучаем;рекурсии" pat ";")
  (setq str "мы — изучаем — рекурсии" pat " — ")
  (str-str-lst str pat)
* Читать подробнее http://www.autocad.ru/cgi-bin/f1/board.cgi?t=25113OT
|;
(defun str-str-lst (str pat / i)
  (cond ((= str "") nil)
        ((setq i (vl-string-search pat str))
         (cons (substr str 1 i)
               (str-str-lst (substr str (+ (strlen pat) 1 i)) pat)
         ) ;_  cons
        )
        (t (list str))
  ) ;_  cond
) ;_  defun
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 14.02.2008 в 19:17. Причина: Без запроса Select object:
VVA вне форума  
 
Непрочитано 14.02.2008, 10:36
#47
Олег К.

Инженер-теплотехник
 
Регистрация: 17.08.2006
Смоленск
Сообщений: 307


На самом деле textcalc может и быстрее работать. В начале выбираем Функция > + > enter и щелкаем подряд на текстах. Есть программа для суммирования, получена урезанием textcalc-v3.2, но там нет размеров и вывода в текст, только в комстроку.

Насчет доработок буду думать.
Выбор поштучно или рамкой. Если использовать ssget, то сразу после запроса "Выберите тексты:" вылазит "Select objects:" и от этого никак не избавиться. Мне такое не нравится. А вот при entsel'e пользователь более-менее точно знает в какой именно текст он ткнул. По некоторым причинам не хочу использовать vla-функции. Подумаю, что-нить изобрету.
Запрос на кол-во цифр после запятой: "Выберите объект для записи значения [Опции] <Назад>: ". В опциях выбор кол-ва цифр, не зашел в опции - по умолчанию =1.

Неплохо бы посмотреть как оформлять готовые программы. VVA или kpblc, ссылку на пример не дадите? Вы вроде собирались эти разделы (программы и функции) к единому виду приводить.

Добавлю. Да, можно сделать выбор объектов оптом. Все хорошо, когда используются операции сложения или умножения. А каким образом при "-" и "/" выбрать из набора из чего вычитается и что делится? По-любому первый элемент вычислений придется выбирать отдельно от последующих. Получается три разных программы надо: общая(???), + и *, - и /.

Последний раз редактировалось Олег К., 14.02.2008 в 14:27. Причина: думал
Олег К. вне форума  
 
Непрочитано 14.02.2008, 19:34
#48
VVA

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


>Олег К. Там в основном говорилось как оформлять готовые ф-ции. Пример- любая ф-ция в разделе "Программирование->Библиотека функций"
В преамбуле при оформлении готовых программ нужнро описать для чего применяется, какие-то нюансы и органисения. (типа округление чисел из переменной LUPREC, угловые размеры не обрабатываются и т.п.). Дать возможный вариант макроса на кнопочку.
Как пример см. здесь
Проблема с запросом "Select objects:" тоже решаема, см. новый вариант кода с #46. Там этого запроса нет. Думаю с тем как это сделано разберешься.
Так что, как говорится, "Даешь много хороших и разных программ"
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 15.02.2008, 20:02
#49
Red Nova

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


VVA Жду вариант с возможностью вписать в текст или размер полученный результат. А в этой программе тоже можно сделать из + скажем * при помощи замены кокой–то строчки? Еще очень хотелось бы возможность поиграть с округлением.

Олег.К Честно говоря умножение или отнятие мне ни разу не приходилось использовать (на случай если с ними не получится). Еще в твоей программе плохо то что на моем компьютере (и дома и на работе) не получается мышкой выбрать подменю, команда норовит закончить вычисление. Приходится Клавой работать.
Red Nova вне форума  
 
Непрочитано 18.02.2008, 09:55
#50
VVA

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


Цитата:
Сообщение от Red Nova Посмотреть сообщение
А в этой программе тоже можно сделать из + скажем * при помощи замены кокой–то строчки?
Так уже раньше где-то показывали. Рецепт не поменялся. Ищем строку
res (+ res (apply '+ (mapcar 'atof str)))) и (apply '+ меняем на (apply '*
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 18.02.2008, 11:20
#51
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


VVA, не могу понять для чего размеры суммировать, и где это может пригодиться
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 18.02.2008, 14:42
#52
VVA

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


> dextron3 Это спрашивай не у меня, а у Red Nova
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 18.02.2008, 15:27
#53
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


Red Nova, поделись где этот лисп суммирование размеров применять будешь,
я реально не могу найти ему применение...

Буду благодарен
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Автор темы   Непрочитано 18.02.2008, 16:03
#54
Red Nova

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


Был у меня тут чертеж, где некоторые размеры переписаны (длинная цепочка), а сверху цепочки надо проставлять общий размер, равный сумме всех переписанных, вот и возникла идея, что если отметить сразу все размеры, суммировать их значения, можно результат вписать в общий размер.
Red Nova вне форума  
 
Непрочитано 18.02.2008, 16:22
#55
VVA

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


Пробуйте. Команды
SumTN - суммирование тестов в новый текст
sumTE - суммирование тестов в существующий текст
mulTN - умножение тестов в новый текст
mulTE - умножение тестов в существующий текст
Команды суммирования/умножения в существующий текст (sumTE, mulTE) могут вставлять полученный результат в текст, размер, атрибут блока, заполненную ячейку таблицы.
Вложения
Тип файла: lsp sumT.LSP (7.8 Кб, 727 просмотров)
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 18.02.2008, 22:21
#56
Red Nova

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


VVA, Попал в точку, то что нужно. Быстро и удобно. Спасибо.
С вопросом разобрались.
Теперь хочу предложить кое что посложнее. Как насчет полноценного калькулятора, способного работать с содержанием мтекста, размеров, длин отрезков, площадей замкнутых линий и штриховок и т.п. (выбор объектов происходит как в лиспе с поста 55)?
Или уж совсем извращенная мысль. Я пользуюсь numlock калькулятором, может есть вариант его заставить видеть объекты AutoCAD-а?
Допускаю что может на этот раз меня занесло, и идеи абсурдные, но было–бы здорово.
Red Nova вне форума  
 
Непрочитано 18.02.2008, 22:33
#57
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,490


Red Nova, у тебя какой версии AutoCAD?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 18.02.2008, 23:25
#58
Red Nova

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


2008, если ты про встроенный калькулятор хочешь сказать, то у него возможности ограниченные.
Red Nova вне форума  
 
Непрочитано 19.02.2008, 09:52
#59
Олег К.

Инженер-теплотехник
 
Регистрация: 17.08.2006
Смоленск
Сообщений: 307


>> VVA Ну и программка! Куда уж мне теперь лезть!
>> Red Nova По #56. Эт конечно интересно когда надо посмотреть разницу реальной длины объекта и того, что на размере указано. Хотя не совсем понимаю зачем, это в свойствах размера посмотреть можно.
Для подсчета длин линий тут программок разных до фига было, ничего изобретать не надо.
Для площадей замкнутых фигур и штриховок есть команда AREA.
В общем, попробуете объяснить зачем это все в одну кучу сгребать. У меня фантазия не развитая.
Олег К. вне форума  
 
Автор темы   Непрочитано 19.02.2008, 10:15
#60
Red Nova

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


Цитата:
Для площадей замкнутых фигур и штриховок есть команда AREA.
Я больше скажу, на этом сайте есть прога Geometrical Properties, с ней еще удобнее.
А смысл в том, чтоб иметь калькулятор, в который можно вместо цифр ввести любое значение меры длины или там еще чего из AutoCAD. Нечто похожее на встроенный калькулятор, но с расширенными возможностями выбора объектов (у встроенного только длина отрезка, угол и координаты). Я часто использую Numlock калькулятор, для спецификаций (с мтекстом правда благодаря Олег К. и VVA разобрались), и других целей, когда в калькулятор вводишь вместо цифр параметры объектов AutoCAD. Разве у вас такого не было?
Вопрос сейчас не в том чтоб узнать конкретный параметр (длина, площадь, сумма мтекстов…), для этой цели инструментов вроде как достаточно, а в том, чтоб значение этого параметра быстро ввести в калькулятор.
Red Nova вне форума  
 
Непрочитано 19.02.2008, 10:38
#61
Олег К.

Инженер-теплотехник
 
Регистрация: 17.08.2006
Смоленск
Сообщений: 307


Что интересно, в панельке свойств объекта около длины, площади и тп есть значок калькулятора, т.е. это значение можно ввести в калькулятор при его вызове. А вот из калькулятора указать нужное значение уже не получается (AutoCAD 2006). Недоработочка, однако.
А вообще, я никогда не пользовался этим калькулятором, еще с 14-го привык вычисления вести в комстроке через функции лиспа.
Олег К. вне форума  
 
Автор темы   Непрочитано 19.02.2008, 14:50
#62
Red Nova

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


Цитата:
Что интересно, в панельке свойств объекта около длины, площади и тп есть значок калькулятора, т.е. это значение можно ввести в калькулятор при его вызове. А вот из калькулятора указать нужное значение уже не получается
Вот и я об этом. А может к встроенному калькулятору можно довеску сделать?
Red Nova вне форума  
 
Непрочитано 19.02.2008, 15:51
#63
VVA

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


Для внешних калькуляторов можно значение посылать в clipboard.
Код:
[Выделить все]
;  ! ***************************************************************************
;; !                           copyToclipboard
;; ! ***************************************************************************
;; ! Function : Copy text to clipboard
;; ! Argument : 'str'     - String
;; ! Returns  : nil
;; ! ****************************************************************************
(defun copyToclipboard ( str / ieobj cbrd)
  (setq ieobj (vlax-get-or-create-object
                      "InternetExplorer.Application"
                      )
             )
 (vlax-invoke ieobj 'navigate2 "about:blank")
 (vlax-invoke
(setq cbrd (vlax-get (vlax-get (vlax-get ieobj 'document) 'parentwindow)
'clipboarddata
))
'setdata
"text"
str
)
(vlax-release-object ieobj)  
)
Использование:
(copyToclipboard "12345")
Ну и соответсвенно в калькуляторе вставить из буфера. Подводные камни могут быть в том, что использует внешнее приложение в качестве разделителя дробной и целой части (. или ,)
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 20.02.2008, 23:04
#64
Red Nova

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


VVA – Как я понял копируется в буфер то что вводишь между кавычками, скажем написал (copyToclipboard "12345"), копируется 12345, если написал (copyToclipboard "gameover"), копируется gameover . Только не понял где это применять? Ведь если вводить что-то в ком строку, но легче это дело сразу в калькулятор ввести. Может я чего не понял?
Меня интересует как ввести в буфер какой–ни–будь параметр объекта AutoCAD. Скажем длину отрезка, или что еще. При этом надо избежать того чтоб сначала эта цифра выходила в ком строке, а-то в таком случае и copy paste сойдет.
Если на счет лиспа я что-то не верно понял прошу уточнить.
Red Nova вне форума  
 
Непрочитано 21.02.2008, 09:33
#65
VVA

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


Ну так это и имелось ввиду. Есть куча лиспов, считывающих длинну, площадь выбранных примитивов. В конец к ним добавляешь copyToclipboard, и полученный результат копируется в буфер
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 21.02.2008, 11:23
#66
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


VVA, вопрос не в тему конечно, есть ли такой лисп который округляет текстовые приметивы: 3.1459873 было, 3.15 стало, выбор рамочкой все числа,
размеры исходных текстовых приметивово остаются теже, меняется только
содержание...

буду благодарен
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 21.02.2008, 12:09
#67
VVA

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


Выбирай
http://www.caduser.ru/forum/index.ph...#message223183
http://dwg.ru/f/showthread.php?t=3114
http://dwg.ru/dnl/28
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 13.05.2011 в 16:27.
VVA вне форума  
 
Непрочитано 21.02.2008, 19:22
#68
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


VVA, спасибо за первую ссылку, там твой лисп TOKR!
(примеч. автора: используется для округления чисел полученных
в НумЛук калькуляторе, так как встроенный округлитель
работает не совсем так как нужно округляет нормально,
но когда большое число разделяет пробелами,
что для автокада не допустимо пример: 123 282 000.00,
потом с этим числом математические операции не возможно произвести)
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Автор темы   Непрочитано 21.02.2008, 19:52
#69
Red Nova

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


Tokr работает только для текса, VVA, может сделаешь вариант для мтекста, а еще лучше скрестить tokr + sumt, так, чтоб если после завершения выделения текстов нажать enter, то разницы никакой от стандартных действий sumt, но если вместо enter зайти в подменю, можно выбрать любое значение округления от 0 до 9. Да и еще, по умолчанию хорошо бы настроить sumt, чтоб он ответ выдавал округленным с одной цифрой после запятой. Смогём?
Red Nova вне форума  
 
Автор темы   Непрочитано 22.02.2008, 14:53
#70
Red Nova

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


Пока VVA думает, у меня еще одна мысль возникла. У меня спецификации “нарисованы”. Часто в спецификациях надо бывает умножить все цифры одного столбца на все цифры второго, и ответ записать в третьем. Можно ли так модифицировать sumt, чтоб когда выбираешь два столбца с мтекстами, то цифры с одинаковой координатой У умножаются друг на друга, потом отмечаешь третий столбец с мтекстами, и результаты умножений вписываются в третий столб, при этом результат вычисления каждой строки вписывается в мтекст на против (у ответов та же координата Y что и у умножаемых цифр).
Red Nova вне форума  
 
Непрочитано 22.02.2008, 16:00
#71
VVA

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


1. По поводу tokr + sumt - думаю
2. По поводу хорошо бы настроить sumt, чтоб он ответ выдавал округленным с одной цифрой после запятой - уже все настроено. Просто мне нравятся 2 цифры.
Кто со мной не согласен, тот в коде из поста #55 ищет строчки, начинающиеся с
(operate_text ... [типа (operate_text '+ t 2) ], так вод 2 - это и есть количество знаков округления.
3. По поводу часто в спецификациях надо бывает умножить все цифры одного столбца на все цифры второго dextron3 такая мысль пришла раньше. Такой лисп есть, причешу - выложу
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 22.02.2008, 17:57
1 | #72
VVA

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


Короче так. Всех защитников - с праздником, полузащитников - с полупраздником, нападающих пропускаем. В честь столь знаменательного события, а так же по причине окончания заседания нашего дружного коллектива, находясь в приподнятом настроении, в здравом уме и твердой памяти выкладываю на растерзание сей опус. Измененные и дополненные команды:
SumTN - суммирование тестов в новый текст
SumTE - суммирование тестов в существующий текст
MulTN - умножение тестов в новый текст
MulTE - умножение тестов в существующий текст
TOKR - округление текста
MulTC - перемножение текстов столбцами
Из всего самой большой модификации подверглась TOKR. Округляет тексты, мтексты. Причем мтексты разбирает по параграфам, округляет, потом обратно собирает, снося при этом форматирование. Если в тексте есть поле, то оно перепишется его округленным значением. Я заложил возможность пропустать тексты с полями (игнорировать их), но пока не активизировал. Для активизации нужно найти в коде сточку
(text-round item okr t) и заменить на (text-round item okr nil)
*** Добавлено
MulTCv2 - перемножение текстов столбцами вариант 2 (одной рамкой)
sumTSet - установки округления и высоты новых текстов
*** Добавлено 03.03.2008
Изменения в сортировке+Beta-версия команды SPEC
*** Добавлено 04.03.2008
Чуть подправленная версия SPEC + GRPSP по ТЗ #110
*** Добавлено 04.03.2008 №2
Ноль в массе всех деталей краснеет
*** Добавлено 04.03.2008 №3
Если в длине последний символ М (русское или английское), регистр значения не имеет, то значение длины умножается на 1000
***Добавлено 05.03.2008
Можно обрабатывать 4 или 5 столбцов в команде SPEC, если текст начинается с цифры, то считается что это лист
Вложения
Тип файла: rar SumT.rar (244.2 Кб, 422 просмотров)
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 05.03.2008 в 16:54. Причина: Изменения
VVA вне форума  
 
Автор темы   Непрочитано 22.02.2008, 20:53
#73
Red Nova

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


Присоединяюсь к поздравлениям. За лисп спасибо, оценил. Вот тока теперь постоянно с начала идет запрос по поводу округления, а я люблю когда попроще. Попробовал пошарить в лиспе, поменял в некоторых строчках значения на 1 (по аналогии с твоим советом), но напортачил и делу не помог.
Прошу выложить версию с прежним параметром округления по умолчанию для всех функций (у тебя ведь 2 было). А вопрос округления оставить только у TOKR (ну там уж точно без этого никак).
По поводу MulTC, тоже оценил, правда ты пошел другим путем, как я понимаю акцент тут стоит не на координате, а на очередности, в результате надо сначала отметить первый столб, потом второй, потом третий, если же акцент стоял на координате, то можно бы было отметить первые два столбца сразу (а может и все 3 сразу, если глубоко подумать). Мелочь конечно и в общем несущественно два действия или три, но как-то всегда думаешь о самом кратком пути.
В остальном все путем. Спасибо за труд.
Red Nova вне форума  
 
Непрочитано 22.02.2008, 22:55
#74
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


VVA, с днем защитника отечества тебя!
Предложения:
1. Не пойму для чего при вставвке текста нужно вводить размер (высоту букв),
почему не берется высота суммирующихся текстов? (или это кому то особо важно)
по аналогии с TextMath калькулятором

2. Последние две команды сверхнеобходимые и нужные, вдвойне спасибо

3. Твои лисп приложения самые рабочие
__________________
инженер проектировшик с опттом программа авто гад образование высшие

Последний раз редактировалось dextron3, 22.02.2008 в 23:13.
dextron3 вне форума  
 
Автор темы   Непрочитано 22.02.2008, 23:20
#75
Red Nova

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


Мне в голову пришла развратная мысль . А как на счет создать лисп для расчета всей спецификации разом. Сказано конечно чересчур глобально, и может показаться на первый взгляд необдуманно, но давайте поподробнее.
Возьмем к дискуссии расчет веса одного лишь элемента, пусть это будит листовая сталь. В строке спецификации данные о элементе записываются так (в отдельных мтекстах).

Марка -5х350
Длина 500
Количество 5
Вес ?
Вес всех ?

Вариант не по госту, но рассмотрим его.
Чему равен вес одной детали
5*350*500*(7.85E-6)=6,9кг
Вес всех деталей
6,9*5=34,3 (если не учесть неокругленный вариант то 34,5, но мы ведь люди точные)

И так задача сводится к тому чтоб взять и помножить из первого текста 5 и 350, помножить их потом на второй текст, ответ вписать в четвертый текст, потом помножить его на количество, и вписать в последний текст, при этом предполагается что тексты веса уже существуют, надо их переписать.
Таким образом надо игнорировать и х из первого текста (не знаю возможно ли это). Прибавлю что x может быть как русской так и английской буквой.
В общем идейка вполне на грани бредового , но если с этой задачей справится, то не далеко и с арматурой и с профилем разобраться.
Red Nova вне форума  
 
Непрочитано 23.02.2008, 07:42
#76
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


Red Nova, лучше бы в ЕКСЕЛЕ все это сделать, но перенос в автокад почемуто не корректен, жду пока толковую программу выпустят для
правильного пренеоса в Екселл, существующие средства автокада не годятся,
не забывай там куча профилей а не только один лист

Сделай пока не придумали как я:

1. Создай спеку для всех толщин
2. Сделай последний дополнительный столбик с массой одного метра погонного или квадратного
3. И потом тупо перемножай, а в лайаутах эти цыфры не показывай как бы отрезай
4. я так для дерева сделал
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Автор темы   Непрочитано 23.02.2008, 10:49
#77
Red Nova

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


dextron3, не очень понял, дай файл посмотреть. А про профили я пока молчу чтоб VVA не очень надоесть, про это я после скажу, тока ты ему пока не говори, секрет.
Red Nova вне форума  
 
Непрочитано 23.02.2008, 15:47
#78
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


тут секрета нет вот скриншот обычные цыфры и математика с ними:
а профили считаю на металлургическом калькуляторе
Миниатюры
Нажмите на изображение для увеличения
Название: Snap1.jpg
Просмотров: 320
Размер:	73.5 Кб
ID:	3675  
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Автор темы   Непрочитано 23.02.2008, 17:10
#79
Red Nova

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


dextron3, Понял, а не пробовал последний столбик в непечатаемый слой кинуть, так и думать как урезать на листе не надо.

Последний раз редактировалось Red Nova, 23.02.2008 в 17:22.
Red Nova вне форума  
 
Непрочитано 23.02.2008, 17:49
#80
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


Red Nova, я в лайаутах черчу поэтому не видно данного столбца
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 25.02.2008, 07:46
#81
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,535
<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,979
<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,143


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,980
Отправить сообщение для 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,980
Отправить сообщение для Red Nova с помощью Skype™


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

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,535
<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,979
<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,980
Отправить сообщение для 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,980
Отправить сообщение для Red Nova с помощью Skype™


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

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


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

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


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

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

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


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

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


VVA, ТЗ составил для основного каталога используемых мною профилей, если кто что хочет добавить, прошу.
Спецификация немного не по госту, но думаю это простительно. (В дальнейшем можем и для других видов спецификаций создать команды подсчета)
После завершения действия команды думаю будит уместно если в случае нераспознавания некоторых строк мтексты в графах масс этих строк станут красными. Таким образом можно будит избежать ошибок. (А еще может вылетать сообщение об ошибке.)
Цвет использован для того чтобы не путать переменные, в настоящих спецификациях цвет не имеет значения.
Надеюсь удастся избежать использования отдельных команд для разных профилей, и программа будет по первому символу мтекста распознавать какое действие тут нужно. (По первому, поскольку дальнейшее содержание не всегда идеально, иногда может быть пропущен или добавлен пробел, или точка, и.т.п.)
Отмечать мтексты для расчета следует как в MulTCv2 , то есть отмечаем разов все строчки, и столбцы от графы "Марка" до графы "Вес всех деталей".
Прилагаю фонты СПДС, без которых нельзя, в них имеются знаки обозначения профилей.
Надеюсь трудностей с исполнением не возникнет, хотя понимаю что труд предстоит значительный и довольно сложный.
Заранее благодарю.
Вложения
Тип файла: rar ТЗ для расчета спецификаций.rar (258.1 Кб, 242 просмотров)
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,143


VVA

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

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

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

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

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

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

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

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

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

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

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,979
<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,143


VVA, спасибо!

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

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

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


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

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


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

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


Пробуй снова
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 27.02.2008, 13:28
#101
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


Цитата:
Сообщение от VVA Посмотреть сообщение
Пробуй снова

спасибо
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Автор темы   Непрочитано 29.02.2008, 19:36
#102
Red Nova

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


Ох не хочется чтобы темка надолго на вторую страницу уходила, уж очень жду лисп от VVA, так что думаю модератор меня простит за это сообщение.
Red Nova вне форума  
 
Непрочитано 03.03.2008, 10:39
#103
VVA

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


Посмотрел не выходных твое ТЗ. Кое-что накропал. Возникло пару вопросов, в основном касающихмя определения массы проката
1.
Для примера возьмем
Уголок равнополочный 100x100x10 по ГОСТ 8509-93
Расчет по твоей формуле

По таблице проката
ТО же для двутавров:
I10 по ГОСТ 8239-89 - 9,46 кг
I10Б1 по ГОСТ 26020-83 - 8,1 кг
2. Когда указано, что профиль состоит из 2-х двутавров (II), швеллеров ([];][), уголков, разве не надо массу умножать на 2?
По п.1 вопросы:
- насколько критична разность в массах для уголков?
- раз уж все равно нужно "прикручивать" сортамент, может взять за основу «Прокат» Василия Кондрата ?
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 03.03.2008 в 16:56.
VVA вне форума  
 
Непрочитано 03.03.2008, 10:49
#104
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


VVA, в этой формуле не учтены скругления полок,
я что то не пойму как выгледеть будет лисп про который идет речь
как он будет функционировать если можно алгоритм написать?

да из программы прокат само то, так как перебивать профиля
из таблиц очень долго,...
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Автор темы   Непрочитано 03.03.2008, 13:25
#105
Red Nova

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


VVA,
1.Согласен, я не учел округления, подумал, что это маловажно, поскольку очень трудно вывести формулу. Влияние округления в для разных размеров разное, ни добавив определенный процент ни добавив определенную массу точно не получается. Можно вложить в память все гостовские массы для уголков (тот же “прокат”), тока это довольно трудоемко, я не хотел тебя очень загружать. Но так конечно же будет безоговорочно точно. Лично я буду только рад.
Для двутавров я формулу не писал, дал перечень из учебника (для двутавров с уклонными полками). Возможно я что-то не правильно дал, так что бери данные из программы “прокат”.
2. Подумал и решил что ты прав на счет сдвоенных профилей. Надо для них массу умножать на 2.
Red Nova вне форума  
 
Непрочитано 03.03.2008, 14:04
#106
Diman111

промышл проектант
 
Регистрация: 26.05.2005
Изовсехщелей
Сообщений: 317


Насчет веса сортамента - ИМХО - логично не изобретать велосипеда и взять за основу базы из «Прокат» Василия Кондрата. Причем Базы 1-1 и из них уже вынимать. Имхо это даст возможность в будущем прицепить любой сортамент в базу спецификации, поскольку «Прокат» довольно популярен и базы под него пополняют многие.
Diman111 вне форума  
 
Непрочитано 03.03.2008, 16:35
#107
VVA

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


Бета-версия SPEC выложена в посте #72 (там еще некоторые шероховатости в сортировке mulTCv2 были устранены)
Пока-что без "прикручивания" сортамента, по ТЗ в #93. Тестовый пример: (недостающие шрифты CS_Gost2304 брать в #93) ниже. Формат 2004
Вложения
Тип файла: dwg
DWG 2004
Тест.dwg (100.1 Кб, 2324 просмотров)
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 03.03.2008, 19:42
#108
Red Nova

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


Высший пилотаж.
Большое спасибо.

Теперь нюансы.
1.С символом диаметр какие-то багги, в одном месте работает, в другом нет. Возможно это связанно с тем что в шрифте есть два знака диаметр, а может еще с чем, чего я не понимаю. Смотри приложенный файл.
2.Фланцы.
Забыл сказать, что после фл. Может также стоять или не стоять знак диаметра, так что на него не обращаем внимания, если он не в начале текста.
3.Трубы.
Тр может быть написано также и английскими буквами (причем как заглавными так и прописными).
4. То что для нераспознанных формул массы краснеют очень удобно, но после внесения корректировки в неверно понятые строки думаю будет уместно если вновь просчитанные массы, которые уже считаются правильно становились цвета by layer. Иными словами после проведения вычислений предлагаю всем правильно просчитанным массам назначить цвет by layer.
5.Думаю ты прав и надо для сдвоенных профилей помножить массу на 2.
6.Я тут подумал, и думаю что для подсчета массы арматуры, для варианта где считаем не по штучно, а для всей длины (сигмаL=***) наверное правильнее в графе “масса одной позиции” вписывать “-“, а массу вписывать только в графу вес всех позиций. Сорри что с начала не сказал.

В остальном пока багов не выявил.
Есть идея добавить вариант программы, когда записываешь массу не в существующий мтекст, а в новый, при этом выходит запрос на указание координат х для граф “масса одной поз” и “масса всех поз”

С нетерпением жду вариант с профилями по госту.
Этот лисп сэкономит кучу моего времени. Хотя почему только моего. Кучу времени многих проектировщиков. Сколько я их знаю, кто работает по схеме рисованные спецификации + калькулятор. Пока внедрил в работу команды выложенные ранее в Sumt, и уже не могу представить свою работу без них, а что дальше будит, когда спецификации на полную заработают, просто блаженство. Как только раньше такого не придумали.
Вложения
Тип файла: dwg
DWG 2004
Спец. - нюансы.dwg (50.4 Кб, 2300 просмотров)
Red Nova вне форума  
 
Автор темы   Непрочитано 04.03.2008, 09:34
#109
Red Nova

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


Цитата:
Есть идея добавить вариант программы, когда записываешь массу не в существующий мтекст, а в новый
Забыл сказать, созданные мтексты должны быть middle centre justified.
Red Nova вне форума  
 
Непрочитано 04.03.2008, 10:19
#110
Diman111

промышл проектант
 
Регистрация: 26.05.2005
Изовсехщелей
Сообщений: 317


Уважаемый VVA нельзя ли пост #72 скорректировать с учетом пожеланий, изложенных в приложенном ТЗ.
Был бы очень благодарен.
Вложения
Тип файла: doc TZ po GOST.doc (60.0 Кб, 175 просмотров)
Diman111 вне форума  
 
Автор темы   Непрочитано 04.03.2008, 10:39
#111
Red Nova

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


VVA, Вот еще прошу такую возможность учесть для всех профилей. (смотри приложенный файл)

По поводу
Цитата:
Уважаемый VVA нельзя ли пост #72 скорректировать с учетом пожеланий, изложенных в приложенном ТЗ.
Был бы очень благодарен.
Принимаю что надо и по госту вариант программы создать, только команда для этого отдельная должна быть. К стати там в графе количество может быть разное количество столбцов, и наверное надо будет отдельно указывать эти столбцы.
Diman111 Ты бы выложил спецификацию со всеми возможными профилями в формате dwg, тогда попонятнее станет как ее "склеить".
Вложения
Тип файла: dwg
DWG 2004
Drawing2.dwg (41.7 Кб, 2297 просмотров)
Red Nova вне форума  
 
Непрочитано 04.03.2008, 10:53
#112
cater


 
Регистрация: 21.08.2003
Сообщений: 40


Ребята, не парьтесь, а поищите в Dwonloads есть прекрасная штука MyCalculator называется суммирует не только Мтекст и однострочный, но и размеры. Кстати, огроменное спасибо автору этой штукенции!
cater вне форума  
 
Автор темы   Непрочитано 04.03.2008, 10:59
#113
Red Nova

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


cater, Слегка припозднился, мы как–бы уже о другом.
Red Nova вне форума  
 
Непрочитано 04.03.2008, 11:53
#114
VVA

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


Выложил в #72 обновленную версию. В команде SPEC учтены "нюансы" из #108 + новая команда GRPSP (по ТЗ #110).
>Red Nova #108
>1,2,3 По поводу включения в обработку неких своих символов, инструкцию выложу, когда будет решен вопрос с профилями. Для умешьшеня вариантов анализа,строка приводится к верхнему регисту.
>1 До этоко арматура определялась по наличию знака диаметра %%C, в примере #108 знак диаметра вставлен как UNIKOD \U+E712. Добавил, инструкция будет позже
>2 См. 3выше. Теперь знак диаметра удаляется из середины текста
>3 см. выше Добавил не только TP английские, но и T анлийское Р-русское и наборот, Т-русское Р-английское
>4 сделал
>5 Будет учтено с профилями
>6Сделал
>Diman111 #110
Пробуй команду GRPSP
Для подсчета нужно выбирать столбцы количество+ масса. Массой считается последний столбец. Тескт дописывается ниже самого нижнего текста.Для анализа величины смещения берется:
- Если строк больше 1, то разность по Y 2 самых нижних текстов 1-го
столбца .
- Если одна строка, то, двойная высота текста 1-го столбца .
>Red Nova #111 Файл просмотрел, какую возможность нужно учесть, так и не понял
Кстати, объявляется конкурс на название команд GRPSP и SPEC. У меня творческий кризис. . Победителю разрешено будет 2 раза скачать код.
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 04.03.2008 в 12:05.
VVA вне форума  
 
Непрочитано 04.03.2008, 11:58
#115
Diman111

промышл проектант
 
Регистрация: 26.05.2005
Изовсехщелей
Сообщений: 317


Цитата:
Сообщение от Red Nova Посмотреть сообщение
Принимаю что надо и по госту вариант программы создать, только команда для этого отдельная должна быть.
Это логично
Цитата:
Сообщение от Red Nova Посмотреть сообщение
К стати там в графе количество может быть разное количество столбцов, и наверное надо будет отдельно указывать эти столбцы.
Количество столбцов может быть любым и я это описал. принцип подсчета их количества - это кол-во столбцов минус 1, т.к. последний всегда масса.
В общем технология ввода кол-ва столбцов - автоматическим вычислением или запрос у пользователя - это оставлю на усмотрение автора lispa - УВАЖАЕМОГО VVA
Diman111 вне форума  
 
Автор темы   Непрочитано 04.03.2008, 12:28
#116
Red Nova

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


VVA,
Цитата:
>Red Nova #111 Файл просмотрел, какую возможность нужно учесть, так и не понял
1.Я имел в виду чтобы была возможность считать общую массу профиля, когда дается только общая длина, а количество считается 1, это тот же вариант, как и для арматуры (где вместо количества "-" а в графе длина пишется “сигмаL=***”).
2.Еще, только что понял, что сигмаL=20м надо принять равным сигмаL=20000, а-то бывает по разному. (м может быть в разных кодировках)

Последний раз редактировалось Red Nova, 04.03.2008 в 12:33.
Red Nova вне форума  
 
Автор темы   Непрочитано 04.03.2008, 12:43
#117
Red Nova

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


К стати в файле с поста 111 сумма не краснеет а пишет ноль, как я понял это связанно с тем, что в граве количество “–“, а может еще с чем. В результате не замечаешь что ошибка прошла.
Red Nova вне форума  
 
Автор темы   Непрочитано 04.03.2008, 12:53
#118
Red Nova

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


VVA, Протестировал изменения, вроде как багов нет, только надо учесть заметки на постах 116 и 117.
А как на счет?

Цитата:
Есть идея добавить вариант программы, когда записываешь массу не в существующий мтекст, а в новый

Забыл сказать, созданные мтексты должны быть middle centre justified.
Red Nova вне форума  
 
Непрочитано 04.03.2008, 13:02
#119
Diman111

промышл проектант
 
Регистрация: 26.05.2005
Изовсехщелей
Сообщений: 317


VVA, Спасибо - все работает
Diman111 вне форума  
 
Непрочитано 04.03.2008, 13:34
#120
VVA

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


Обновил еще раз код в #72. Кое-какие очепятки в SPEC.
Цитата:
Еще, только что понял, что сигмаL=20м надо принять равным сигмаL=20000, а-то бывает по разному
Да, длинны должны быть в мм. Может позже и введется переводной коэффициент, но в любом случае микс из м и мм не допускается.
Цитата:
Я имел в виду чтобы была возможность считать общую массу профиля, когда дается только общая длина
Добавил для уголков
Цитата:
Есть идея добавить вариант программы, когда записываешь массу не в существующий мтекст, а в новый

Забыл сказать, созданные мтексты должны быть middle centre justified.
Не понятно пока как высчитывать точку вставки нового текста
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 04.03.2008, 14:32
#121
Red Nova

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


VVA, На счет точки вставки. Координата у берется как у остальной строчки конкретной позиции, а координата х указывается сначала для первого столбца, затем для второго.
То есть после указывания рамкой исходных данных в ком. строке пишется “укажите координату х для масс одной позиции”, мышкой указываем точку на чертеже, с этой точки берется координата х, затем в ком. строке пишется “ укажите координату х для масс всех позиций”. Все.
Red Nova вне форума  
 
Автор темы   Непрочитано 04.03.2008, 14:55
#122
Red Nova

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


Пересчитывал свои спецификации новым лиспом, вот что обнаружил. Есть строчка в которой изначально заданы неверные данные, программа пытается ее посчитать, и в графу массы вписывает 0, при этом графа не краснеет. Предлагаю сделать так, чтобы, если в результате вычислений получалось ноль, то этот ноль краснел.
Вложения
Тип файла: dwg
DWG 2004
Drawing4.dwg (41.1 Кб, 2519 просмотров)
Red Nova вне форума  
 
Непрочитано 04.03.2008, 15:40
#123
VVA

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


Теперь 0 в графе массы очень стыдно, и он краснеет
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 04.03.2008, 16:11
#124
Red Nova

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


Неа, не краснеет, то есть не во всех случаях. Смотри файл. Слушай а это трудно сделать чтобы когда после цифры стоит буква м, то воспринять ее как 000, если не очень сложно, добавь пожалуйста такую возможность.
Вложения
Тип файла: dwg
DWG 2004
Drawing5.dwg (43.1 Кб, 2522 просмотров)
Red Nova вне форума  
 
Непрочитано 04.03.2008, 16:31
#125
VVA

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


Он краснеет, когда была ошибка, в твоем случае поставь округление до 2 знаков и увидишь число, отличное от 0. Добавил аланиз метров, но только там, где может быть суммарная длина (арматура, уголки)
Пробуй снова с #72
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 04.03.2008, 19:39
#126
Red Nova

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


Спасибо, теперь все то. Если будешь писать вариант с возможностью записи результатов в новые мтексты, то прошу учесть следующее.
Думаю отдельную команду создавать не стоит, можно в spec добавить следующую возможность. Если после вызова команды выбрать 5 столбцов, то работает первый вариант, а если выбрать 3 столбца, то создаются новые мтексты.
Теперь остаются только профили.
Red Nova вне форума  
 
Непрочитано 05.03.2008, 12:06
#127
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


VVA, не могу понять почему так происходит?
скриншот и файл прилагается
Миниатюры
Нажмите на изображение для увеличения
Название: Snap2.jpg
Просмотров: 213
Размер:	57.3 Кб
ID:	4014  
Вложения
Тип файла: rar КЖ БЛОК А.rar (232.4 Кб, 142 просмотров)
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Автор темы   Непрочитано 05.03.2008, 15:00
#128
Red Nova

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


dextron3Ты какой командой пробовал? SPEC?
SPEC разработан для пяти столбцов. Смотри к примеру чертеж с поста 122. Для гостовского же варианте VVA разработал GRPSR, (к стати предлагаю VVA переименовать ее в GSPEC). С GRPSR я пока не работал, сегодня попытался на твой файл применить, почему-то появляются новые мтексты ниже рассчитываемой строки.
Но в любом случае при расчете масс листа символ “-” перед размерами должен быть не нарисован а вписан в текст.
У нас в конторе спецификации не по госту, но как вижу у вас гост. Предлагаю выложить вариант такой спецификации для всех случаев. Там ведь не только лист, но и профили. На основе этого экземпляра можно разработать расширенную версию GRPSR. (Я такой спецификации выложить не могу, так как по госту ни разу не делал)

VVA В этой связи предлагаю внести некоторые корректировки в GRPSR и SPEC
1. Переименовать GRPSR на GSPEC.
2. Уточнить действия программы для случая когда в наличии только четыре столбца, причем в первом столбце заданы сразу все размеры плитки (типа 500х450х10).
3. Предлагаю как в GSPEC, так и в GRPSR внести возможность распознать строку для расчета массы листа и без символа “-”. То есть если строка начата сразу с цифр, то она подпадает под формулу для плитки (в GRPSR -500х450х10 равно 500х450х10, в SPEC -500х450 равно 500х450).

Последний раз редактировалось Red Nova, 05.03.2008 в 15:28.
Red Nova вне форума  
 
Непрочитано 05.03.2008, 16:41
#129
tuguz


 
Регистрация: 04.12.2007
Сообщений: 31


я всю тему не читал, но ты знаешь про лисп "mycalc", он сумирует и текст и мтекст, и размерные линии....и вставляет новым новым мтекстом
tuguz вне форума  
 
Непрочитано 05.03.2008, 17:02
#130
VVA

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


> dextron3 Red Nova уже ответил.
Цитата:
С GRPSR я пока не работал, сегодня попытался на твой файл применить, почему-то появляются новые мтексты ниже рассчитываемой строки.
Во первых GRPSP - что-то типа групповая спецификация (можно и GSPEC). Тексты добавляются вниз не почему-то, а потому что так было задумано. см ТЗ пост #110
Обработку 4 или 5 столбцов добавил в SPEC, если текст начинается с цифры, то считается листом. Обновления выложил в #72. Сразу скажу, что рисованные уголки и другие профиля распознавать не буду.
В любом случае при расчете масс проката символ проката (уголок, швелер, двутавр, арматура) перед размерами должен быть не нарисован а вписан в текст. Пользуйтесь соответствующими шрифтами.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 05.03.2008, 17:05
#131
VVA

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


> tuguz Лисп из #72 может суммировать или перемножать текст, мтекст, размеры, округлять результат до нужной величины и вставлять полученное значение в новый текст или в существующий текст, мтекст, размер, атрибут блока, ячейку таблицы.
*** Добавлено
А тему прочитать уже сложно, за сотню постов уже накропали
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 05.03.2008, 17:06
#132
Red Nova

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


Да, название то у топика осталось с прежних времен, а сейчас в этом смысле все тип топ.
tuguz, Посмотри лисп с поста 72, там шедевр от VVA, этот лисп еще много чего умеет делать чего mycalc не может, суммировать, умножать тексты и размеры, перемножать столбцы текстов друг на друга, задавать нужное округление и даже спецификации считать. А mycalc на 2008-ом не работает (по крайней мере у меня)
Red Nova вне форума  
 
Автор темы   Непрочитано 05.03.2008, 17:07
#133
Red Nova

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


VVA, Ты меня все же опередил на пол минуты.
Red Nova вне форума  
 
Непрочитано 05.03.2008, 20:01
#134
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


VVA, Red Nova, оказывается я использовал старую версию,
( lisp уже стал как роман "Война и мир", имеется ввиду размер =)))
обидело тем что я не использую м-тексты, а обычные не считает...
Из моих спецификаций считает только пластины.

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

То что специализированные шрифты использует это не
очень хорошо, в некоторых сельских конторах не хватает
ума объяснить, админ на диск с доступ закрывает

Если есть возможность немного облегчить спецификацию:

1. Для точго чтобы не учитывать картинки, которые заменяются
специализированным шрифтом, я предлагаю в последней графе спецификации писать обычное название металлапроката,
по которому программа и поределит из какого сортамента какую
величину брать, в крайнем случае если такое конечно возможно
то брать из ГОСТА и определять марку металлопроката в
графе обозначение

2. (м.п.) , означает что в графе масса ед.цы, автоматом вставляется
масса 1погонного метра изделия

3. В данную спецификацию добавил частоиспользуемые
двутавры, а также профлист, и болты гайки шайбы.


4. Если потребуется какой-то сортамент для базы могу выслать
готовые калькуляторе (смотря в каком виде потребуется),
опять же можно позаимстовать у Веткада, или у Прокат.

5. Скриншот используемой спецификации с обычными текстами,
собрал самые распространенные металлопрокаты =)

6. В электронном виде в РАРе тоже самое что на скриншоте (для испытаний)

7. Получилось 6 столбцов, по другому не смог облегчить, длину вынес в отдельный столбец это
особо важная графа


Буду ждать замечаний...
Миниатюры
Нажмите на изображение для увеличения
Название: Snap1.jpg
Просмотров: 178
Размер:	69.5 Кб
ID:	4032  
Вложения
Тип файла: rar КЖ БЛОК А.rar (150.3 Кб, 135 просмотров)
__________________
инженер проектировшик с опттом программа авто гад образование высшие

Последний раз редактировалось dextron3, 05.03.2008 в 20:18.
dextron3 вне форума  
 
Автор темы   Непрочитано 05.03.2008, 22:30
#135
Red Nova

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


Кто-нидь может по госту спецификации выложить, а то и ты dextron3, м я похоже не очень по госту работаем. Ведь в последней графе по закону не пишется нечего такого.
Diman111, частично выложил пример по госту, но не до конца инфу дал. Придется самому покопаться.
Очень советую использовать шрифт СПДС, я загнал символы профилей в Simbols мтекст редактора, офигенно удобно. В моей канторе такого типа вопросы я решаю, какой софт юзать и какие шрифты, в этом смысле мне повезло, но думаю если очень захотеть любого можно уломать.

По пунктам.
1. Честно говоря мне не очень нравится идея, я все думаю к госту приблизится, и тебе советую, а это получается еще один “левый” вариант, хотя у меня самого тоже вариант “левый”, и не хочу чтобы создалось впечатление что для себя я этот вопрос решил, а твой вариант подвергаю критике. Предлагаю, SPEC так не меняем, если очень хочешь именно такой вариант, то может новую команду для этого сделать ?(спрашиваем у VVA). Придумай для нее название, у VVA творческий кризис. (пока условно назовем ее SPEC2)
2. Про погонные метры учесть надо, я и сам над этим думал. Если во второй графе написано (п.м) либо (м.п), либо п.м либо м.п, (для людей рассеянных все варианты), то умножаем цифру в графе количество на вес одного метра, и записываем в графу масса всего, в графе масса одной детали проставляем знак “-”.
3. Поясни что такое “часто используемые двутавры”, про болты – добавить можно. Для SPEC предлагаю в первом тексте обозначить это дело как “болт М12”, ни естественно М тут переменная. Во второй графе длина болта. К стати их как правильно считать? Может по тому же принципу что и арматуру? Для SPEC2, так как ты и предложил, болт в конце.
Еще интересен вариант для проф. листа, но честно говоря для проф. листа я считаю только площадь а не массу. Учесть массу будет трудно, хотя возможно, если все варианты с программу внести, но первым делом конечно же надо внести массы для профилей уголок, швеллер, кв. труба и двутавр, без них туго.

ГОСТ
Предлагаю осмыслить постановку задачи по госту, так как конечно–же хорошо иметь программу которая налажена под собственный стиль работы, но гост он везде пройдет, и программа станет действительно универсальной.
Далее следуют размышления а не предложения по конкретной программе, так как вариант спецификаций по госту я не на все 100 знаю.

По госту есть “СПЕЦИФИКАЦИЯ” и “ГРУППОВАЯ СПЕЦИФИКАЦИЯ” Этот гост (ГОСТ 21.101-97) скачать можно тут http://www.rmnt.ru/download.php?id=13.26.19259
“ГРУППОВАЯ СПЕЦИФИКАЦИЯ” – это то что выкладывал Diman111[/b],
“СПЕЦИФИКАЦИЯ” – Это тоже, когда в графе количество только один столбец.
В столбце наименование тут пишется полное название и длина профиля (смотри ТЗ с поста 110). Именно тут Ане в последнем столбце пишется швеллер, уголок и т.п.
Причем для швеллеров и двутавтов пишется так:

Швеллер 12В, L=***
Швеллер 12Y, L=***
Швеллер 12C, L=***
Швеллер 12Э, L=***

На счет В, У, С, Э не уверен на 100 процентов что именно так, но скорее всего, поскольку сортаментов на швеллеры несколько: Швеллер-B, Швеллер с уклонными полками, Швеллер с параллельными полками и Швеллер экономичный с параллельными полками.
Представляю каких трудов будит стоить все это (а это даже не все) внести в программу. Думаю можно ограничится наиболее часто используемыми, я например в основном использую Швеллер с уклонными полками (У).
VVA, Что ты думаешь на этот счет?

P,S.
- Люди работающие по госту, прошу просветить в нюансы обозначения наименования разных профилей по госту.
- Да, и объясните пожалуйста куда вписывается масса всех деталей? А то по госту там такой графы нету?
Red Nova вне форума  
 
Автор темы   Непрочитано 05.03.2008, 23:05
#136
Red Nova

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


Опять про ГОСТ
VVA Как на счет варианта, чтобы ты создал один экземпляр для каждого профиля который принципом просчета отличается. Затем можно объяснить принцип добавления новых профилей, и все желающие тогда смогут добавлять профили? По-моему похожая идея уже была предложена тобой. Если одобряешь, то буду дальше мысль развивать, на счет того какие именно “принципиальные варианты” надо разработать.
Red Nova вне форума  
 
Непрочитано 06.03.2008, 02:40
#137
wetr

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


Что-то притомили вы VVA, помойму
Вы идеи выплевываете быстрее чем их мона переварить
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 06.03.2008, 06:25
#138
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


Red Nova, согласен про последнюю графу,
ведь хотелось какойто поределитель для таблиц,

Давай по Циферии ГОСТА будет определятся металлопрокат
это самое удобное, а те значки которые я рисую из линии
просто не учитывать, а читать только текст

Если потребуется могу выдать госты
И для двутавров нужно после марки обратить внимание на букву
Б1, Б2, это тоже различие

А так моя таблица как раз по госту
А если лиспу без разницы размеры тыблицы он ведь считает
по столюцам то особой разницы для регионов нет
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 06.03.2008, 11:04
#139
Павлов Андрей

Инженер-строитель
 
Регистрация: 27.05.2004
Республика Беларусь
Сообщений: 67


Здравствуйте .
У меня почему-то Lisp из поста 72# не считает швеллера и двутавры даже в Test Spec.dwg .
У кого-нибудь это было ?
__________________
Andrey
Павлов Андрей вне форума  
 
Автор темы   Непрочитано 06.03.2008, 11:13
#140
Red Nova

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


wetr, dextron3, Наверное wetr прав, надо нам притормозить, и дать VVA сосредоточиться.
Павлов Андрей, Наверное VVA обновил, подождем его комментариев
Red Nova вне форума  
 
Непрочитано 06.03.2008, 12:17
#141
VVA

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


Цитата:
Что-то притомили вы VVA, помойму
Вы идеи выплевываете быстрее чем их мона переварить
Есть такое
> Павлов Андрей. Швеллера и двутавры не считает, т.к. не "прикручена" база проката. Не откуда брать вес погонного метра.
> ALL
Пошел в нормоконтроль, взял действующие у нас ГОСТы. Так вот, согласно ГОСТ 27772-88 "Прокат для строительных стальных конструкций" ПРИЛОЖЕНИЕ 2 Схемы и примеры условных обозначений, прокат пишется в графе наименование буквами - Уголок, Двутавр и т.д., далее текст в 2 строки.
Это я к тому, что надо решить, что есть спецификация по ГОСТ, прежде чем предлагать какие-то решения.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 06.03.2008, 13:16
#142
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


VVA, а почему не сделать общие обозначения, как дополнения к таблице тоесть потом в лайаутах отрезать, а кто как обозначает это их дело, тоесть к таблице будет прилагаться еще строка с названием металло проката, мне без разницы как его назовешь так как это отрезается при распечатке

1. VVA, база проката как должна выглядеть, хотелось бы не
переписывать из сортамента а использовать уже забитые из других источников

2. На скриншоте вспомогательная графа...
(программа как бы находила определенное сочетание букв в графах и соответсвенно применяла для этого
значение из текстовых забитых масс)

Тогда алгоритм будет безошибочно:
1. Если в строке найдено Ugl, то иди к базе Уголков, или считай по формуле той то

Уголок или на англ Ugl
Швеллер.... Shvel

и тп.


3. Red Nova, а тебе мой вариант спецификации не понравился чтоли? Вроде учел все профиля
Миниатюры
Нажмите на изображение для увеличения
Название: Snap1.jpg
Просмотров: 268
Размер:	72.0 Кб
ID:	4061  
__________________
инженер проектировшик с опттом программа авто гад образование высшие

Последний раз редактировалось dextron3, 06.03.2008 в 13:23.
dextron3 вне форума  
 
Автор темы   Непрочитано 06.03.2008, 18:41
#143
Red Nova

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


VVA,
Цитата:
Цитата:
Что-то притомили вы VVA, помойму
Вы идеи выплевываете быстрее чем их мона переварить
Есть такое
Обещаю следующее предложение по модификации дать после того как ты прицепишь к существующему SPEC профили, это вроде как у тебя первое на очереди, потом уже продолжим дебаты по поводу госта. Жду смиренно.
Хорошо что ты спросил у нормаконтроля, а-то у меня такой возможности нет. Появилась надежда в будущем действительно прийти к госту.
Цитата:
Это я к тому, что надо решить, что есть спецификация по ГОСТ, прежде чем предлагать какие-то решения.
Вот, вот, и я о том же, вот что я откопал (смотри приложенный файл).

dextron3, Поясню что в твоей версии не то.
Как сказал VVA по госту название профиля пишется буквами в строке наименование, и думаю в дальнейшем алгоритм будит различать именно это слово, которое в самом начале, таким образом пропадает нужда писать наименования в конце, а если очень надо именно показать символ швеллер, а не писать его буквами, то тут уж СПДС шрифты рулят. А против твоего варианта я нечего не имею, просто лично для меня он смысла не имеет, так как шрифт СПДП под рукой. А за учтенные профили которых у меня не было, спасибо, над этим можно подумать, думаю дойдем и до этого.
Вложения
Тип файла: doc ГОСТ 21.101—97–(вырезка).doc (75.5 Кб, 301 просмотров)

Последний раз редактировалось Red Nova, 06.03.2008 в 18:43. Причина: забыл кое-че
Red Nova вне форума  
 
Непрочитано 06.03.2008, 21:17
#144
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


Red Nova, давай универсальную как VVA выложил в файле ТЕСТ,
аналогична моей....
Про обозначение и нечитабельность шрифтов я писал выше
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 06.03.2008, 21:28
#145
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


VVA, а у Вас есть СПДС (надстройка для автокада) ?
__________________
инженер проектировшик с опттом программа авто гад образование высшие

Последний раз редактировалось dextron3, 06.03.2008 в 23:15.
dextron3 вне форума  
 
Автор темы   Непрочитано 06.03.2008, 21:28
#146
Red Nova

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


dextron3, Не очень понял, поясни пожалуйста что ты имеешь в виду. В тест таблце все с СПДС шрифтом.
Red Nova вне форума  
 
Непрочитано 06.03.2008, 23:13
#147
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


Red Nova, я имел ввиду про саму форму таблицы, основную...
всмысле линии и столбики
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Автор темы   Непрочитано 07.03.2008, 09:22
#148
Red Nova

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


dextron3, Этим в дальнейшем займемся, только сначала VVAзакончит первый вариант SPEC, а то нас много а он один.
Red Nova вне форума  
 
Непрочитано 11.03.2008, 13:26
#149
Diman111

промышл проектант
 
Регистрация: 26.05.2005
Изовсехщелей
Сообщений: 317


Хотелось бы внести свою ремарку в разбор полетов по поводу госта на оформление спецификаций.
ГОСТ 27772-88 "Прокат для строительных стальных конструкций" ПРИЛОЖЕНИЕ 2 Схемы и примеры условных обозначений - это гост не на оформление спецификации. Это гост на марки стали. Насчет того откуда брать наименование проката - замечу, что в спецификации присутствует графа обозначение, в которой пишется гост. По этому госту мы узнаем и прокат. Далее - насчет тонкостей проката - с уклоном, с паралельными гранями или колонный или балочный - то по госту на конкретный прокат мы должны писать буковку У П К Б ..... -
пример:
Код:
[Выделить все]
  
обозначение                наименование           кол-во  масса 
СТО АСЧМ 20-93        Двутавр 25К2, l=3000       5          100
Разбираемся - что имеем:


обозначение СТО АСЧМ 20-93 - дает нам базу
Слово 25К2 - нам дают конкретный прокат.

Если в строке с номером и наименованием проката стоит буква l или L - то строка кол-ва говорит нам о том, что надо для получения веса перемножить цифру после знака = на вес проката из базы.
Если нет буквы l или L то надо погонный вес из базы просто вписать в столбец масса.

Кстати насчет листовой стали - у нее тоже есть свой гост, который вы обязаны вписывать )
а то тут все спецификации почему то с пустой графой обозначение.

Повторюсь. В качестве готовых баз - предлагаю базы прокат василия.
Либо простой список вида
файл: сто асчм 20-93 (или просто 20-93) - это имя базы
внутри список вида
[к]
....
25К2=100
25К3=120
....
[Б]
...
20Б1=80
20Б2=90
....
и т.д.

Последний раз редактировалось Diman111, 11.03.2008 в 13:39.
Diman111 вне форума  
 
Непрочитано 11.03.2008, 14:11
#150
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


Вот я госты выписал может кому пригодятся
Миниатюры
Нажмите на изображение для увеличения
Название: Snap1.jpg
Просмотров: 207
Размер:	80.9 Кб
ID:	4180  
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 11.03.2008, 14:14
#151
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


Кстати профиля гнутые, а также трубы можно считать по формуле, так же как и пластины, тоесть база не нужна
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 11.03.2008, 15:44
#152
Diman111

промышл проектант
 
Регистрация: 26.05.2005
Изовсехщелей
Сообщений: 317


Цитата:
Сообщение от dextron3 Посмотреть сообщение
Вот я госты выписал может кому пригодятся
На лист есть еще 2 госта - вернее они на полосовую сталь.
82-70 и 103-76
Diman111 вне форума  
 
Непрочитано 11.03.2008, 16:44
#153
VVA

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


Цитата:
Хотелось бы внести свою ремарку в разбор полетов по поводу госта на оформление спецификаций.
ГОСТ 27772-88 "Прокат для строительных стальных конструкций" ПРИЛОЖЕНИЕ 2 Схемы и примеры условных обозначений - это гост не на оформление спецификации
Именно на нее. По порядку
ГОСТ 2.106-96 п.3.17 Цитата, выделено мною
Цитата:
- в графе "Обозначение" указывают:
...
В разделах "Стандартные изделия", "Прочие изделия" и "Материалы" графу "Обозначение" не заполняют. Если для изготовления стандартного изделия выпущена конструкторская документация, в графе "Обозначение" указывают обозначение выпущенного основного контсрукторского документа.
- в графе "Наименование" указывают:
...
в разделе "Стандартные изделия" - наименование и обозначение изделий в соответсвии со стандартами на эти изделия
Берем к примеру ГОСТ 27772-88 "Прокат для строительных стальных конструкций" ПРИЛОЖЕНИЕ 2 Схемы и примеры условных обозначений (стандарт на изделие)

В приложении 2 видим пример условного обозначения

,

которое согласно п.3.17 ГОСТ 2.106-96 для "Стандартных изделий" нужно писать в графу "Наименование"
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 11.03.2008, 17:36
#154
Red Nova

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


VVA[quote]Пост 153QUOTE]
Похоже, что действительно так, и в СПДС и в VetCAD то же.
А как на счет добавить профили в SPEC так как в начале обговаривали (хоть и не по госту, но очень хочится этот простятский вариант). Надежда есть?

Diman111,
Цитата:
обозначение наименование кол-во масса
СТО АСЧМ 20-93 Двутавр 25К2, l=3000 5 100
Очень бы хотелоь чтобы это было разрешено по госту, ты можешь найти ссылку на соответствующую документацию?

Последний раз редактировалось Red Nova, 11.03.2008 в 17:51.
Red Nova вне форума  
 
Непрочитано 11.03.2008, 18:02
#155
VVA

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


В общем и целом надежда есть. Базу "Проката Василия Кондрата" в том виде, в котором она есть использовать нельзя. Обозначения марок (например для уголка записано как 55 x 55 x 3) записано с пробелами. Поэтому написал конвертер и сконвертировал в формат, удобный мне.
Там есть одна закавыка, которую пока не знаю как разрешить.
Касается гнутых швеллеров
Швеллеры гнутые по ГОСТ 8278-83 обыч. сталь: 120x80x4 - вес 9.49
Швеллеры гнутые по ГОСТ 8278-83 кач. сталь : 120x80x4 - вес 8.22
возникает вопрос
1. Как узнать, какая сталь
2. Вообше, что делать, когда в базе будет обнаружено 2 марки одного вида проката (например 2 описания двутавра 20Б1) с разными массами?
Базу, в том виде, в котором она пока существует, прикрепляю ввиде файла. Несмотря на то, что он имеет расширение lsp, содержание у него вполне текстовое
***Добавлено
Это текстовый файл, просто открыть в блокноте
Вложения
Тип файла: lsp prokat.lsp (27.0 Кб, 144 просмотров)
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 11.03.2008 в 19:07.
VVA вне форума  
 
Непрочитано 11.03.2008, 18:15
#156
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


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

Предложенные варианты: мной, Red Nova, Diman111,
очень схожи, странно что только 3 человека заинтересовались,
этой лучшей и полезнейшей разработкой во всем форуме...

Вот если бы лет пять назад ктонибудь такое разработал
я бы где-то полгода жизни съэкономил...
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 11.03.2008, 18:18
#157
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


VVA, почему не сделать определение по марки стали С235, С245, С255 и т.п. у меня в столбце после ГОСТА указывается
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 11.03.2008, 18:20
#158
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


Из поста #155
Command:
Command: (LOAD "C:/Documents and Settings/Admin/Рабочий стол/prokat.lsp") ;
error: bad function: "12Б1"

Command:
Command:
Command: _appload prokat.lsp successfully loaded.


Command: ; error: bad function: "12Б1"
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 11.03.2008, 19:05
#159
VVA

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


>dextron3
Цитата:
Базу, в том виде, в котором она пока существует, прикрепляю ввиде файла. Несмотря на то, что он имеет расширение lsp, содержание у него вполне текстовое
Просто открой в блокноте Это не лисп. Просто txt файл нельзя прикрепить
Цитата:
VVA, слишком сложно еще и дробные числа рисовать, я редко встречаю такие обозначения, очень не удобно, хочется чегото простого
Есть такое понятие как ГОСТ, и такая должность, как нормоконтроль. Так вот, если положено рисовать 2-х или 3-х этажные надписи, то надо их и рисовать. У нас, например, с этим строго, не пропустят.
*** Добавлено
Спецификации на КЖ и КМ разные, тут возможны нюансы
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 11.03.2008, 19:28
#160
Diman111

промышл проектант
 
Регистрация: 26.05.2005
Изовсехщелей
Сообщений: 317


Есть ГОСТ 21,101-97 есть 21,501-93.

касаемо записи по ГОСТ 27772-88 - то я имею полное право в чертежах КМ писать марку стали в примечаниях.
Есть ведомость металлоконструкций а есть спецификация элементов. Мне кажется тут эти понятия попутались.
По гост 21,101-97 прил Ж даны примеры спецификаций элементов, которые я указал в своем ТЗ и расчет по котоых реализовал Уважаемый VVA. Я лишь немного изменил групповую спецификацию под стандарт используемый на нашем предприятии.
Также есть небезызвестное СПДС граф в котором реализовано заполнение спецификации по принципам, указаным мною. также в его состав входит справка по станфартам оформления - рекомендую ознакомиться.
Необходимо определиться что именно мы тут пытаемся автоматизировать? Ведомость или спецификации для КМ или КМД.
проще всего реализовать предлагаемое мною решение по спецификации, согласно приложению Ж.
в этом случае мы имеем вместо 2-х этажной записи из поста № 153
запись вида
Код:
[Выделить все]
обозначение                наименование           кол-во  масса

ГОСТ 8509-86            Уголок 75х75х6               ххх      ххх

Марку стали пишем в примечаниях чертежа. Собсно вес мы берем из сортамента а там он один на все марки стали - так что не вижу смысла тут в принципе затрагивать ГОСТ 27772-88.
поскольку его круг действий ограничивается:
Код:
[Выделить все]
2. ТЕХНИЧЕСКИЕ ТРЕБОВАНИЯ

 

2.1. Прокат изготовляют в соответствии с требованиями настоящего стандарта по технологическому регламенту, утвержденному в установленном порядке.
и нет ни слова об оформление ПСД по этому стандарту.

Между тем по ГОСТ 21.101—93

Код:
[Выделить все]
1 Область применения 

Настоящий стандарт устанавливает основные требования к проектной и рабочей документации на строитель¬ство предприятий, зданий и сооружений различного назначения.

Общие правила выполнения графической и текстовой документации, установленные в разделе 5 настоящего стандарта, распространяются также на отчетную техническую документацию по инженерным изысканиям для строительства.
Diman111 вне форума  
 
Автор темы   Непрочитано 11.03.2008, 22:14
#161
Red Nova

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


VVA,
Цитата:
1. Как узнать, какая сталь
Вообще-то в первоначально поставленном вопросе, когда еще гост не затрагивали слов о гнутых профилях не было. В ТЗ были горячекатаные уголки, трубы, прямоугольные трубы, швеллеры с уклонными полками и двутавры с уклонными полками. Я это не к тому, что так и надо, а к тому что в большинстве случаев в моих проектах этим можно обойтись. По этому поводу прошу если не очень затруднит сделать для начала упрощенный вариант spec с вышеперечисленными профилями. Этого мне хватит для моей нынешней работы, и я буду очень благодарен. Другой вопрос, что этого естественно недостаточно, чтобы программа стала действительно общеприемлемой. Тут конечно надо думать и о гнутых профилях. И тут ответ на вопрос “как узнать какая сталь” должен прийти после того как мы решим как именно будит выглядеть спецификация (там ведь по госту где-то и про сталь есть).
Цитата:
2. Вообше, что делать, когда в базе будет обнаружено 2 марки одного вида проката (например 2 описания двутавра 20Б1) с разными массами?
Если кто-то сам добавит базу профилей и при этом повторится то конечно все возможно. Если такое случится, то думаю должно выйти сообщение, что в базе данных хаос, и т.п. А строка масс для данного профиля может принять кокой ни–будь цвет, ну к примеру синий.
Diman111,
Если можешь дай пожалуйста ссылки на все описанные тобой госты, если ссылок нет, но если вариант отсканируй пожалуйста пору нужных страниц и поделись с нами. Буду очень признателен.
Мне и самому не нравится двустрочный вариант описанный VVA, уж больно усложнено, но не хочется от госта отклонятся. Если по госту и вправду можно как ты описал, то думаю все согласятся на этот вариант (надеюсь что так).
Цитата:
Также есть небезызвестное СПДС граф в котором реализовано заполнение спецификации по принципам, указаным мною
У меня СПДС, и я там такого не видел, там как раз в базах есть двустрочный вариант. Может у нас версии разные? У меня 4, и вот что она дает
Вложения
Тип файла: dwg
DWG 2004
СПДС пример спец..dwg (45.7 Кб, 2438 просмотров)
Red Nova вне форума  
 
Непрочитано 11.03.2008, 22:22
#162
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


VVA, я так понял это просто для ознакомления для нас
выложено, чтобы мы тебя проверили правильно ли сортаменты
забиты?

Почему правдо все в одну строчку забито не удобно проверять...

Хотьбы предупридили

А то я уже его во всю в автокад подргужать начал
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 11.03.2008, 22:28
#163
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


Red Nova, может всетаки откажемся от двух строчного пока не сделали,
я все под одну спеку подгоняю что металл что арматура, что бетон, что КМД, что КЖИ.


PS СОКРАЩЕННЫЙ СОРТАМЕНТ МЕТАЛЛОПРОКАТА ДЛЯ ПРИМЕНЕНИЯ В СТРОИТЕЛЬНЫХ СТАЛЬНЫХ КОНСТРУКЦИЯХ
ГОСУДАРСТВЕННЫЙ СТРОИТЕЛЬНЫЙ КОМИТЕТ СССР
(Госстрой СССР)

если кому пригодится конечно, а нет так нет


я уже неделю не работаю жду окончания лиспа
Вложения
Тип файла: doc Сокращенный сортамент металла.DOC (38.0 Кб, 398 просмотров)
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Автор темы   Непрочитано 12.03.2008, 09:29
#164
Red Nova

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


dextron3,
Цитата:
я уже неделю не работаю жду окончания лиспа
Еще скорее всего долго ждать придется, ты же сам когда-то назвал этот лисп "Война и мир".
Red Nova вне форума  
 
Непрочитано 12.03.2008, 10:15
#165
Diman111

промышл проектант
 
Регистрация: 26.05.2005
Изовсехщелей
Сообщений: 317


Все указанные мною госты выложены в интернете - поиск вам поможет.
По поводу оформления - если вписывать указанный вами 2-х этажный текст - скажите что вы впишите в столбец обозначение а что в столбец наименование.
Diman111 вне форума  
 
Непрочитано 12.03.2008, 12:23
#166
VVA

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


Цитата:
VVA, я так понял это просто для ознакомления для нас
выложено, чтобы мы тебя проверили правильно ли сортаменты
забиты?

Почему правдо все в одну строчку забито не удобно проверять
Зато удобно читать lisp'om, а для проверки читай примечания в начале файла. Скачай notepad++ и проверять станет удобней

Цитата:
Red Nova, может всетаки откажемся от двух строчного пока не сделали
Не пойму, чем так страшен двухстрочный? MTEXT решает все проблемы, для лиспа виден как однострочный? По хорошему, хотелось бы,чтобы в определении веса учавствовала только марка элемента (скажем двутавр 20 или швеллер 12).
Вложения
Тип файла: dwg
DWG 2004
Спецификация КЖ.dwg (38.4 Кб, 2435 просмотров)
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 12.03.2008, 12:24
#167
Red Nova

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


Diman111, Не нашел прямого подтверждения твоей позиции по поводу госта, если что-то не правильно понял поправь.
Вот вырезки из гостов на которые ты ссылаешься. И там все либо очень мутно, либо про двустрочный вариант.
Вложения
Тип файла: doc ГОСТ 21, ГОСТ 27772-88 вырезки.doc (115.5 Кб, 351 просмотров)
Red Nova вне форума  
 
Непрочитано 12.03.2008, 13:21
#168
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


VVA, не нашел гайки болтики и шайбочки в предложенном лиспе каталоге

вот гост
Вложения
Тип файла: doc БОЛТЫ ГАЙКИ.doc (152.0 Кб, 134 просмотров)
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 12.03.2008, 13:25
#169
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


VVA, почему Вам не понравилось предложение Diman111,
чтобы лисп детектировал ключевые буквы металла проката:
Б1, Ш1, или цыфры госта самого проката, а не стали?
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 12.03.2008, 13:56
#170
VVA

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


> Кто сказал, что мене не понравилось? Как раз таки и хочется, чтобы после определения типа проката, марка говорила однозначно о весе конструкции.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 12.03.2008, 14:37
#171
Red Nova

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


dextron3,
Цитата:
Red Nova, может всетаки откажемся от двух строчного пока не сделали,
Мне этого и самому хочется, но я все стараюсь найти для этого отмазку в виде некого допущения по госту, но пока найти не могу. Хоть и очень хочется. Одну строку куда быстрее редактировать чем две.
VVA Надеюсь ты не упустил из виду мою просьбу с поста 161.
Red Nova вне форума  
 
Непрочитано 12.03.2008, 15:06
#172
VVA

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


Прямое подтверждение:
ГОСТ 21.101-97 п. 6.2
Цитата:
6.2 Спецификации строительных изделий составляют по ГОСТ 21.501
а так же приложение В (обязательное)
Цитата:
ГОСТ 2.108—68 ЕСКД. Спецификация -
С учетом требований раздела 6 настоящего стандарта и ГОСТ 21.501
ГОСТ 2.108-68 ЕСКД заменен ГОСТ 2.106-96 ЕСКД

ГОСТ 21.501-93 п.4.10
Цитата:
4.10. Спецификации на изделия выполняют по ГОСТ 2.108 и ГОСТ 2.113 с учетом следую­щих дополнительных требований:
1) графы “Формат” и “Зона” исключают. Размер графы “Поз.” принимают равной 10 мм, графы “Наименование” — 73 мм;
<...>
Опять помним, что ГОСТ 2.108-68 ЕСКД заменен ГОСТ 2.106-96 ЕСКД.
И наконец ГОСТ 2.106-96 ЕСКД п.3.17 нам говорит, что (выделено цветом мной)
Цитата:
3.17 Графы спецификации заполняют следующим образом:
<...>
- в графе "Обозначение" указывают:
<...>
В разделах "Стандартные изделия", "Прочие изделия" и "Материалы" графу "Обозначение" не заполняют. Если для изготовления стандартного изделия выпущена конструкторская документация, в графе "Обозначение" указывают обозначение выпущенного основного конструкторского документа:

(Измененная редакция, Поправка 1997 г.)

- в графе "Наименование" указывают:
<...>
в разделе "Стандартные изделия" - наименования и обозначения изделий в соответствии со стандартами на эти изделия;
Так как ГОСТ 27772-88 - стандарт на "ПРОКАТ ДЛЯ СТРОИТЕЛЬНЫХ СТАЛЬНЫХ КОНСТРУКЦИЙ", то и писать обозначения проката в графу наименование надо по этому ГОСТУ
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 12.03.2008, 16:24
#173
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


VVA, то что Вы говорили про мультитекст - ни в коем случае
может и госты указывают и заставляют писать в две строки
то в электронном виде страдает высота текста, позиции налазиют
друг на друга, очень тесная становится спецификация,
в глазах ребит если распечатываешь в мелком масштабе
ну очень не удобно
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 12.03.2008, 17:04
#174
Diman111

промышл проектант
 
Регистрация: 26.05.2005
Изовсехщелей
Сообщений: 317


Касаемо поста №172.
Все что сказано Касается стандартов нашего предприятия, базирующихся на ГОСТах на оформление. Замечу группа нормоконтроля присутствует.
Насчет
Цитата:
В разделах "Стандартные изделия", "Прочие изделия" и "Материалы" графу "Обозначение" не заполняют. Если для изготовления стандартного изделия выпущена конструкторская документация, в графе "Обозначение" указывают обозначение выпущенного основного конструкторского документа:
смотри приложенный файл.
что касается металлопроката - о чем мы тут и ведем разговор - то все написанное мною базируется на моей практике и практике оформления документации. Пока проблем небыло.

В принципе - мы тут спорим о виде записи - но VVA прав в одном - ка кне запиши - анализировать то все равно какую строку. Проблема в том что искать при анализе.
а искать надо точное указание на базу сортамента, т.е. ГОСТ и номер проката.
Т.е. ищем базу по принципу совпадения

Код:
[Выделить все]
(WCMATCH "*СТО-АСЧМ 20-93*"); определили базу
(WCMATCH "*25К1*"); определили прокат
Саму базу СТО-АСЧМ 20-93 и прокат 25К1 - конечно надо подставлять поочередно из списка баз и прокатов - до первого совпадения.
Какова там сталь - на вес не влияет.
Так что дискуссию по поводу вида записи можно и прикрыть.
Предложенный мною вариант проще анализировать.
Предложенный VVA вариант сложнее анализировать.
НО НЕ БОЛЕЕ. Ибо алгаритм проанализирует любые строки.
Миниатюры
Нажмите на изображение для увеличения
Название: 1.jpg
Просмотров: 144
Размер:	30.4 Кб
ID:	4216  

Последний раз редактировалось Diman111, 12.03.2008 в 17:19.
Diman111 вне форума  
 
Непрочитано 12.03.2008, 18:09
#175
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


Diman111, забыл
Код:
[Выделить все]
(WCMATCH "*(п.м.)*"); определили или масса еденицы или
(WCMATCH "*L=*"); определили длину
Миниатюры
Нажмите на изображение для увеличения
Название: Snap1.jpg
Просмотров: 161
Размер:	77.9 Кб
ID:	4219  
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Автор темы   Непрочитано 12.03.2008, 19:08
#176
Red Nova

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


Ух ты нас переместили, что интересно это произошло после 175-и сообщений
Red Nova вне форума  
 
Непрочитано 12.03.2008, 19:19
#177
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


Red Nova, надо сообщить всем, а то заватра Diman111, VVA, не найдут тему
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Автор темы   Непрочитано 12.03.2008, 19:35
#178
Red Nova

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


Предлагаю компромиссный вариант. А что если лисп будит считать массу профилей и когда они записаны в две строки и когда в одну строку как у Diman111, в итоге добавится больше возни для VVA (сорри), но все будут довольны. Ну как, Согласны? Кроме того лисп и в правду станет уникальным, так как двустрочный вариант есть в VetCAD. (Там к стати очень хорошая библиотека материалов. VVA советую посмотреть если еще не пользовался, многое можно перенять). Что мне не нравится в VetCAD это то что там строчки загнаны в блоки. Чтобы просуммировать массу нескольких строчек надо по очереди на них тыкать.
Red Nova вне форума  
 
Непрочитано 12.03.2008, 19:36
#179
Diman111

промышл проектант
 
Регистрация: 26.05.2005
Изовсехщелей
Сообщений: 317


Цитата:
Сообщение от dextron3 Посмотреть сообщение
Diman111, забыл
Код:
[Выделить все]
(WCMATCH "*(п.м.)*"); определили или масса еденицы или
(WCMATCH "*L=*"); определили длину
Мне кажется будет достаточно определения
Код:
[Выделить все]
(WCMATCH "*L=*"); определили длину
Если есть обозначение конкретной длинны - то вес указанной длинны - иначе - п.м.
Но это VVA виднее

Последний раз редактировалось Diman111, 12.03.2008 в 19:46.
Diman111 вне форума  
 
Автор темы   Непрочитано 12.03.2008, 19:41
#180
Red Nova

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


dextron3, На страничке форума AutoCAD мы все еще присутствуем, так что найдут. .
АУ Diman111, VVA, ВЫ НАС СЛЫШИТЕ, МЫ ТУТ. СКОРО ЗАЖГЕМ ФАКЕЛЫ И БУДИМ ВАМ МАХАТЬ, ТАК ЧТО ПЛЫВИТЕ НА МОЯК
Red Nova вне форума  
 
Непрочитано 12.03.2008, 20:36
#181
VVA

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


Черновой вариант готов пока для спецификации КЖ. Есть возможность выбирать или 4 столбца (Обозначение Наименование Кол. Масса ед.кг)
или 3 (Наименование Кол. Масса ед.кг). Причем если выбираются 4 столбца, то не все строчки могут быть заполнены в графе "Обозначение".
Принцип такой:
если в графе "Обозначение" есть текст, то ГОСТ профиля берется из графы "Обозначение", иначе из графы "Наименование".
В общем сейчас без разницы, кто и как трактует ГОСТ на спецификации.
У кого требуют, тот пишет двухэтажные тексты, не требют - разносит по графам "Обозначение" и "Наименование". Пока не доконца понял с погонными метрами. Но это завтра. Если успею причесать, то завтра выложу пробную версию.
PS При навигации буду ориентироваться на зажженные факелы
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 12.03.2008, 21:20
#182
Diman111

промышл проектант
 
Регистрация: 26.05.2005
Изовсехщелей
Сообщений: 317


2VVA
а каким образом должен быть записан 2-х этажный текст?
простыми текстами в 2 этажа или 1 мтекстом?
Diman111 вне форума  
 
Непрочитано 12.03.2008, 22:09
#183
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


VVA,
если (м.п.) то считается для 1000мм или для одного метра,ъ
по идеи можно писать просто L=1000мм, тоесть одно и тоже

а п.м. это традиция, ....

PS, а про болтики, гаечки и шайбочки никто не забыл?
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 12.03.2008, 22:20
#184
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


Diman111, про М текст не напоминай,
м-текстами только бабушки проектировщицы пользуются

PS
ты пробовал в М-тексте лист общих данных набросать,
я пробовал поэтому М-текст вызывает оотварщение
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 12.03.2008, 22:24
#185
nikе

конструктор Лего
 
Регистрация: 21.10.2005
Краснодар
Сообщений: 204


Лучше в качестве базы использовать файл MtlProfiles.mdb из ProjectStudio CS. А диалоги написать на VC++.??
nikе вне форума  
 
Непрочитано 12.03.2008, 22:27
#186
nikе

конструктор Лего
 
Регистрация: 21.10.2005
Краснодар
Сообщений: 204


А текст спецификации удобнее оформить в виде блока с расширенными данными, для автоматизации составления ведомости расхода стали.И естественно текст-блок редактировать с помощью такой же программки.
nikе вне форума  
 
Непрочитано 13.03.2008, 11:13
#187
VetalBY


 
Регистрация: 16.05.2005
г. Минск
Сообщений: 276


Цитата:
Сообщение от Red Nova Посмотреть сообщение
Кроме того лисп и в правду станет уникальным, так как двустрочный вариант есть в VetCAD
В VetCAD++ возможен вариант и двустрочный и однострочный - все зависит от того как настроены базы. В инет я выложил вариант двустрочный, так как мы его пользуем. Перенастроить самому не проблема. Надо в папке DB в файле Прокат.txt заменить строки типа
/[№ПРОФИЛЯ]$ $[ГОСТ]
на
L$[№ПРОФИЛЯ]$ $[ГОСТ]
это вариант с префиксом для уголка
ширины столбцов тоже настраиваются

Цитата:
Сообщение от Red Nova Посмотреть сообщение
Что мне не нравится в VetCAD это то что там строчки загнаны в блоки. Чтобы просуммировать массу нескольких строчек надо по очереди на них тыкать.
а что мешает их (блоки) выделить рамкой?
VetalBY вне форума  
 
Непрочитано 13.03.2008, 11:42
#188
VVA

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


>nike Это уже сделано. Vetcad называется.
У кого есть ProjectStudio CS. Поделитесь здесь файликом MtlProfiles.mdb. Посмотреть хочется.
Цитата:
а каким образом должен быть записан 2-х этажный текст?
простыми текстами в 2 этажа или 1 мтекстом
1 мтекстом. как во вложении
По поводу погонных метров: там всегда есть строка L=ЧИСЛО п.м. (м.п.)?
Вложения
Тип файла: dwg
DWG 2004
Спецификация КЖ.dwg (38.4 Кб, 2414 просмотров)
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 13.03.2008, 11:46
#189
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


Код:
[Выделить все]
По поводу погонных метров: там всегда есть строка L=ЧИСЛО п.м. (м.п.)?
нет просто (м.п.) без ничего
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 13.03.2008, 11:57
#190
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


Вот файл из проджект студио
чтото я не понял как им пользоваться,
Вложения
Тип файла: rar MtlProfiles.rar (183.3 Кб, 145 просмотров)
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 13.03.2008, 14:06
#191
nikе

конструктор Лего
 
Регистрация: 21.10.2005
Краснодар
Сообщений: 204


MtlProfiles.mdb из ProjectStudio CS это файл базы данных MS ACCESS. В ProjectStudio есть еще и др. файлы, например с арматурой. Где то на форумах встречал библиотеки lisp для работы с базами данных через ADO. Но диалог по чтению и выбору сортамента из баз данных наверно легче будет написать на VC++ используя классы ADO. Хочется самому такое написать, но я только учусь этому С++. Для Брикса давно писал на чистом лиспе программу по заполнению спецификаций, используя VetCADовские текстовые базы данных. Теперь хочется переделать немного, диалог переписать на arx, т.к. ребята из Bricsys полностью заменили движок DCL (теперь эти DCL диалоги стали растягивающимися).
nikе вне форума  
 
Автор темы   Непрочитано 13.03.2008, 19:36
#192
Red Nova

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


VetalBY Надо-же сам автор мне ответил. Первый плюс от перемещения форума в раздел программирование . Мда признаюсь, что пробовал только "синий" выбор, тогда не получалось, а с "зеленным" получилось.
Цитата:
Перенастроить самому не проблема. Надо в папке DB в файле Прокат.txt заменить строки типа
/[№ПРОФИЛЯ]$ $[ГОСТ]
на
L$[№ПРОФИЛЯ]$ $[ГОСТ]
Хорошо, что настроить можно. За подсказку спасибо. А почему ты эту возможность не сделал более доступной. Было бы удобнее если бы эта возможность была в настройках. (ИМХО смо сбой)

Последний раз редактировалось Red Nova, 13.03.2008 в 20:22.
Red Nova вне форума  
 
Автор темы   Непрочитано 13.03.2008, 23:00
#193
Red Nova

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


VVA, Гост это конечно нужно. Но не забывай пожалуйста что весь разговор начался с ТЗ с использованием СПДС шрифта, очень надеюсь что я и этот “неправильный” вариант спецификации дождусь с профилями. Напомню для работы на моем предприятии мне надо только уголки, трубы, да двутавры и швеллера с уклонными полками, все как в самом первом ТЗ, только вместо приближенных формул для труб и уголков можно прицепить сортамент. Может я и перейду на гост, но пока что мне очень хочется наконец попользоваться моим вариантом SPEC в полную силу. А то получается что арматуру и листы я моги считать а профили нет (прямо слюнки текут). Прошу не забудь про меня. А то форум плавно повернулся в сторону госта, а мой первоначальный вопрос так и не решился. Мда.
Red Nova вне форума  
 
Непрочитано 14.03.2008, 09:44
#194
VVA

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


При разборе "Наименования" используется следующий алгоритм:
1. Текст из "Наименования" разбивается на 2. Признактм разбития служит 1-я цифра.
2. Если текст начинается с UNIKOD символов (\U+), то п.1 выполняется с 8 символа, пропуская \U+XXXX
1-я часть текста (та что до цифры) и служит признаком профиля
Для строки "Двутавр 20Б1" это будет "ДВУТАВР"
Для строки "\U+E725" (швеллер по шрифту CS) - "\U+E725"
Вот пример "разбора"
Код:
[Выделить все]
 
;;;======= ШВЕЛЛЕР + 
                   ((vl-position (car WHAT) '("ШВЕЛЛЕР" "ШВЕЛЕР" "[" "\U+E725")) ;_Швеллер
Я даже добавил слово "ШВЕЛЕР", мало ли кто ошибется
Это я к тому, что признаком проката в тексте из столбца "Наименование" может быть и "Мама мыла раму". Нужно только ее добавить в список.
Сейчас очень большая загрузка по работе, поэтому ни вчера, ни сегодня продолжить ее не смогу. Попробую выкроить часик-другой на выходных, но не обещаю.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 14.03.2008, 09:54
#195
Павлов Андрей

Инженер-строитель
 
Регистрация: 27.05.2004
Республика Беларусь
Сообщений: 67


Здравствуйте .
Задумки и реализация в пограмме очень понравились , хоть и не по ГОСТ , но позволяет считать спецификации . Только , я думаю , свести это в конечном счете в техническую спецификацию стали придется все-равно "ручками" . Или у кого-нибудь есть задумки ,как автоматизировать создание ТСС ? Пока сам пользуюсь вариантом вставки таблиц EXCEL в пространство модели (в модели тормозит меньше) , как OLE-объект , сохраняя связь с EXCEL . В excel подключаю внешний сортамент , сортирую данные по строкам и колонкам и в конечном итоге получаю полуавтоматически ТСС .
__________________
Andrey
Павлов Андрей вне форума  
 
Непрочитано 14.03.2008, 10:01
#196
VetalBY


 
Регистрация: 16.05.2005
г. Минск
Сообщений: 276


Цитата:
Сообщение от Red Nova Посмотреть сообщение
Хорошо, что настроить можно. За подсказку спасибо. А почему ты эту возможность не сделал более доступной. Было бы удобнее если бы эта возможность была в настройках. (ИМХО смо сбой)
То, что удобно, не всегда универсально к сожалению.
Сделал так и пока не пожалел. Эта строка отвечает за формирование "наименования". Пользователь сам может настроить так, как ему надо - с ГОСТом или без, в 2 строки или одну, префикс для профилей под используемый шрифт и т. д. И не так уж это сложно (в хелпе описано).
VetalBY вне форума  
 
Непрочитано 14.03.2008, 10:17
#197
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


VVA, будем ждать, проектирование в городе остановилось
все ждем лиспа
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 14.03.2008, 11:06
#198
VetalBY


 
Регистрация: 16.05.2005
г. Минск
Сообщений: 276


Цитата:
Сообщение от Павлов Андрей Посмотреть сообщение
Или у кого-нибудь есть задумки ,как автоматизировать создание ТСС ?
В VetCAD++ будет ТСС. Уже кое-что сделано в этом направлении и работает. Пока делается для РБ (по СТБ 21.504-2005). Но в бесплатный пакет она полностью не войдет и когда выйдет в свет, сказать не могу пока...
VetalBY вне форума  
 
Непрочитано 19.03.2008, 12:54
#199
VVA

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


Ну вот я и объявился снова

Пример команд SpecKM и SpecKG.

Попытался сделать универсально. Для определения типа проката можно пользоваться шрифтами (типа CS_gost), можно писать буквами, можно писать двухэтажные тексты, можно однострочные, разнося обозначение и наименование по разным столбцам.

Обе команды требуют выбора 3-х столбцов, позиции Массы ед и Массы всего задаются рамкой любой ячейки.

Во вложении лисп, пример dwg и необходимые шрифты. Если двухэтажный текст вылезет за пределы - не обращать внимания, просто нет нужных шрифтов.

Файл prokat.ves должен находится в путях поиска автокада.
Вложения
Тип файла: rar sumTv2.rar (259.5 Кб, 162 просмотров)
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 19.03.2008 в 14:07.
VVA вне форума  
 
Непрочитано 19.03.2008, 16:25
#200
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


с арматурой что то не в порядке
Миниатюры
Нажмите на изображение для увеличения
Название: Snap3.jpg
Просмотров: 165
Размер:	27.2 Кб
ID:	4446  
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 19.03.2008, 16:32
#201
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


1. лисп считает почемуто вместо миллиметров метры, хотя стоит ММ
2. почему когда в графе наименование длинна дается отдельным текстом лисп не замечает
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 19.03.2008, 17:25
#202
VVA

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


> dextron 200,201
1. Если после L= есть буква м (м м.п. п.м.)б то длина считается как метры и умножается на 1000. Там идет проверка на wcmatch *М*. Если длина в мм, то их писать не нужно.
2. В любой графе текст должен быть ОДИН, текст, мтекст - без разницы, но один.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 19.03.2008, 17:46
#203
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


А почему тогда цыфры как то блокируются,
что это означает и как потом от него избавиться
смотреть скриншот
Миниатюры
Нажмите на изображение для увеличения
Название: Snap1.jpg
Просмотров: 150
Размер:	6.1 Кб
ID:	4447  
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 19.03.2008, 17:55
#204
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


вот еще не могу понять почему так работает:
Изображения
Тип файла: jpg Snap2.jpg (17.7 Кб, 710 просмотров)
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 19.03.2008, 18:15
#205
VVA

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


>203 Это называется гиперссылка. Туда записываются пояснения по расчету или ошибки. Для управления гиперссылкой см. команду
_HYPERLINKOPTIONS.
>204 По картинке и я не могу. Файлик приложи.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 19.03.2008, 18:32
#206
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


Объясни алгоритм работы лиспа простыми словами, не могу понять суть...

вот файлик
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 19.03.2008, 19:12
#207
VVA

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


Файлика не вижу
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 19.03.2008, 19:50
#208
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


форум тормозит я на почту сбросил
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 19.03.2008, 20:09
#209
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


вот загрузился наконец
Вложения
Тип файла: dwg
DWG 2004
Спецификация КЖ.dwg (58.5 Кб, 1947 просмотров)
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Автор темы   Непрочитано 19.03.2008, 21:55
#210
Red Nova

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


Ну начнемс. Ух какие тут дебаты предстоят.

1. Во первых большое спасибо . Хочу отметить что с гиперссылками ты хорошо придумал, думаю будит интересно если и масса одной детали будит иметь гиперссылку, в ней можно записать пояснение про формулу расчета, если профиль, то про массу одного килограмма и длину. Было бы интересно.


SPECKM

2. Честно говоря вариант с выбором столбцов масс реализован не совсем удобно. Было бы легче просто указать точкой координату Х вставки масс. То есть вместо выбора рамкой двух углов указываем одну центральную точку столбца. А еще было бы хорошо добавить в команду вариант с оверрайт существующих мтекстов, как в SPEC, лично мне так больше нравится (я в основном работаю с аналогичными спецификациями, по этому создаю одну на основе другой). Причем отдельную команду для этого можно и не создавать, вместо этого можно добавить следующую возможность. Если выбираем три столбца, то далее задаем координаты ввода масс, а если выбрали пять столбцов, то будет оверрайт масс.

3. Можно ли вместо текста вставлять мтекст middle centre justified? (если это возможно то может есть смысл создать отдельную переменную для этого)

4. В выложенном примере по только по одному варианту от каждого профиля. Как различить разные швеллеры (с уклонными, параллельными полками и т.п.) Было бы хорошо иметь пример со всеми возможными комбинациями, так любому будет понятно, и если лисп попадет к кому то не имеющему отношения к нашему форуму то и он разберется.

5. Когда получается синий текст с ссылкой то при нажатии на текст+ctr пишется что система не может найти путь.

6. Не считает трубы (круглые)

7. При наличие профиля “Двутавр 20Б1” масса становится синей, пишется что найдено больше 1 в базе.


SPECKG

8. Считаются только лист, арматура и швеллер, причем швеллер только двустрочный.

9. Масса листа записанная в одну строчку сосчиталась в 1000 раз больше чем надо.

Последний раз редактировалось Red Nova, 19.03.2008 в 22:00.
Red Nova вне форума  
 
Непрочитано 20.03.2008, 06:43
#211
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


Red Nova,
Код:
[Выделить все]
 9. Масса листа записанная в одну строчку сосчиталась в 1000 раз больше чем надо.
читай выше у меня был этот вопрос
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 20.03.2008, 08:01
#212
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


Примечание:

1. Почему не удобно текст одной строкой, а не из двух: размеры и длина,
в спецификации легче потом быстро удалить размеры длинна, не подревожив габариты и заменить на метры погонные,
(из практики металлисты сначало выдают грубый вариант для строителей где все дается в П,М,)

2. Не понравилось то что лисп прописывает новые цыфры вместо замены
старых, как RedNova сказал обычно править приходится готовую спецификацию, а то потом приходится чистить цыфры друг под дружкой

3. Вчера сравнивал 1 вариант Spec, с последним первый гораздо понятнее считает и меньше выделять приходится тоесть за 1 раз

4. Про гиперссылки особо не понял не сипользую вовсе

5. Может я не прав, но почему алгоритм не такой:

1. Выделите 6 столбцов
2. (каждый текс является отдельной ячейкой)
3. Первый текст ГОСТ направляет в нужную сортамента область
4. Второй текст габариты (формулы или ссылка на сортамент выборку,
которую можно в ручную обновлять)
4.1 Если фигурирует буква Б1, Б2 и тп. идем в подсортамент в каталоге
5. Если если в третьем тексте МП или М но не мм, то количество равно =1, а в строку количество вводит прочерк "-"
6. Если L=x то считаем по формуле массу, взяв данные из сотрамента

вот скриншот:
Миниатюры
Нажмите на изображение для увеличения
Название: Snap1.jpg
Просмотров: 164
Размер:	62.4 Кб
ID:	4465  
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 20.03.2008, 08:09
#213
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


Вот какие 6 отдельных текстов являются основными, а то я там говрил а забыл добавить это про пост #212
Изображения
Тип файла: jpg Снимок1.jpg (15.7 Кб, 683 просмотров)
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Автор темы   Непрочитано 20.03.2008, 17:03
#214
Red Nova

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


dextron3,
Цитата:
3. Первый текст ГОСТ направляет в нужную сортамента область
Зачем гост, в нужную область можно направить при помощи содержания текста наименования, к примеру "двутавр 20 Б1"
Red Nova вне форума  
 
Непрочитано 20.03.2008, 18:37
#215
VVA

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


Пояснения
SpecKM ищет в базе только тип профиля (например двутавр) и марку (20Б1) Там таких 2 (по ГОСТ 26020-83 и СТО АСЧМ 20-93) поэтому текст синий. Т.к. по ТЗ Red Nova вообще нет графы обозначения. Это не по ГОСТу, поэтому поддержку SpecKM в таком виде пока прекращаю, до полной отладки основного модуля. Тяжело одновременно править в нескольких версиях. Пока остается SpecKG. Все замеченные баги считает/не считает/считает не так или сюда вместе с файликом или мне на почту. После отладки выборки из базы будем думать о вариантах.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 20.03.2008, 18:46
#216
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


Red Nova, нет давай гостом чтобы лишнюю инфу не писать,

я расписал текстом что написано в рамке
это наверно универсальный

Вот шести столбцовый вариант

Двутавр!

ГОСТ;20Б1;L=1919мм;18;0;0

или

ГОСТ;20Б1;(п.м.);18;0;0


Уголок

ГОСТ;40x40x5;L=1919мм;18;0;0

или

ГОСТ;80x40x5;L=1919мм;18;0;0

ГОСТ;40x40x5;(п.м.);18;0;0

Арматура
по пятистолбчатому выделению С%% является точкой
определения С%%- это всеми известный знак диаметра Ф
если даже есть гост то его лисп просто не замечает

С%%12A-III;L=1919мм;18;0;0


Пластины уже реализованы спасибо

или по четырехстрочному выделению гост выделять не нужно
если есть гост тоже не замечает если длинна не указана
считает как платину по формуле

80x40x5;18;0;0

Швеллер
ГОСТ основа Б1 направление на под основу

ГОСТ;20Б1;L=1919мм;18;0;0

или

ГОСТ;20Б1;(п.м.);18;0;0

Гнутый профиль
ГОСТ основа

ГОСТ;80x40x5;L=1919мм;18;0;0



Red Nova если я не прав брось в меня камень

VVA, будем ждать... спасибо


Для спаренных профилей я придумал идентификатор в графе примечания: 2шт. (если лисп обнаруживает буквы шт. , то
массу еденицы элемента умножает на 2, легко и просто)
__________________
инженер проектировшик с опттом программа авто гад образование высшие

Последний раз редактировалось dextron3, 20.03.2008 в 18:53.
dextron3 вне форума  
 
Непрочитано 20.03.2008, 18:51
#217
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


VVA, если не получиться все в один лисп загнать
то можно панельку с кнопками сделать чтобы каждый профиль
по отдельности считала как бы построчно, а это тоже хорошо

я вот сейчас пластины считаю с помощью первого лиспа и доволен
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Автор темы   Непрочитано 20.03.2008, 19:41
#218
Red Nova

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


VVA
Цитата:
поддержку SpecKM в таком виде пока прекращаю, до полной отладки основного модуля
Готов подождать. Вот только у меня просьба, прежде чем прекратить доработку сделать смешанный вариант SPEC и SPECKM. Нововведений не надо, надо в уже существующий SPEC в таком виде как он есть добавить возможность SPECKM считать профили. После обещаю не тревожить до закрытия вопроса по госту. Надеюсь это не очень трудно.
Red Nova вне форума  
 
Автор темы   Непрочитано 20.03.2008, 19:52
#219
Red Nova

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


dextron3, Ты не прав. По госту к примеру для двутавра Б1 пишется
двутавр 20 Б1
на правда в две строки.
Так что это никак не лишняя инфа. Но камень бросать в тебя я не буду, не долетит по-моему, ему же лететь несколько тысяч километров.
Red Nova вне форума  
 
Непрочитано 20.03.2008, 21:24
#220
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


Red Nova, ну если ты нарисуешь значок и напишешь Б1 ты не нарушишь гост по любому
см скриншот
Миниатюры
Нажмите на изображение для увеличения
Название: Snap2.jpg
Просмотров: 156
Размер:	30.2 Кб
ID:	4510  
__________________