1. ВНИМАНИЕ! В течении пары дней +- будет переезд форума на более защищённый сервер. Возможны перебои в работе.
    Скрыть объявление

Подсчет среднего значения отметок в Автокаде?

Тема в разделе "Autodesk", создана пользователем Ива, 22 дек 2011.

  1. Сейчас считаю среднюю отметку в Excel, вывожу из Sokkia Link, или вывожу из Автокада(Извлечение данных). Но хочется ускорить работу. Есть ли варианты?

    Неплохо было бы иметь и автоматизированный "генератор случайных чисел".
     
  2. Qvinto

    Qvinto Форумчанин

    В ToolPac такое есть. Ещё, где-то встречал отдельный лисп. Нарою, скину ссылку.
     
  3. Qvinto

    Qvinto Форумчанин

    Арифметические операции с числами записанными как однострочный текст
    DwgRuLispLib: Генератор случайных чисел
     
    Последнее редактирование: 30 дек 2013
  4. BearDyugin

    BearDyugin Модератор Форумчанин

  5. Всем спасибо за ответы!
     
  6. Tomy

    Tomy Форумчанин

    Qvinto, спасибо за ссылочку Арифметические операции., программку скачала и установила, только как вызвать команду? с генератором случ. чисел все ок, а тут...
     
  7. Qvinto

    Qvinto Форумчанин

    Копируем папку TextMath в папку C:\Program Files\Autodesk\AutoCAD ХХХХ\Support\. В настройках прописываем путь доступа к вспомогательным файлам к этой папке. В Автокаде набираем команду НПИ, жмем на папочку с плюсиком, в окне находим снова папку C:\Program Files\Autodesk\AutoCAD ХХХХ\Support\TextMath, и выбираем файл TextMath.mnu. Не забудьте в выбрать в списке расширений файлов адаптации выбрать расширение: Файлы меню предыдущих версий (*.mnu, *.mns), а то не увидите файла TextMath.mnu.
    Потом, снова, в Автокаде набираете команду ЗАГПРИЛ и снова заходите в папку C:\Program Files\Autodesk\AutoCAD ХХХХ\Support\TextMath и загружаете все файлы с расширением *.lsp.Желательно потом нажать на кнопочку с портфелем и добавить все файлы с расширением *.lsp, это что бы у вас автоматически загружались все функции программы.
    У вас появились новые панельки с математическими операциями в Автокаде с числами. Дальше вам все будет понятно.
    Это стандартная операция по загрузке сторонних приложений в Автокад.
     
  8. Tomy

    Tomy Форумчанин

    Qvinto, спасибо, все получилось
     
  9. Zhenyok

    Zhenyok Форумчанин

    Qvinto, выложите пожалуйста ссылку для скачки "Генератор случайных чисел"? Заранее спасибо!
     
  10. Qvinto

    Qvinto Форумчанин

    Ну вот же она, выше, в посте #3. Проверил, рабочая.
    Для чего вам это нужно? Для какого вида работ?
     
  11. Zhenyok

    Zhenyok Форумчанин

    Это нужно для удобства отрисовки исполнительные схем: скажем раскидываем числа по слоям в случайном порядке, а затем каждый слой обрабатываем с помощью ToolPac либо другой программы для обработки чисел
     
  12. Qvinto

    Qvinto Форумчанин

    Ну, а подгонометрия? Чем не подходит?
     
  13. Zhenyok

    Zhenyok Форумчанин

    Не то что не подходит, думаю если разобраться все пойдет, но пока в подгонометрии лишь понял как менять именно габариты объектов и снимать с них размеры, с дальнейшим их изменением, а я обычно раскидывал готовые простые числа по похожему алгоритму (проектный/фактический размеры) по слоям в случайном порядке, а затем каждый слой массово обрабатывать. Хотел узнать как это сделать lisp(ами)?
     
  14. Qvinto,
    Здравствуйте, у меня AutoCAD 2015, я проделал всё точно как в описании по установке, но после выбора файла TextMath.mnu выползает сообщение "В разрешении на запись отказано. Не удалось создать: 'C:\Program Files\Autodesk\AutoCAD 2015\Support\TextMath\TextMath.cuix' после чего нелбзя сохранить изменения. Подскажите пожалуйста, что делать в таком случае. Спасибо!
     

    Вложения:

  15. Qvinto

    Qvinto Форумчанин

    Перейти на версию Автокада 2014. Когда я давал ссылку на это приложение, версии 2015 ещё не было.
    Или, сообщить здесь, какие именно функции по работе с текстом вам нужны? Что нибудь да подберём.
     
  16. В 2017 версии автокада набор математических функций, указанный во втором посте, работает лишь частично. У меня взлетели только сумма и умножение выбранных значений. Поскольку нужно было находить среднее, продолжил копать.
    На англоязычном ресурсе нашел нижеследующее:

    Fieldset ; Max, Min and Average by Lee McDonnell -- 12/08

    (defun c:number (/ ans ent1 nmax ent num ent2 nmin ent3 num2 ss ssl index tents tot ent4 num3 ave)
    (princ "\nInitializing...")
    (initget 1 "Max Min Average")
    (setq ans (getkword "\nSpecify Numerical Requirement [MAx/MIn/Ave]: "))
    (cond
    ((= ans "Max")
    (if
    (setq ent1 (car (entsel "\nSelect Numerical Text: ")))
    (progn
    (setq nmax (atof (cdr (assoc 1 (entget ent1)))))
    (while
    (/= (setq ent (car (entsel "\nSelect Numerical Text: "))) nil)
    (if (= (cdr (assoc 0 (entget ent))) "TEXT")
    (progn
    (setq num (atof (cdr (assoc 1 (entget ent)))))
    (if (> num nmax)
    (setq nmax num)
    ) ;_ end if
    ) ;_ end progn
    (alert "Selected Entity must be Text.")
    ) ;_ end if
    ) ;_ end while
    (alert (strcat "Maximum Number is: " (rtos nmax)))
    ) ;_ end progn
    (alert "Text Required.")
    ) ;_ end if
    )
    ((= ans "Min")
    (if
    (setq ent2 (car (entsel "\nSelect Numerical Text: ")))
    (progn
    (setq nmin (atof (cdr (assoc 1 (entget ent2)))))
    (while
    (/= (setq ent3 (car (entsel "\nSelect Numerical Text: "))) nil)
    (if (= (cdr (assoc 0 (entget ent3))) "TEXT")
    (progn
    (setq num2 (atof (cdr (assoc 1 (entget ent3)))))
    (if (< num2 nmin)
    (setq nmin num2)
    ) ;_ end if
    ) ;_ end progn
    (alert "Selected Entity must be Text.")
    ) ;_ end if
    ) ;_ end while
    (alert (strcat "Minimum Number is: " (rtos nmin)))
    ) ;_ end progn
    (alert "Text Required.")
    ) ;_ end if
    )
    ((= ans "Average")
    (setq ss (ssget)
    ssl (sslength ss)
    index 0
    tents 0
    tot 0
    ) ;_ end setq
    (repeat ssl
    (setq ent4 (entget (ssname ss index)))
    (if (= (cdr (assoc 0 ent4)) "TEXT")
    (progn
    (setq num3 (atof (cdr (assoc 1 ent4))))
    (setq tot (+ num3 tot))
    (setq tents (1+ tents))
    ) ;_ end progn
    ) ;_ end if
    (setq index (1+ index))
    ) ;_ end repeat
    (if (/= tents 0)
    (progn
    (setq ave (/ tot tents))
    (alert (strcat "Average of " (rtos tents) " Numbers is: " (rtos ave)))
    ) ;_ end progn
    (alert "No Text Entities Selected.")
    ) ;_ end if
    )
    ) ;_ end cond
    (princ)
    ) ;_ end defun


    Набираем "number", выбираем функцию, выделяем значения, жмем энтер.
    При вычислении среднего поддерживает выделение рамкой; при поиске min и max, к сожалению, нет, приходится тыкать на каждое число отдельно. Результат выводит в отдельном окошке, для среднего указывает величину выборки. Не текстовые объекты, попавшие в рамку выбора, игнорирует.
    Если необходимо могу дать прямую ссылку на исходник.
     
    Последнее редактирование: 26 мар 2017
    postblast нравится это.
  17. MarkGeo

    MarkGeo Форумчанин

    Коль подняли тему из небытия, то неплохой текстовый калькулятор в VetCAD++.(Многим знаком по МенюГео.)
     
  18. Qvinto

    Qvinto Форумчанин

    А ещё раньше, за царя Гороха, довольно хорошая утилита была ToolPac, я до сих пор ею пользуюсь, для числовых операций и для подсчёта среднего значения и минимальной и максимальной величины.
     

    Вложения:

  19. zvezdochiot

    zvezdochiot Форумчанин

  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление