|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Расчет спецификаций из мтекстов
ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
Торонто
Регистрация: 23.10.2007
Сообщений: 1,980
|
||
Просмотров: 193509
|
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Видишь - Щитать никто не хочет.
Если бы у тебя был не MText, а Text, то я бы предложил посмотреть сюда: http://www.caduser.ru/cgi-bin/f1/board.cgi?t=19574jg |
|||
![]() |
|
||||
Цитата:
![]()
__________________
«Артиллерия не токмо грохот, но и наука!» Пётр I |
||||
![]() |
|
||||
Profan По указанной ссылке есть и для мтекса вариант. Большое спасибо..
Код выглядит так Цитата:
Последний раз редактировалось Red Nova, 27.01.2008 в 00:27. |
||||
![]() |
|
||||
Инженер Регистрация: 15.08.2007
Питер
Сообщений: 36
![]() |
Попробуй следующий код:
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 Эта прога тупо перебирает все входящие в активный чертеж МТексты и выдает в окне сумму входящих в них чисел. Если нужна сумма не всех имеющихся МТекстов, а только по выбору, или сумму выводить не в окне, а в другом Мтексте, то код надо будет доработать. ЗЫ: Гы, пока я писал код, сам нашел :-)
__________________
Ошибку нашел и исправил, но в чем она заключалась, так и не понял... |
|||
![]() |
|
||||
А как на счет того, чтоб проводить более сложные вычисления, отмечая цифры мтекста. Скажем отнять, умножить, вознести в квадрат. Для этих целей наверное программка посложнее нужна, с интерфейсом похожим на калькулятор. Никто не знает такой для 2008-го?
|
||||
![]() |
|
||||
Лисп с поста 5 работает так. Выбираешь мтксты или тексты, enter выходит сообщение что сумма цифр равна ***. Далее указываешь точку где в последствии появляется мтекст с содержащейся искомой в нем суммой. Программа хорошая, но уж очень хочется чтоб в конце сумма не выводилась в новом мтексте, а записывалась в уже существующий мтекст по принципу оверрайт. Прошу помочь с переделкой лиспа.
|
||||
![]() |
|
||||
Цитата:
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) |
||||
![]() |
|
||||
Инженер Регистрация: 15.08.2007
Питер
Сообщений: 36
![]() |
С ЛИСПом не знаком, а на VBA попробовать можно.
Скинь небольшой файл, с которым можно работать. Укажи, какие МТЕксты складывать (или какие другие мат. вычисления), а в какой - вставлять результат... Может, там какие критерии есть для выделения или еще что... Без этого задача кажется совсем неопределенной...
__________________
Ошибку нашел и исправил, но в чем она заключалась, так и не понял... |
|||
![]() |
|
||||
В штатном калькуляторе цифры надо копировать поштучно, а используя лисп с поста 5 можно отметить разом нужные мтексты содержащиеся в которых цифры надо сложить, и результат выводится в новом мтексте, только мне удобнее чтоб результат вписывался в уже существующий мтекст.
>Критерий никаких при выделении нет, выделяешь нужные мтексты, те что рядом – рамкой, другие поштучно, enter, результат готов. Попробуй попользоваться Лиспом с поста 5, думаю станет понятно. А экспериментировать можешь с любым файлом где создано несколько мтекстов с содержащимися в них цифрами, скажем 2, 15, 56. Выделяешь их, складываешь, насколько я помню алгебру, результат равен 73, ну или возле того. ![]() |
||||
![]() |
|
||||
конструктор Регистрация: 05.03.2007
Сообщений: 64
|
Цитата:
Цитата:
Код:
|
|||
![]() |
|
||||
конструктор Регистрация: 05.03.2007
Сообщений: 64
|
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,490
|
Ну замени
Код:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер-теплотехник Регистрация: 17.08.2006
Смоленск
Сообщений: 307
|
Где-то здесь уже выкладывал этот лисп, но даже сам найти не смог
![]() Программа написана без использования vla-функций, работает на 2002-м АвтоКАДе, по идее пойдет и на Brics/ZW/Proge CADах. PS: Что за прикол с похожими темами? Это по какому критерию они похожи? |
|||
![]() |
|
||||
Инженер-теплотехник Регистрация: 17.08.2006
Смоленск
Сообщений: 307
|
>> Red Nova
Ну-у, собснно, в 2008-м я не тестировал, даже не видел ![]() Только что проверил этот же файл на седьмом - все работает. После первого запроса Esc случайно не нажали? Если нет, тогда в коде убрать переопределение функции *error*, и посмотреть, какую ошибку выдает. Это что-то: ни у кого из знакомых нет АвтоКАДа 2008! Так что сам никак проверить не смогу. ![]() |
|||
![]() |
|
||||
Дома прогнал на 2007-м, тоже самое, не работает, а на домашнем 2008-м (у меня и тот и другой стоят) работает, но как я понял не совсем корректно.
После запуска команды 1.Укажите текст или [ Число / Функция / Результат / Выход] <Выход>: Дальше если нажать на кокой–либо текст выходит вот что 2.Выберите действие [ + / - / * //] <Отмена>: Выбираешь Кокой–то знак, далее в ком. строке пишется идущее вычисление, если выбрать подменю, скажем 3.Результат Тогда выходит послание 4.Вы хотите выйти без сохранения результата вычислений? [Да / Нет] <Нет> По–моему после пунктов 1 и 3 идет неправильное действие. И почему это интересно программа так непостоянна, более менее заработала на одном компьютере из трех. ![]() |
||||
![]() |
|
||||
Инженер-теплотехник Регистрация: 17.08.2006
Смоленск
Сообщений: 307
|
Странно, впервые с таким сталкиваюсь. Есть большой парк машин, когда-то проверял на 2002, 4, 6, 7 АвтоКАДах и на разных машинах - везде работало нормально. Может надстройки какие-то есть, вроде СПДСа? Хотя не должно бы влиять.
При правильной работе должно выглядеть так: Код:
В начале выбираемых текстов обязательно должны быть какие-либо цифры, если что другое - такой текст не считается числом. Если в начале работы программы выбрано или введено с клавиатуры число автоматически появится запрос на выбор действия (+-*/); если в начале было задано это действие, то такого запроса не будет. Так что пункты 1 и 2 правильны. Есть возможность выбирать опции при любой раскладке клавиатуры, т.е. а(англ)=ф, d=в(рус), x(англ)=ч и т.д. Цитата:
Если программа не работает по приведенному выше сценарию, выложите здесь пример файла с текстами (в формате 2004 или 7 КАДа) и листинг из комстроки с запросами программы и Вашими ответами. Последний раз редактировалось Олег К., 06.02.2008 в 10:41. |
|||
![]() |
|
||||
На работе вчера менял AutoCAD, сейчас программка тут работает. С одним из вопросов разобрался, остался вот кокой вопрос. После этой строки
Укажите текст или [ Число / Функция / Результат / Выход] <Выход>: р enter какое подменю я б не выбрал, пишет Вы хотите выйти без сохранения результата вычислений? [Да / Нет] <Нет> Следовательно, не выходит никуда вписать результат. |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,490
|
Попробуй выбирать через конт.меню.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер-теплотехник Регистрация: 17.08.2006
Смоленск
Сообщений: 307
|
"Ничё не понимаю" ©Колобки.
![]() Хотя стоп. Вы же вводите опции по русски? Тогда возможно виновата русская кодировка. У меня ANSI 1251. Попробуйте вводить опции в английской раскладке (выше упоминал). Остается только такое решение. Похоже при неопознанной опции сбрасывается в "пустой ввод", а он по умолчанию = выходу. Последний раз редактировалось Олег К., 06.02.2008 в 14:00. |
|||
![]() |
|
||||
Олег К .Попробовал с клавы, заработало. Спасибо.
![]() Товарищи программисты, есть вопрос по Лиспу с поста 16. С применением этого лиспа, после того как все нужные цифры выбраны, когда жмешь enter вылетает сообщение, что сумма мол такая–та. Жмешь на OK, после этого выбираешь мтекст в который надо все вписать. Можно ли убрать из последовательности вылетающее окно с сообщением о результате? То–есть выбрал цифры которые надо сложить, enter, выбрал текст в который вписываешь результат, enter, конец. ![]() |
||||
![]() |
|
||||
Находишь в тексте красную строчку
Код:
Код:
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Еще один вопрос к программистам. Лисп отзывается только когда клавиатура на английском, если в этот момент печатаешь на русском, то приходится менять язык для вызова Лиспа. Подскажите пожалуйста как сделать так, чтоб лисп вызывался и в случае ввода русских букв соответственного расположения на клавиатуре?
![]() |
||||
![]() |
|
||||
Это ты про какой лисп? Уточни. Тут их много
![]() По поводу русских букв, ты имеешь ввиду вызов команды или опции? Для команд: для примера возьмем лисп из #16 Там определена команда: (defun c:z-calc-text-value (/ value ent obj ss) далее по тексту И добавляем свои команды (например команду Z и Я) Код:
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Инженер-теплотехник Регистрация: 17.08.2006
Смоленск
Сообщений: 307
|
Для подсчета размеров, но только не переопределенных вручную.
Заменить соответствующие строки программы приведенными ниже: Код:
а, и еще изменить номер версии на 4.2 |
|||
![]() |
|
||||
Олег К. Спасибо, работает. А можно так сделать, чтоб в конце можно было результат не в текст списать, а в размер вписать, по принципу text overwrite? И как с размерами, которые уже overwrite? Их тоже иногда сосчитать нужно бывает.
|
||||
![]() |
|
||||
Инженер-теплотехник Регистрация: 17.08.2006
Смоленск
Сообщений: 307
|
Сделаю, но быстро не обещаю, своей работы привалило.
Завтра к вечеру-послезавтра. Для взятия переопределенных размеров строки 61-63 заменить на следующее: Код:
Последний раз редактировалось Олег К., 12.02.2008 в 14:30. |
|||
![]() |
|
||||
Инженер-теплотехник Регистрация: 17.08.2006
Смоленск
Сообщений: 307
|
Надо же, все оказалось проще, чем думал. Мог бы и вчера доделать.
Выкладываю последний вариант. Добавлена работа с размерами и вставка результата в размерный текст, вот только радиусы и диаметры не берет, и дуговые в радианах считает. Да так ли уж часто нужно такие размеры вычислять. Установка числа знаков после запятой снесена в пункт "Опции", по умолчанию =1 (самого этот запрос уже достал). Нельзя ввести ноль - так я от деления на ноль избавился ![]() Еще просьба, кому не лень потестируйте программку в AutoCAD 2008, ZW/Proge/Brics CADах. |
|||
![]() |
|
||||
Чуток подправил твой код. Теперь игнорирует угловые размеры, обрабатывает дуговой размер. Надеюсь ничего не испортил
Код:
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Инженер-теплотехник Регистрация: 17.08.2006
Смоленск
Сообщений: 307
|
Сейчас АКАД заново загрузил, исходная версия v4.3 тоже нормально работает, разве что угловой размер не исключается. В #41 я малость дуговой и угловой размеры перепутал. Вообще, для углового размера можно сделать пересчет из радиан в единицы чертежа, но думаю не стоит мешать линейные и угловые величины.
Кстати, это может быть выложено в "Готовые программы"? Если да - нужно в некоторых местах до ума довести, нет - и так сойдет. |
|||
![]() |
|
||||
Правь и выкладывай. Я в версию 4.3 как раз и добавил обработку дугового размера и исключил из обработки угловой
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Благодарю. Хорошо сделано.
У меня есть предложение объединить хорошие стороны лиспов выложенных на этом форуме. Есть лисп выложенный Олегом (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. |
||||
![]() |
|
||||
Вот мой аналог #16. Правда результат пишет в новый текст, но это поправимо. Из особенностей:
Разбирает Мтексты по параграфам, Безразличен к . или , в разделителе Остальное в коментариях Код:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 14.02.2008 в 19:17. Причина: Без запроса Select object: |
||||
![]() |
|
||||
Инженер-теплотехник Регистрация: 17.08.2006
Смоленск
Сообщений: 307
|
На самом деле textcalc может и быстрее работать. В начале выбираем Функция > + > enter и щелкаем подряд на текстах. Есть программа для суммирования, получена урезанием textcalc-v3.2, но там нет размеров и вывода в текст, только в комстроку.
Насчет доработок буду думать. Выбор поштучно или рамкой. Если использовать ssget, то сразу после запроса "Выберите тексты:" вылазит "Select objects:" и от этого никак не избавиться. Мне такое не нравится. А вот при entsel'e пользователь более-менее точно знает в какой именно текст он ткнул. По некоторым причинам не хочу использовать vla-функции. Подумаю, что-нить изобрету. Запрос на кол-во цифр после запятой: "Выберите объект для записи значения [Опции] <Назад>: ". В опциях выбор кол-ва цифр, не зашел в опции - по умолчанию =1. Неплохо бы посмотреть как оформлять готовые программы. VVA или kpblc, ссылку на пример не дадите? Вы вроде собирались эти разделы (программы и функции) к единому виду приводить. Добавлю. Да, можно сделать выбор объектов оптом. Все хорошо, когда используются операции сложения или умножения. А каким образом при "-" и "/" выбрать из набора из чего вычитается и что делится? По-любому первый элемент вычислений придется выбирать отдельно от последующих. Получается три разных программы надо: общая(???), + и *, - и /. Последний раз редактировалось Олег К., 14.02.2008 в 14:27. Причина: думал |
|||
![]() |
|
||||
>Олег К. Там в основном говорилось как оформлять готовые ф-ции. Пример- любая ф-ция в разделе "Программирование->Библиотека функций"
В преамбуле при оформлении готовых программ нужнро описать для чего применяется, какие-то нюансы и органисения. (типа округление чисел из переменной LUPREC, угловые размеры не обрабатываются и т.п.). Дать возможный вариант макроса на кнопочку. Как пример см. здесь Проблема с запросом "Select objects:" тоже решаема, см. новый вариант кода с #46. Там этого запроса нет. Думаю с тем как это сделано разберешься. Так что, как говорится, "Даешь много хороших и разных программ"
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
VVA Жду вариант с возможностью вписать в текст или размер полученный результат. А в этой программе тоже можно сделать из + скажем * при помощи замены кокой–то строчки? Еще очень хотелось бы возможность поиграть с округлением.
Олег.К Честно говоря умножение или отнятие мне ни разу не приходилось использовать (на случай если с ними не получится). Еще в твоей программе плохо то что на моем компьютере (и дома и на работе) не получается мышкой выбрать подменю, команда норовит закончить вычисление. Приходится Клавой работать. |
||||
![]() |
|
||||
Цитата:
res (+ res (apply '+ (mapcar 'atof str)))) и (apply '+ меняем на (apply '*
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
> dextron3 Это спрашивай не у меня, а у Red Nova
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,143
|
Red Nova, поделись где этот лисп суммирование размеров применять будешь,
я реально не могу найти ему применение... Буду благодарен
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
Был у меня тут чертеж, где некоторые размеры переписаны (длинная цепочка), а сверху цепочки надо проставлять общий размер, равный сумме всех переписанных, вот и возникла идея, что если отметить сразу все размеры, суммировать их значения, можно результат вписать в общий размер.
|
||||
![]() |
|
||||
Пробуйте. Команды
SumTN - суммирование тестов в новый текст sumTE - суммирование тестов в существующий текст mulTN - умножение тестов в новый текст mulTE - умножение тестов в существующий текст Команды суммирования/умножения в существующий текст (sumTE, mulTE) могут вставлять полученный результат в текст, размер, атрибут блока, заполненную ячейку таблицы.
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
VVA, Попал в точку, то что нужно. Быстро и удобно. Спасибо.
С вопросом разобрались. Теперь хочу предложить кое что посложнее. Как насчет полноценного калькулятора, способного работать с содержанием мтекста, размеров, длин отрезков, площадей замкнутых линий и штриховок и т.п. (выбор объектов происходит как в лиспе с поста 55)? Или уж совсем извращенная мысль. Я пользуюсь numlock калькулятором, может есть вариант его заставить видеть объекты AutoCAD-а? Допускаю что может на этот раз меня занесло, и идеи абсурдные, но было–бы здорово. ![]() |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,490
|
Red Nova, у тебя какой версии AutoCAD?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер-теплотехник Регистрация: 17.08.2006
Смоленск
Сообщений: 307
|
>> VVA Ну и программка! Куда уж мне теперь лезть!
![]() >> Red Nova По #56. Эт конечно интересно когда надо посмотреть разницу реальной длины объекта и того, что на размере указано. Хотя не совсем понимаю зачем, это в свойствах размера посмотреть можно. Для подсчета длин линий тут программок разных до фига было, ничего изобретать не надо. Для площадей замкнутых фигур и штриховок есть команда AREA. В общем, попробуете объяснить зачем это все в одну кучу сгребать. У меня фантазия не развитая ![]() |
|||
![]() |
|
||||
Цитата:
А смысл в том, чтоб иметь калькулятор, в который можно вместо цифр ввести любое значение меры длины или там еще чего из AutoCAD. Нечто похожее на встроенный калькулятор, но с расширенными возможностями выбора объектов (у встроенного только длина отрезка, угол и координаты). Я часто использую Numlock калькулятор, для спецификаций (с мтекстом правда благодаря Олег К. и VVA разобрались), и других целей, когда в калькулятор вводишь вместо цифр параметры объектов AutoCAD. Разве у вас такого не было? Вопрос сейчас не в том чтоб узнать конкретный параметр (длина, площадь, сумма мтекстов…), для этой цели инструментов вроде как достаточно, а в том, чтоб значение этого параметра быстро ввести в калькулятор. |
||||
![]() |
|
||||
Инженер-теплотехник Регистрация: 17.08.2006
Смоленск
Сообщений: 307
|
Что интересно, в панельке свойств объекта около длины, площади и тп есть значок калькулятора, т.е. это значение можно ввести в калькулятор при его вызове. А вот из калькулятора указать нужное значение уже не получается (AutoCAD 2006). Недоработочка, однако.
А вообще, я никогда не пользовался этим калькулятором, еще с 14-го привык вычисления вести в комстроке через функции лиспа. |
|||
![]() |
|
||||
Цитата:
|
||||
![]() |
|
||||
Для внешних калькуляторов можно значение посылать в clipboard.
Код:
(copyToclipboard "12345") Ну и соответсвенно в калькуляторе вставить из буфера. Подводные камни могут быть в том, что использует внешнее приложение в качестве разделителя дробной и целой части (. или ,)
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
VVA – Как я понял копируется в буфер то что вводишь между кавычками, скажем написал (copyToclipboard "12345"), копируется 12345, если написал (copyToclipboard "gameover"), копируется gameover . Только не понял где это применять? Ведь если вводить что-то в ком строку, но легче это дело сразу в калькулятор ввести. Может я чего не понял?
Меня интересует как ввести в буфер какой–ни–будь параметр объекта AutoCAD. Скажем длину отрезка, или что еще. При этом надо избежать того чтоб сначала эта цифра выходила в ком строке, а-то в таком случае и copy paste сойдет. Если на счет лиспа я что-то не верно понял прошу уточнить. |
||||
![]() |
|
||||
Ну так это и имелось ввиду. Есть куча лиспов, считывающих длинну, площадь выбранных примитивов. В конец к ним добавляешь copyToclipboard, и полученный результат копируется в буфер
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,143
|
VVA, вопрос не в тему конечно, есть ли такой лисп который округляет текстовые приметивы: 3.1459873 было, 3.15 стало, выбор рамочкой все числа,
размеры исходных текстовых приметивово остаются теже, меняется только содержание... буду благодарен
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
Выбирай
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. |
||||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,143
|
VVA, спасибо за первую ссылку, там твой лисп TOKR!
(примеч. автора: используется для округления чисел полученных в НумЛук калькуляторе, так как встроенный округлитель работает не совсем так как нужно округляет нормально, но когда большое число разделяет пробелами, что для автокада не допустимо пример: 123 282 000.00, потом с этим числом математические операции не возможно произвести)
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
Tokr работает только для текса, VVA, может сделаешь вариант для мтекста, а еще лучше скрестить tokr + sumt, так, чтоб если после завершения выделения текстов нажать enter, то разницы никакой от стандартных действий sumt, но если вместо enter зайти в подменю, можно выбрать любое значение округления от 0 до 9. Да и еще, по умолчанию хорошо бы настроить sumt, чтоб он ответ выдавал округленным с одной цифрой после запятой. Смогём?
![]() |
||||
![]() |
|
||||
Пока VVA думает, у меня еще одна мысль возникла. У меня спецификации “нарисованы”. Часто в спецификациях надо бывает умножить все цифры одного столбца на все цифры второго, и ответ записать в третьем. Можно ли так модифицировать sumt, чтоб когда выбираешь два столбца с мтекстами, то цифры с одинаковой координатой У умножаются друг на друга, потом отмечаешь третий столбец с мтекстами, и результаты умножений вписываются в третий столб, при этом результат вычисления каждой строки вписывается в мтекст на против (у ответов та же координата Y что и у умножаемых цифр).
|
||||
![]() |
|
||||
1. По поводу tokr + sumt - думаю
2. По поводу хорошо бы настроить sumt, чтоб он ответ выдавал округленным с одной цифрой после запятой - уже все настроено. Просто мне нравятся 2 цифры. Кто со мной не согласен, тот в коде из поста #55 ищет строчки, начинающиеся с (operate_text ... [типа (operate_text '+ t 2) ], так вод 2 - это и есть количество знаков округления. 3. По поводу часто в спецификациях надо бывает умножить все цифры одного столбца на все цифры второго dextron3 такая мысль пришла раньше. Такой лисп есть, причешу - выложу
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Короче так. Всех защитников - с праздником, полузащитников - с полупраздником, нападающих пропускаем. В честь столь знаменательного события, а так же по причине окончания заседания нашего дружного коллектива, находясь в приподнятом настроении, в здравом уме и твердой памяти выкладываю на растерзание сей опус. Измененные и дополненные команды:
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, если текст начинается с цифры, то считается что это лист
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 05.03.2008 в 16:54. Причина: Изменения |
||||
![]() |
|
||||
Присоединяюсь к поздравлениям. За лисп спасибо, оценил. Вот тока теперь постоянно с начала идет запрос по поводу округления, а я люблю когда попроще. Попробовал пошарить в лиспе, поменял в некоторых строчках значения на 1 (по аналогии с твоим советом), но напортачил и делу не помог.
Прошу выложить версию с прежним параметром округления по умолчанию для всех функций (у тебя ведь 2 было). А вопрос округления оставить только у TOKR (ну там уж точно без этого никак). По поводу MulTC, тоже оценил, правда ты пошел другим путем, как я понимаю акцент тут стоит не на координате, а на очередности, в результате надо сначала отметить первый столб, потом второй, потом третий, если же акцент стоял на координате, то можно бы было отметить первые два столбца сразу (а может и все 3 сразу, если глубоко подумать). Мелочь конечно и в общем несущественно два действия или три, но как-то всегда думаешь о самом кратком пути. В остальном все путем. Спасибо за труд. |
||||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,143
|
VVA, с днем защитника отечества тебя!
Предложения: 1. Не пойму для чего при вставвке текста нужно вводить размер (высоту букв), почему не берется высота суммирующихся текстов? (или это кому то особо важно) по аналогии с TextMath калькулятором 2. Последние две команды сверхнеобходимые и нужные, вдвойне спасибо 3. Твои лисп приложения самые рабочие
__________________
инженер проектировшик с опттом программа авто гад образование высшие Последний раз редактировалось dextron3, 22.02.2008 в 23:13. |
|||
![]() |
|
||||
Мне в голову пришла развратная мысль
![]() Возьмем к дискуссии расчет веса одного лишь элемента, пусть это будит листовая сталь. В строке спецификации данные о элементе записываются так (в отдельных мтекстах). Марка -5х350 Длина 500 Количество 5 Вес ? Вес всех ? Вариант не по госту, но рассмотрим его. Чему равен вес одной детали 5*350*500*(7.85E-6)=6,9кг Вес всех деталей 6,9*5=34,3 (если не учесть неокругленный вариант то 34,5, но мы ведь люди точные ![]() И так задача сводится к тому чтоб взять и помножить из первого текста 5 и 350, помножить их потом на второй текст, ответ вписать в четвертый текст, потом помножить его на количество, и вписать в последний текст, при этом предполагается что тексты веса уже существуют, надо их переписать. Таким образом надо игнорировать – и х из первого текста (не знаю возможно ли это). Прибавлю что x может быть как русской так и английской буквой. В общем идейка вполне на грани бредового ![]() ![]() |
||||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,143
|
Red Nova, лучше бы в ЕКСЕЛЕ все это сделать, но перенос в автокад почемуто не корректен, жду пока толковую программу выпустят для
правильного пренеоса в Екселл, существующие средства автокада не годятся, не забывай там куча профилей а не только один лист Сделай пока не придумали как я: 1. Создай спеку для всех толщин 2. Сделай последний дополнительный столбик с массой одного метра погонного или квадратного 3. И потом тупо перемножай, а в лайаутах эти цыфры не показывай как бы отрезай 4. я так для дерева сделал
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
Цитата:
![]() Попобуй - может понравиться! ![]()
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) |
||||
![]() |
|
||||
Внес изменения в код поста #72 . Постарался учесть все предложения.
Цитата:
Еще я задал вопрос в #72 (сейчас выделил красным), ответ на который пока не получил
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,143
|
VVA, спасибо использую только 2 команды лучших аналогов в инете не встречал, особенно второй команды
TOKR - округление текста MulTCv2 - перемножение текстов столбцами вариант 2 (одной рамкой) 1. MulTCv2 в каком диапазоне прыгать могут по Y тексты, чтобы программа выполнялась, или тут ведется подсчет по близлежащему по Y боюсь совершить ошибки при выполнении, а то чреевато подзатыльник от прораба получить 2. Про поля: то я их не использую и не заморачиваюсь 3. MulTCv2 не корректно работает когда выделяешь два столбца по запарке, хотелось бы чтобы выдавалось окно с ошибкой, а то принцип перемножения не понятен (имеется ввиду при выделении всего лишь двух столбцов)
__________________
инженер проектировшик с опттом программа авто гад образование высшие Последний раз редактировалось dextron3, 25.02.2008 в 19:48. |
|||
![]() |
|
||||
VVA, пока лисп не смотрел, щас буду, на счет вопроса с поста 72, думаю содержание поля следует пропустить (если нет возможности округлить без того чтоб поле потеряло свои функции). А лучше скажи как эту возможность включить, а кому надо сам сделает.
А как насчет вопроса с поста 75 ![]() Wetr, сегодня вновь поставил VetCAD++ (AutoCAD2008), вариант интересный. Вот только у меня СПДС, не знаю как VetCAD с ним сработается, на первый взгляд не очень, и еще не знаешь как сделать так, чтоб мтекст открывался в Акадовском редакторе, А не в Веткадовском, раздражает очень? VetCAD еще потыкаю, не исключаю что пригодится, но пока мне милее обычные мтексты а не блоки, вот бы еще наши программисты на счет автоматизации расчета спецификации с мтекстами программки написали, было бы блаженство. |
||||
![]() |
|
||||
VVA, Просмотрел программу, очень понравилась в sumTSet то что после перегрузки Акада последняя установленная цифра количества единиц после запятой сохраняется в памяти. Это очень полезно, я даже и не наделся на это.
На счет команды MulTCv2, нет слов, так как я в начале и представлял себе ее работу, радует то, что даже при несовпадении координат, программа “думает”, и при набольшем разбросе правильно выполняет действие, я хотел было на такую возможность намекнуть, но не успел, ты сделал все так как надо. |
||||
![]() |
|
||||
Цитата:
А СПДС разве спецификации не умеет считать?
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) |
||||
![]() |
|
||||||
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
||||||
![]() |
|
||||
Wetr,
Цитата:
Цитата:
Последний раз редактировалось Red Nova, 26.02.2008 в 10:56. |
||||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,143
|
VVA, вот скриншоты работы команды MulTCv2 для 2х столбцов,
алгоритм не могу сообразить, почему так получается, почему нет окошка об ошибке, если сделать по запарке:
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
Было такое дело. Исправил код в посте #72. Так получалось потому, что общее количесво текстов кратно 3. Изменил алгоритм сортировки. Теперь такого быть не должно
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 27.02.2008 в 09:18. |
||||
![]() |
|
||||
VVA, ТЗ составил для основного каталога используемых мною профилей, если кто что хочет добавить, прошу.
Спецификация немного не по госту, но думаю это простительно. (В дальнейшем можем и для других видов спецификаций создать команды подсчета) После завершения действия команды думаю будит уместно если в случае нераспознавания некоторых строк мтексты в графах масс этих строк станут красными. Таким образом можно будит избежать ошибок. (А еще может вылетать сообщение об ошибке.) Цвет использован для того чтобы не путать переменные, в настоящих спецификациях цвет не имеет значения. Надеюсь удастся избежать использования отдельных команд для разных профилей, и программа будет по первому символу мтекста распознавать какое действие тут нужно. (По первому, поскольку дальнейшее содержание не всегда идеально, иногда может быть пропущен или добавлен пробел, или точка, и.т.п.) Отмечать мтексты для расчета следует как в MulTCv2 , то есть отмечаем разов все строчки, и столбцы от графы "Марка" до графы "Вес всех деталей". Прилагаю фонты СПДС, без которых нельзя, в них имеются знаки обозначения профилей. Надеюсь трудностей с исполнением не возникнет, хотя понимаю что труд предстоит значительный и довольно сложный. Заранее благодарю. ![]() |
||||
![]() |
|
||||
геологоразведка, строительство Регистрация: 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")
__________________
Лень - великий двигатель прогресса! |
|||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,143
|
VVA
По мотивам предыдущего лиспа: Предыстория: Черчу последнее время чертежи КМД, рисую косынки (обычный многоугольник если для автокада, из обычных линий или полилинии замкнутой) образмеренные, все стенки и габариты листа. Нужен лисп который находил бы самый большой размер по вертикали, и самый большой размер по горизонтали и округлял бы в большую сторо- ну с шагом по 50мм (было 373 стало 400, было 210 стало 250) Есть предположение что можно высчитывать по габаритам самого элемента Лисп в работе по приведенному скриншоту: 1. Выделите деталь с размерами 2. Размеры заготовки: x=750мм, y=900мм Если уже сталкивался с такими задачами помоги ....
__________________
инженер проектировшик с опттом программа авто гад образование высшие Последний раз редактировалось dextron3, 27.02.2008 в 07:29. |
|||
![]() |
|
||||
>dextron3
Код:
Программа TOKR округляет текст целиком. Поиск и округление чисел в тексте оставлю себе в качестве домашнего задания. >Red Nova Скачал, но пока еще не вникал
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 27.02.2008 в 13:01. Причина: Округление в большую сторону |
||||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,143
|
VVA, спасибо!
но хотелось бы чтобы округление было в большую сторону, тоесть 210 то 250, 201 то 250, 251 то 300, то есть на завод лучше отправлять с запасом когда будут нарезать, ведь лучше потом сточить чем наварить у тебя 210 округляет 200, теряем сантиметр
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
Исправил
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Пробуй снова
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Посмотрел не выходных твое ТЗ. Кое-что накропал. Возникло пару вопросов, в основном касающихмя определения массы проката
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. |
||||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,143
|
VVA, в этой формуле не учтены скругления полок,
я что то не пойму как выгледеть будет лисп про который идет речь как он будет функционировать если можно алгоритм написать? да из программы прокат само то, так как перебивать профиля из таблиц очень долго,...
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
VVA,
1.Согласен, я не учел округления, подумал, что это маловажно, поскольку очень трудно вывести формулу. Влияние округления в для разных размеров разное, ни добавив определенный процент ни добавив определенную массу точно не получается. Можно вложить в память все гостовские массы для уголков (тот же “прокат”), тока это довольно трудоемко, я не хотел тебя очень загружать. Но так конечно же будет безоговорочно точно. Лично я буду только рад. Для двутавров я формулу не писал, дал перечень из учебника (для двутавров с уклонными полками). Возможно я что-то не правильно дал, так что бери данные из программы “прокат”. 2. Подумал и решил что ты прав на счет сдвоенных профилей. Надо для них массу умножать на 2. |
||||
![]() |
|
||||
промышл проектант Регистрация: 26.05.2005
Изовсехщелей
Сообщений: 317
|
Насчет веса сортамента - ИМХО - логично не изобретать велосипеда и взять за основу базы из «Прокат» Василия Кондрата. Причем Базы 1-1 и из них уже вынимать. Имхо это даст возможность в будущем прицепить любой сортамент в базу спецификации, поскольку «Прокат» довольно популярен и базы под него пополняют многие.
|
|||
![]() |
|
||||
Бета-версия SPEC выложена в посте #72 (там еще некоторые шероховатости в сортировке mulTCv2 были устранены)
Пока-что без "прикручивания" сортамента, по ТЗ в #93. Тестовый пример: (недостающие шрифты CS_Gost2304 брать в #93) ниже. Формат 2004
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Высший пилотаж.
![]() Большое спасибо. Теперь нюансы. 1.С символом диаметр какие-то багги, в одном месте работает, в другом нет. Возможно это связанно с тем что в шрифте есть два знака диаметр, а может еще с чем, чего я не понимаю. Смотри приложенный файл. 2.Фланцы. Забыл сказать, что после фл. Может также стоять или не стоять знак диаметра, так что на него не обращаем внимания, если он не в начале текста. 3.Трубы. Тр может быть написано также и английскими буквами (причем как заглавными так и прописными). 4. То что для нераспознанных формул массы краснеют очень удобно, но после внесения корректировки в неверно понятые строки думаю будет уместно если вновь просчитанные массы, которые уже считаются правильно становились цвета by layer. Иными словами после проведения вычислений предлагаю всем правильно просчитанным массам назначить цвет by layer. 5.Думаю ты прав и надо для сдвоенных профилей помножить массу на 2. 6.Я тут подумал, и думаю что для подсчета массы арматуры, для варианта где считаем не по штучно, а для всей длины (сигмаL=***) наверное правильнее в графе “масса одной позиции” вписывать “-“, а массу вписывать только в графу вес всех позиций. Сорри что с начала не сказал. В остальном пока багов не выявил. Есть идея добавить вариант программы, когда записываешь массу не в существующий мтекст, а в новый, при этом выходит запрос на указание координат х для граф “масса одной поз” и “масса всех поз” С нетерпением жду вариант с профилями по госту. Этот лисп сэкономит кучу моего времени. Хотя почему только моего. Кучу времени многих проектировщиков. Сколько я их знаю, кто работает по схеме рисованные спецификации + калькулятор. Пока внедрил в работу команды выложенные ранее в Sumt, и уже не могу представить свою работу без них, а что дальше будит, когда спецификации на полную заработают, просто блаженство. Как только раньше такого не придумали. |
||||
![]() |
|
||||
VVA, Вот еще прошу такую возможность учесть для всех профилей. (смотри приложенный файл)
По поводу Цитата:
Diman111 Ты бы выложил спецификацию со всеми возможными профилями в формате dwg, тогда попонятнее станет как ее "склеить". |
||||
![]() |
|
||||
Выложил в #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. У меня творческий кризис. ![]() ![]()
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 04.03.2008 в 12:05. |
||||
![]() |
|
||||
промышл проектант Регистрация: 26.05.2005
Изовсехщелей
Сообщений: 317
|
Цитата:
![]() Цитата:
В общем технология ввода кол-ва столбцов - автоматическим вычислением или запрос у пользователя - это оставлю на усмотрение автора lispa - УВАЖАЕМОГО VVA |
|||
![]() |
|
||||
VVA,
Цитата:
2.Еще, только что понял, что сигмаL=20м надо принять равным сигмаL=20000, а-то бывает по разному. (м может быть в разных кодировках) Последний раз редактировалось Red Nova, 04.03.2008 в 12:33. |
||||
![]() |
|
||||
VVA, Протестировал изменения, вроде как багов нет, только надо учесть заметки на постах 116 и 117.
А как на счет? Цитата:
|
||||
![]() |
|
||||
Обновил еще раз код в #72. Кое-какие очепятки в SPEC.
Цитата:
Цитата:
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
VVA, На счет точки вставки. Координата у берется как у остальной строчки конкретной позиции, а координата х указывается сначала для первого столбца, затем для второго.
То есть после указывания рамкой исходных данных в ком. строке пишется “укажите координату х для масс одной позиции”, мышкой указываем точку на чертеже, с этой точки берется координата х, затем в ком. строке пишется “ укажите координату х для масс всех позиций”. Все. |
||||
![]() |
|
||||
Пересчитывал свои спецификации новым лиспом, вот что обнаружил. Есть строчка в которой изначально заданы неверные данные, программа пытается ее посчитать, и в графу массы вписывает 0, при этом графа не краснеет. Предлагаю сделать так, чтобы, если в результате вычислений получалось ноль, то этот ноль краснел.
|
||||
![]() |
|
||||
Теперь 0 в графе массы очень стыдно, и он краснеет
![]()
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Неа, не краснеет, то есть не во всех случаях. Смотри файл. Слушай а это трудно сделать чтобы когда после цифры стоит буква м, то воспринять ее как 000, если не очень сложно, добавь пожалуйста такую возможность.
|
||||
![]() |
|
||||
Он краснеет, когда была ошибка, в твоем случае поставь округление до 2 знаков и увидишь число, отличное от 0. Добавил аланиз метров, но только там, где может быть суммарная длина (арматура, уголки)
Пробуй снова с #72
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Спасибо, теперь все то. Если будешь писать вариант с возможностью записи результатов в новые мтексты, то прошу учесть следующее.
Думаю отдельную команду создавать не стоит, можно в spec добавить следующую возможность. Если после вызова команды выбрать 5 столбцов, то работает первый вариант, а если выбрать 3 столбца, то создаются новые мтексты. Теперь остаются только профили. ![]() |
||||
![]() |
|
||||
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. |
||||
![]() |
|
||||
> dextron3 Red Nova уже ответил.
Цитата:
Обработку 4 или 5 столбцов добавил в SPEC, если текст начинается с цифры, то считается листом. Обновления выложил в #72. Сразу скажу, что рисованные уголки и другие профиля распознавать не буду. В любом случае при расчете масс проката символ проката (уголок, швелер, двутавр, арматура) перед размерами должен быть не нарисован а вписан в текст. Пользуйтесь соответствующими шрифтами.
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
> tuguz Лисп из #72 может суммировать или перемножать текст, мтекст, размеры, округлять результат до нужной величины и вставлять полученное значение в новый текст или в существующий текст, мтекст, размер, атрибут блока, ячейку таблицы.
*** Добавлено А тему прочитать уже сложно, за сотню постов уже накропали
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Да, название то у топика осталось с прежних времен, а сейчас в этом смысле все тип топ.
tuguz, Посмотри лисп с поста 72, там шедевр от VVA, этот лисп еще много чего умеет делать чего mycalc не может, суммировать, умножать тексты и размеры, перемножать столбцы текстов друг на друга, задавать нужное округление и даже спецификации считать. А mycalc на 2008-ом не работает (по крайней мере у меня) |
||||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,143
|
VVA, Red Nova, оказывается я использовал старую версию,
( lisp уже стал как роман "Война и мир", имеется ввиду размер =))) обидело тем что я не использую м-тексты, а обычные не считает... Из моих спецификаций считает только пластины. Пришлось перечитать данную тему чтобы вновь уловить суть... А это очень интересный лисп, оказывается... Если его сделать универсальным, то половина примочек окажуться лишними То что специализированные шрифты использует это не очень хорошо, в некоторых сельских конторах не хватает ума объяснить, админ на диск с доступ закрывает Если есть возможность немного облегчить спецификацию: 1. Для точго чтобы не учитывать картинки, которые заменяются специализированным шрифтом, я предлагаю в последней графе спецификации писать обычное название металлапроката, по которому программа и поределит из какого сортамента какую величину брать, в крайнем случае если такое конечно возможно то брать из ГОСТА и определять марку металлопроката в графе обозначение 2. (м.п.) , означает что в графе масса ед.цы, автоматом вставляется масса 1погонного метра изделия 3. В данную спецификацию добавил частоиспользуемые двутавры, а также профлист, и болты гайки шайбы. 4. Если потребуется какой-то сортамент для базы могу выслать готовые калькуляторе (смотря в каком виде потребуется), опять же можно позаимстовать у Веткада, или у Прокат. 5. Скриншот используемой спецификации с обычными текстами, собрал самые распространенные металлопрокаты =) 6. В электронном виде в РАРе тоже самое что на скриншоте (для испытаний) 7. Получилось 6 столбцов, по другому не смог облегчить, длину вынес в отдельный столбец это особо важная графа Буду ждать замечаний...
__________________
инженер проектировшик с опттом программа авто гад образование высшие Последний раз редактировалось dextron3, 05.03.2008 в 20:18. |
|||
![]() |
|
||||
Кто-нидь может по госту спецификации выложить, а то и ты dextron3, м я похоже не очень по госту работаем. Ведь в последней графе по закону не пишется нечего такого.
Diman111, частично выложил пример по госту, но не до конца инфу дал. Придется самому покопаться. Очень советую использовать шрифт СПДС, я загнал символы профилей в Simbols мтекст редактора, офигенно удобно. В моей канторе такого типа вопросы я решаю, какой софт юзать и какие шрифты, в этом смысле мне повезло, но думаю если очень захотеть любого можно уломать. По пунктам. 1. Честно говоря мне не очень нравится идея, я все думаю к госту приблизится, и тебе советую, а это получается еще один “левый” вариант, хотя у меня самого тоже вариант “левый”, и не хочу чтобы создалось впечатление что для себя я этот вопрос решил, а твой вариант подвергаю критике. Предлагаю, SPEC так не меняем, если очень хочешь именно такой вариант, то может новую команду для этого сделать ?(спрашиваем у VVA). Придумай для нее название, у VVA творческий кризис. ![]() 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. - Люди работающие по госту, прошу просветить в нюансы обозначения наименования разных профилей по госту. - Да, и объясните пожалуйста куда вписывается масса всех деталей? А то по госту там такой графы нету? |
||||
![]() |
|
||||
Опять про ГОСТ
VVA Как на счет варианта, чтобы ты создал один экземпляр для каждого профиля который принципом просчета отличается. Затем можно объяснить принцип добавления новых профилей, и все желающие тогда смогут добавлять профили? По-моему похожая идея уже была предложена тобой. Если одобряешь, то буду дальше мысль развивать, на счет того какие именно “принципиальные варианты” надо разработать. |
||||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,143
|
Red Nova, согласен про последнюю графу,
ведь хотелось какойто поределитель для таблиц, Давай по Циферии ГОСТА будет определятся металлопрокат это самое удобное, а те значки которые я рисую из линии просто не учитывать, а читать только текст Если потребуется могу выдать госты И для двутавров нужно после марки обратить внимание на букву Б1, Б2, это тоже различие А так моя таблица как раз по госту А если лиспу без разницы размеры тыблицы он ведь считает по столюцам то особой разницы для регионов нет
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
Цитата:
> Павлов Андрей. Швеллера и двутавры не считает, т.к. не "прикручена" база проката. Не откуда брать вес погонного метра. > ALL Пошел в нормоконтроль, взял действующие у нас ГОСТы. Так вот, согласно ГОСТ 27772-88 "Прокат для строительных стальных конструкций" ПРИЛОЖЕНИЕ 2 Схемы и примеры условных обозначений, прокат пишется в графе наименование буквами - Уголок, Двутавр и т.д., далее текст в 2 строки. Это я к тому, что надо решить, что есть спецификация по ГОСТ, прежде чем предлагать какие-то решения.
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,143
|
VVA, а почему не сделать общие обозначения, как дополнения к таблице тоесть потом в лайаутах отрезать, а кто как обозначает это их дело, тоесть к таблице будет прилагаться еще строка с названием металло проката, мне без разницы как его назовешь так как это отрезается при распечатке
1. VVA, база проката как должна выглядеть, хотелось бы не переписывать из сортамента а использовать уже забитые из других источников 2. На скриншоте вспомогательная графа... (программа как бы находила определенное сочетание букв в графах и соответсвенно применяла для этого значение из текстовых забитых масс) Тогда алгоритм будет безошибочно: 1. Если в строке найдено Ugl, то иди к базе Уголков, или считай по формуле той то Уголок или на англ Ugl Швеллер.... Shvel и тп. 3. Red Nova, а тебе мой вариант спецификации не понравился чтоли? Вроде учел все профиля
__________________
инженер проектировшик с опттом программа авто гад образование высшие Последний раз редактировалось dextron3, 06.03.2008 в 13:23. |
|||
![]() |
|
||||
VVA,
Цитата:
![]() Хорошо что ты спросил у нормаконтроля, а-то у меня такой возможности нет. Появилась надежда в будущем действительно прийти к госту. Цитата:
dextron3, Поясню что в твоей версии не то. Как сказал VVA по госту название профиля пишется буквами в строке наименование, и думаю в дальнейшем алгоритм будит различать именно это слово, которое в самом начале, таким образом пропадает нужда писать наименования в конце, а если очень надо именно показать символ швеллер, а не писать его буквами, то тут уж СПДС шрифты рулят. А против твоего варианта я нечего не имею, просто лично для меня он смысла не имеет, так как шрифт СПДП под рукой. А за учтенные профили которых у меня не было, спасибо, над этим можно подумать, думаю дойдем и до этого. Последний раз редактировалось Red Nova, 06.03.2008 в 18:43. Причина: забыл кое-че |
||||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,143
|
Red Nova, давай универсальную как VVA выложил в файле ТЕСТ,
аналогична моей.... Про обозначение и нечитабельность шрифтов я писал выше
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
промышл проектант Регистрация: 26.05.2005
Изовсехщелей
Сообщений: 317
|
Хотелось бы внести свою ремарку в разбор полетов по поводу госта на оформление спецификаций.
ГОСТ 27772-88 "Прокат для строительных стальных конструкций" ПРИЛОЖЕНИЕ 2 Схемы и примеры условных обозначений - это гост не на оформление спецификации. Это гост на марки стали. Насчет того откуда брать наименование проката - замечу, что в спецификации присутствует графа обозначение, в которой пишется гост. По этому госту мы узнаем и прокат. Далее - насчет тонкостей проката - с уклоном, с паралельными гранями или колонный или балочный - то по госту на конкретный прокат мы должны писать буковку У П К Б ..... - пример: Код:
обозначение СТО АСЧМ 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. |
|||
![]() |
|
||||
Цитата:
ГОСТ 2.106-96 п.3.17 Цитата, выделено мною Цитата:
В приложении 2 видим пример условного обозначения которое согласно п.3.17 ГОСТ 2.106-96 для "Стандартных изделий" нужно писать в графу "Наименование"
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
VVA[quote]Пост 153QUOTE]
Похоже, что действительно так, и в СПДС и в VetCAD то же. А как на счет добавить профили в SPEC так как в начале обговаривали (хоть и не по госту, но очень хочится этот простятский вариант). Надежда есть? ![]() Diman111, Цитата:
Последний раз редактировалось Red Nova, 11.03.2008 в 17:51. |
||||
![]() |
|
||||
В общем и целом надежда есть. Базу "Проката Василия Кондрата" в том виде, в котором она есть использовать нельзя. Обозначения марок (например для уголка записано как 55 x 55 x 3) записано с пробелами. Поэтому написал конвертер и сконвертировал в формат, удобный мне.
Там есть одна закавыка, которую пока не знаю как разрешить. Касается гнутых швеллеров Швеллеры гнутые по ГОСТ 8278-83 обыч. сталь: 120x80x4 - вес 9.49 Швеллеры гнутые по ГОСТ 8278-83 кач. сталь : 120x80x4 - вес 8.22 возникает вопрос 1. Как узнать, какая сталь 2. Вообше, что делать, когда в базе будет обнаружено 2 марки одного вида проката (например 2 описания двутавра 20Б1) с разными массами? Базу, в том виде, в котором она пока существует, прикрепляю ввиде файла. Несмотря на то, что он имеет расширение lsp, содержание у него вполне текстовое ***Добавлено Это текстовый файл, просто открыть в блокноте
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 11.03.2008 в 19:07. |
||||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,143
|
VVA, слишком сложно еще и дробные числа рисовать, я редко встречаю такие обозначения, очень не удобно, хочется чегото простого,
Предложенные варианты: мной, Red Nova, Diman111, очень схожи, странно что только 3 человека заинтересовались, этой лучшей и полезнейшей разработкой во всем форуме... ![]() Вот если бы лет пять назад ктонибудь такое разработал я бы где-то полгода жизни съэкономил... ![]()
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
проектировшик Регистрация: 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
Цитата:
![]() Цитата:
*** Добавлено Спецификации на КЖ и КМ разные, тут возможны нюансы
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
промышл проектант Регистрация: 26.05.2005
Изовсехщелей
Сообщений: 317
|
Есть ГОСТ 21,101-97 есть 21,501-93.
касаемо записи по ГОСТ 27772-88 - то я имею полное право в чертежах КМ писать марку стали в примечаниях. Есть ведомость металлоконструкций а есть спецификация элементов. Мне кажется тут эти понятия попутались. По гост 21,101-97 прил Ж даны примеры спецификаций элементов, которые я указал в своем ТЗ и расчет по котоых реализовал Уважаемый VVA. Я лишь немного изменил групповую спецификацию под стандарт используемый на нашем предприятии. Также есть небезызвестное СПДС граф в котором реализовано заполнение спецификации по принципам, указаным мною. также в его состав входит справка по станфартам оформления - рекомендую ознакомиться. Необходимо определиться что именно мы тут пытаемся автоматизировать? Ведомость или спецификации для КМ или КМД. проще всего реализовать предлагаемое мною решение по спецификации, согласно приложению Ж. в этом случае мы имеем вместо 2-х этажной записи из поста № 153 запись вида Код:
Марку стали пишем в примечаниях чертежа. Собсно вес мы берем из сортамента а там он один на все марки стали - так что не вижу смысла тут в принципе затрагивать ГОСТ 27772-88. поскольку его круг действий ограничивается: Код:
Между тем по ГОСТ 21.101—93 Код:
|
|||
![]() |
|
||||
VVA,
Цитата:
Цитата:
Diman111, Если можешь дай пожалуйста ссылки на все описанные тобой госты, если ссылок нет, но если вариант отсканируй пожалуйста пору нужных страниц и поделись с нами. Буду очень признателен. Мне и самому не нравится двустрочный вариант описанный VVA, уж больно усложнено, но не хочется от госта отклонятся. Если по госту и вправду можно как ты описал, то думаю все согласятся на этот вариант (надеюсь что так). Цитата:
|
||||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,143
|
VVA, я так понял это просто для ознакомления для нас
выложено, чтобы мы тебя проверили правильно ли сортаменты забиты? Почему правдо все в одну строчку забито не удобно проверять... Хотьбы предупридили ![]() А то я уже его во всю в автокад подргужать начал ![]()
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,143
|
Red Nova, может всетаки откажемся от двух строчного пока не сделали,
я все под одну спеку подгоняю что металл что арматура, что бетон, что КМД, что КЖИ. PS СОКРАЩЕННЫЙ СОРТАМЕНТ МЕТАЛЛОПРОКАТА ДЛЯ ПРИМЕНЕНИЯ В СТРОИТЕЛЬНЫХ СТАЛЬНЫХ КОНСТРУКЦИЯХ ГОСУДАРСТВЕННЫЙ СТРОИТЕЛЬНЫЙ КОМИТЕТ СССР (Госстрой СССР) если кому пригодится конечно, а нет так нет я уже неделю не работаю жду окончания лиспа
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
промышл проектант Регистрация: 26.05.2005
Изовсехщелей
Сообщений: 317
|
Все указанные мною госты выложены в интернете - поиск вам поможет.
По поводу оформления - если вписывать указанный вами 2-х этажный текст - скажите что вы впишите в столбец обозначение а что в столбец наименование. |
|||
![]() |
|
||||
Цитата:
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Diman111, Не нашел прямого подтверждения твоей позиции по поводу госта, если что-то не правильно понял поправь.
Вот вырезки из гостов на которые ты ссылаешься. И там все либо очень мутно, либо про двустрочный вариант. |
||||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,143
|
VVA, почему Вам не понравилось предложение Diman111,
чтобы лисп детектировал ключевые буквы металла проката: Б1, Ш1, или цыфры госта самого проката, а не стали?
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
> Кто сказал, что мене не понравилось? Как раз таки и хочется, чтобы после определения типа проката, марка говорила однозначно о весе конструкции.
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
dextron3,
Цитата:
VVA Надеюсь ты не упустил из виду мою просьбу с поста 161. |
||||
![]() |
|
|||||
Прямое подтверждение:
ГОСТ 21.101-97 п. 6.2 Цитата:
Цитата:
ГОСТ 21.501-93 п.4.10 Цитата:
И наконец ГОСТ 2.106-96 ЕСКД п.3.17 нам говорит, что (выделено цветом мной) Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,143
|
VVA, то что Вы говорили про мультитекст - ни в коем случае
может и госты указывают и заставляют писать в две строки то в электронном виде страдает высота текста, позиции налазиют друг на друга, очень тесная становится спецификация, в глазах ребит если распечатываешь в мелком масштабе ну очень не удобно
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
промышл проектант Регистрация: 26.05.2005
Изовсехщелей
Сообщений: 317
|
Касаемо поста №172.
Все что сказано Касается стандартов нашего предприятия, базирующихся на ГОСТах на оформление. Замечу группа нормоконтроля присутствует. Насчет Цитата:
что касается металлопроката - о чем мы тут и ведем разговор - то все написанное мною базируется на моей практике и практике оформления документации. Пока проблем небыло. В принципе - мы тут спорим о виде записи - но VVA прав в одном - ка кне запиши - анализировать то все равно какую строку. Проблема в том что искать при анализе. а искать надо точное указание на базу сортамента, т.е. ГОСТ и номер проката. Т.е. ищем базу по принципу совпадения Код:
Какова там сталь - на вес не влияет. Так что дискуссию по поводу вида записи можно и прикрыть. Предложенный мною вариант проще анализировать. Предложенный VVA вариант сложнее анализировать. НО НЕ БОЛЕЕ. Ибо алгаритм проанализирует любые строки. Последний раз редактировалось Diman111, 12.03.2008 в 17:19. |
|||
![]() |
|
||||
Предлагаю компромиссный вариант. А что если лисп будит считать массу профилей и когда они записаны в две строки и когда в одну строку как у Diman111, в итоге добавится больше возни для VVA (сорри), но все будут довольны. Ну как, Согласны? Кроме того лисп и в правду станет уникальным, так как двустрочный вариант есть в VetCAD. (Там к стати очень хорошая библиотека материалов. VVA советую посмотреть если еще не пользовался, многое можно перенять). Что мне не нравится в VetCAD это то что там строчки загнаны в блоки. Чтобы просуммировать массу нескольких строчек надо по очереди на них тыкать.
|
||||
![]() |
|
||||
промышл проектант Регистрация: 26.05.2005
Изовсехщелей
Сообщений: 317
|
Мне кажется будет достаточно определения
Код:
Но это VVA виднее ![]() Последний раз редактировалось Diman111, 12.03.2008 в 19:46. |
|||
![]() |
|
||||
Черновой вариант готов пока для спецификации КЖ. Есть возможность выбирать или 4 столбца (Обозначение Наименование Кол. Масса ед.кг)
или 3 (Наименование Кол. Масса ед.кг). Причем если выбираются 4 столбца, то не все строчки могут быть заполнены в графе "Обозначение". Принцип такой: если в графе "Обозначение" есть текст, то ГОСТ профиля берется из графы "Обозначение", иначе из графы "Наименование". В общем сейчас без разницы, кто и как трактует ГОСТ на спецификации. У кого требуют, тот пишет двухэтажные тексты, не требют - разносит по графам "Обозначение" и "Наименование". Пока не доконца понял с погонными метрами. Но это завтра. Если успею причесать, то завтра выложу пробную версию. PS При навигации буду ориентироваться на зажженные факелы ![]()
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,143
|
VVA,
если (м.п.) то считается для 1000мм или для одного метра,ъ по идеи можно писать просто L=1000мм, тоесть одно и тоже а п.м. это традиция, .... PS, а про болтики, гаечки и шайбочки никто не забыл?
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,143
|
Diman111, про М текст не напоминай,
![]() м-текстами только бабушки проектировщицы пользуются ![]() PS ты пробовал в М-тексте лист общих данных набросать, я пробовал поэтому М-текст вызывает оотварщение
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
Регистрация: 16.05.2005
г. Минск
Сообщений: 276
|
Цитата:
/[№ПРОФИЛЯ]$ $[ГОСТ] на L$[№ПРОФИЛЯ]$ $[ГОСТ] это вариант с префиксом для уголка ширины столбцов тоже настраиваются а что мешает их (блоки) выделить рамкой? |
|||
![]() |
|
||||
>nike Это уже сделано. Vetcad называется.
У кого есть ProjectStudio CS. Поделитесь здесь файликом MtlProfiles.mdb. Посмотреть хочется. Цитата:
По поводу погонных метров: там всегда есть строка L=ЧИСЛО п.м. (м.п.)?
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
конструктор Лего Регистрация: 21.10.2005
Краснодар
Сообщений: 204
|
MtlProfiles.mdb из ProjectStudio CS это файл базы данных MS ACCESS. В ProjectStudio есть еще и др. файлы, например с арматурой. Где то на форумах встречал библиотеки lisp для работы с базами данных через ADO. Но диалог по чтению и выбору сортамента из баз данных наверно легче будет написать на VC++ используя классы ADO. Хочется самому такое написать, но я только учусь этому С++. Для Брикса давно писал на чистом лиспе программу по заполнению спецификаций, используя VetCADовские текстовые базы данных. Теперь хочется переделать немного, диалог переписать на arx, т.к. ребята из Bricsys полностью заменили движок DCL (теперь эти DCL диалоги стали растягивающимися).
|
|||
![]() |
|
||||
VetalBY Надо-же сам автор мне ответил. Первый плюс от перемещения форума в раздел программирование
![]() Цитата:
Последний раз редактировалось Red Nova, 13.03.2008 в 20:22. |
||||
![]() |
|
||||
VVA, Гост это конечно нужно. Но не забывай пожалуйста что весь разговор начался с ТЗ с использованием СПДС шрифта, очень надеюсь что я и этот “неправильный” вариант спецификации дождусь с профилями. Напомню для работы на моем предприятии мне надо только уголки, трубы, да двутавры и швеллера с уклонными полками, все как в самом первом ТЗ, только вместо приближенных формул для труб и уголков можно прицепить сортамент. Может я и перейду на гост, но пока что мне очень хочется наконец попользоваться моим вариантом SPEC в полную силу. А то получается что арматуру и листы я моги считать а профили нет (прямо слюнки текут). Прошу не забудь про меня. А то форум плавно повернулся в сторону госта, а мой первоначальный вопрос так и не решился. Мда.
![]() |
||||
![]() |
|
||||
При разборе "Наименования" используется следующий алгоритм:
1. Текст из "Наименования" разбивается на 2. Признактм разбития служит 1-я цифра. 2. Если текст начинается с UNIKOD символов (\U+), то п.1 выполняется с 8 символа, пропуская \U+XXXX 1-я часть текста (та что до цифры) и служит признаком профиля Для строки "Двутавр 20Б1" это будет "ДВУТАВР" Для строки "\U+E725" (швеллер по шрифту CS) - "\U+E725" Вот пример "разбора" Код:
![]() Это я к тому, что признаком проката в тексте из столбца "Наименование" может быть и "Мама мыла раму". Нужно только ее добавить в список. Сейчас очень большая загрузка по работе, поэтому ни вчера, ни сегодня продолжить ее не смогу. Попробую выкроить часик-другой на выходных, но не обещаю.
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Инженер-строитель Регистрация: 27.05.2004
Республика Беларусь
Сообщений: 67
|
Здравствуйте .
Задумки и реализация в пограмме очень понравились , хоть и не по ГОСТ , но позволяет считать спецификации . Только , я думаю , свести это в конечном счете в техническую спецификацию стали придется все-равно "ручками" . Или у кого-нибудь есть задумки ,как автоматизировать создание ТСС ? Пока сам пользуюсь вариантом вставки таблиц EXCEL в пространство модели (в модели тормозит меньше) , как OLE-объект , сохраняя связь с EXCEL . В excel подключаю внешний сортамент , сортирую данные по строкам и колонкам и в конечном итоге получаю полуавтоматически ТСС .
__________________
Andrey |
|||
![]() |
|
||||
Регистрация: 16.05.2005
г. Минск
Сообщений: 276
|
Цитата:
Сделал так и пока не пожалел. Эта строка отвечает за формирование "наименования". Пользователь сам может настроить так, как ему надо - с ГОСТом или без, в 2 строки или одну, префикс для профилей под используемый шрифт и т. д. И не так уж это сложно (в хелпе описано). |
|||
![]() |
|
||||
Регистрация: 16.05.2005
г. Минск
Сообщений: 276
|
В VetCAD++ будет ТСС. Уже кое-что сделано в этом направлении и работает. Пока делается для РБ (по СТБ 21.504-2005). Но в бесплатный пакет она полностью не войдет и когда выйдет в свет, сказать не могу пока...
|
|||
![]() |
|
||||
Ну вот я и объявился снова
![]() Пример команд SpecKM и SpecKG. Попытался сделать универсально. Для определения типа проката можно пользоваться шрифтами (типа CS_gost), можно писать буквами, можно писать двухэтажные тексты, можно однострочные, разнося обозначение и наименование по разным столбцам. Обе команды требуют выбора 3-х столбцов, позиции Массы ед и Массы всего задаются рамкой любой ячейки. Во вложении лисп, пример dwg и необходимые шрифты. Если двухэтажный текст вылезет за пределы - не обращать внимания, просто нет нужных шрифтов. Файл prokat.ves должен находится в путях поиска автокада.
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 19.03.2008 в 14:07. |
||||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,143
|
1. лисп считает почемуто вместо миллиметров метры, хотя стоит ММ
2. почему когда в графе наименование длинна дается отдельным текстом лисп не замечает
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
> dextron 200,201
1. Если после L= есть буква м (м м.п. п.м.)б то длина считается как метры и умножается на 1000. Там идет проверка на wcmatch *М*. Если длина в мм, то их писать не нужно. 2. В любой графе текст должен быть ОДИН, текст, мтекст - без разницы, но один.
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
>203 Это называется гиперссылка. Туда записываются пояснения по расчету или ошибки. Для управления гиперссылкой см. команду
_HYPERLINKOPTIONS. >204 По картинке и я не могу. Файлик приложи.
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Файлика не вижу
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Ну начнемс. Ух какие тут дебаты предстоят.
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. |
||||
![]() |
|
||||
проектировшик Регистрация: 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 то считаем по формуле массу, взяв данные из сотрамента вот скриншот:
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
Пояснения
SpecKM ищет в базе только тип профиля (например двутавр) и марку (20Б1) Там таких 2 (по ГОСТ 26020-83 и СТО АСЧМ 20-93) поэтому текст синий. Т.к. по ТЗ Red Nova вообще нет графы обозначения. Это не по ГОСТу, поэтому поддержку SpecKM в таком виде пока прекращаю, до полной отладки основного модуля. Тяжело одновременно править в нескольких версиях. Пока остается SpecKG. Все замеченные баги считает/не считает/считает не так или сюда вместе с файликом или мне на почту. После отладки выборки из базы будем думать о вариантах.
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
проектировшик Регистрация: 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. |
|||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,143
|
VVA, если не получиться все в один лисп загнать
то можно панельку с кнопками сделать чтобы каждый профиль по отдельности считала как бы построчно, а это тоже хорошо я вот сейчас пластины считаю с помощью первого лиспа и доволен
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
VVA
Цитата:
![]() |
||||
![]() |
|
||||
dextron3, Ты не прав. По госту к примеру для двутавра Б1 пишется
двутавр 20 Б1 на правда в две строки. Так что это никак не лишняя инфа. Но камень бросать в тебя я не буду, не долетит по-моему, ему же лететь несколько тысяч километров. ![]() |
||||
![]() |