Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 04/05/2011 in File Comments

  1. А прочитать комментарий в лиспе или перейти по ссылке на сайт lee-mac тяжело? Это же текстовый файл! Для ленивых даже добавила перевод
    3 points
  2. Я бы подумал на предмет прохода по всем примитивам - "удаляемые" масштабы могут использоваться. Ну а про метки начала-конца отмены и отлов ошибок я даже не напоминаю )))
    2 points
  3. Задал вопрос разработчику #19516
    2 points
  4. То ли я не отправил отзыв, то ли он не прошел модерацию... В качестве варианта для сохранения / чтения настроек: (vl-load-com) (defun _kpblc-dir-create (path / tmp) ;| * Гарантированное создание каталога * Параметры вызова: path ; создаваемый каталог |; (cond ((vl-file-directory-p path) path) ((setq tmp (_kpblc-dir-create (vl-filename-directory path))) (vl-mkdir (strcat tmp "\\" (vl-filename-base path) (cond ((vl-filename-extension path)) (t "") ) ;_ end of cond ) ;_ end of strcat ) ;_ end of vl-mkdir (if (vl-file-directory-p path) path ) ;_ end of if ) ) ;_ end of cond ) ;_ end of defun (defun _kpblc-get-settings-filename () (strcat (_kpblc-dir-create (strcat (vl-string-right-trim "\\" (getenv "appdata")) "\\NCad\\AddOnSetings")) "\\TabCoord.ini" ) ;_ end of strcat ) ;_ end of defun (defun _kpblc-settings-save (settings / file handle) ;| * Выполняет запись настроек в файл * Параметры вызова: settings ; список вида '(("mode" . <Режим разметки>) ; t-> цифры, nil -> буквы ("prec" . <Точность координат>) ("notitle" . <Удалять заголовок таблицы>) ("textheight" . <Высота текста таблицы>) ("titleheight" . <Высота заголовка таблицы>) ("height" . <Размер текста>) ("pointwidth" . <Ширина столбца Точка>) ("xwidth" . <Ширина стобца X>) ("radiuswidth" . <Ширина столбца Y>) ("perim" . <Добавлять строку периметра>) ("area" . <Добавлять строку площади>) ("centroid" . <Добавлять строку центра тяжести>) ("scale" . <Масштаб измерения>) ("nohead" . <Удалять заголовок таблицы>) ) |; (setq file (_kpblc-get-settings-filename) handle (open file "w") ) ;_ end of setq (foreach item settings (write-line (strcat (strcase (car item) t) "=" (vl-princ-to-string (cdr item))) handle) ) ;_ end of foreach (close handle) file ) ;_ end of defun (defun _kpblc-settings-read (/ file handle str lst pos default) ;| * Выполняет чтение настроек из ini-файла |; (setq default '( ;("mode" . <Режим разметки>) ("prec" . 4) ; <Точность координат> ;("notitle" . <Удалять заголовок таблицы>) ("textheight" . -2.) ;<Высота текста таблицы> ("titleheight" . -3.) ;<Высота заголовка таблицы> ("height" . -2.) ;<Размер текста> ("pointwidth" . -10.) ;<Ширина столбца Точка> ("xwidth" . -20.) ;<Ширина стобца X> ("ywidth" . -20.) ;<Ширина столбца Y> ("perim" . t) ;<Добавлять строку периметра> ("area" . t) ;<Добавлять строку площади> ("centroid" . t) ;<Добавлять строку центра тяжести> ("scale" . 1e-3) ;<Масштаб измерения> ) ) ;_ end of setq (if (findfile (setq file (_kpblc-get-settings-filename))) (progn (setq handle (open file "r")) (while (setq str (read-line handle)) (if (setq pos (vl-string-search "=" str)) (progn (setq lst (cons (cons (substr str 1 pos) (read (substr str (+ 2 pos)))) lst)) ) ;_ end of progn ) ;_ end of if ) ;_ end of while (close handle) (if lst (reverse lst) default ) ;_ end of if ) ;_ end of progn default ) ;_ end of if ) ;_ end of defun И тогда строки (setq mType T) ;;LA Режим разметки. T - цифры, NIL - буквы (setq tHt -1.0) ;;LA Размер текста таблицы. Положительный - абсолютный, отрицательный - зависит от TEXTSIZE (setq mHt -2.0) ;;LA Указывает размер текста. Положительный - абсолютный, отрицательный - зависит от TEXTSIZE (setq cAcu 4) ;;LA Точность координат (от 0 до 8) ;LA см. версию с форума nanocad.ru (setq dHead nil) ;;LA Если T удалить заголовок таблицы, если NIL не удалять (setq hStr (if IsRus "Каталог координат" "Land # ")) ;;LA Стандартный заголовок (если dHead не равен T) (setq hHt -3) ;;LA Размер текста заголовка. Положительный - абсолютный, отрицательный - зависит от TEXTSIZE (setq w1 -10.0) ;;LA Ширина колонки 'Точка'. Положительный - абсолютный, отрицательный - зависит от TEXTSIZE (setq w2 -20.0) ;;LA Ширина столбцов 'X' и 'Y'. Положительный - абсолютный, отрицательный - зависит от TEXTSIZE (setq w3 -12.0) ;;LA Ширина столбца 'Радиус'. Положительный - абсолютный, отрицательный - зависит от TEXTSIZE (setq isPer T) ;;LA isPer - Если T, добавляет строку периметра (setq isAre T) ;;LA isAre - Если T, добавляет строку площади (setq isGCen T) ;;LA isGCen - Если T, добавляет строку центра тяжести (setq pMul 0.001) ;;LA pMul - Масштаб измнрения периметра (setq aMul (expt pMul 2)) ;;LA aMul - Масштаб измерения площади. В принципе достаточно просто задать ОДИН масштаб измерения длин Можно будет заменить на: ((lambda (/ cur_settings) (setq cur_settings (_kpblc-settings-read) mtype (cdr (assoc "mode" cur_settings)) tht (cdr (assoc "textheight" cur_settings)) mht (cdr (assoc "height" cur_settings)) cacu (cdr (assoc "prec" cur_settings)) dhead (cdr (assoc "nohead" cur_settings)) hstr (if isrus "Êàòàëîã êîîðäèíàò" "Land # " ) ;_ end of if hht (cdr (assoc "titleheight" cur_settings)) w1 (cdr (assoc "pointwidth" cur_settings)) w2 (cdr (assoc "xwidth" cur_settings)) w3 (cdr (assoc "radiuswidth" cur_settings)) isper (cdr (assoc "perim" cur_settings)) isare (cdr (assoc "area" cur_settings)) isgcen (cdr (assoc "centroid" cur_settings)) pmul (cdr (assoc "scale" cur_settings)) amul (expt pmul 2) ) ;_ end of setq ) ;_ end of lambda ) Ну и сохранение будет примерно так (где уж его будете выполнять - без понятия): (_kpblc-settings-save (list (cons "mode" mtype) (cons "textheight" tht) (cons "height" mht) (cons "prec" cacu) (cons "nohead" dhead) (cons "titleheight" hht) (cons "pointwidth" w1) (cons "xwidth" w2) (cons "radiuswidth" w3) (cons "perim" isper) (cons "area" isare) (cons "centroid" isgcen) (cons "scale" pmul) ) ;_ end of list ) ;_ end of _kpblc-settings-save Кстати, в базовом коде есть одно нарушение: в одной из функций (в которой - не скажу, разбираться не было времени) нарушено недокументированное ограничение автолиспа в 255 логических операций внутри одного progn / lambda / defun.
    2 points
  5. Импортировать Кабель силовой.mcd в базу.
    2 points
  6. Ни себе фига файлик! Кстати, он там битый, его пришлось восстанавливать. Попробовал код накидать - но че-т как-то не очень "покатило".
    1 point
  7. В первом прближении и без проверок получилось нечто типа
    1 point
  8. Когда-то потребовалось и добавлял поддержку русского алфавита: 1. отредактирована функция numinc:increment 2. добавлена функция numinc:incrementalpharus NumIncV3-9_Nc_add Rus.lsp
    1 point
  9. я так понимаю потому что (eq " 1" "1")=nil
    1 point
  10. Это в СПДС, посмотрел работает, я искал в Электро. Спасибо за помощь.
    1 point
  11. тут точно нет. Нужен или СПДС или Механика так неужели там не инструментов для решения таких задач?
    1 point
  12. странно, теперь всё работает...
    1 point
  13. Есть стандартная команда REVERSE,FLIP,ОБРАТИТЬ,РАЗВЕРНУТЬ - Разворот
    1 point
  14. Как получить разрешение на скачивание файлов?
    1 point
  15. Зачем-то требовал картинку при загрузке новой версии. Поиском по тегу ищите
    0 points
×
×
  • Create New...