Добро пожаловать!

Войдите или зарегистрируйтесь сейчас!

Войти

Нужна помощ в написании lisp

Тема в разделе "Autocad", создана пользователем Aleks11111111, 19 июл 2016.

  1. Aleks11111111

    Регистрация:
    19 июл 2016
    Сообщения:
    7
    Симпатии:
    0
    Помогите пожалуйста в написании lisp проставляющий отклонения в плане и по высоте согласно ГОСТ Р 51872-2002
    Те что есть на форуме либо не актуальны, либо не работают.
    Есть вот такой:
    (defun C:svai (/ osm cla col sv_pr sv_f d_x d_y z_f d_x_t d_y_t z_p uglx
    ugly *error* tst)
    (defun *error* (msg)(princ msg)
    (setvar "OSMODE" osm)
    (setvar "CLAYER" cla)
    (setvar "CECOLOR" col)
    (setvar "TEXTSTYLE" tst)(princ)
    )
    (setvar "CMDECHO" 0)
    (setq osm (getvar "OSMODE"))
    (setq cla (getvar "CLAYER"))
    (setq col (getvar "CECOLOR"))
    (setq tst (getvar "TEXTSTYLE"))
    (setq z_p (getreal "\nВведите проектную отметку свай: "))
    (princ "\n**0 ")
    (VL-CMDF "_-style" "159" "Arial" "0.15" "" "" "" "")
    (while
    (and
    (setvar "osmode" 41)
    (setq sv_pr (getpoint "\nПроектное положение сваи <Выход>"))
    (setq sv_f (getpoint "\nФактическое положение сваи <Выход>"))
    (setq d_x
    (- (nth 0 sv_pr) (nth 0 sv_f))
    d_y
    (- (nth 1 sv_pr) (nth 1 sv_f))
    z_f
    (nth 2 sv_f)
    d_x_t
    (abs (fix (* d_x 1000)))
    d_y_t
    (abs (fix (* d_y 1000)))
    )
    (setvar "osmode" 0)
    (if z_p
    (setq z_t (fix (* 1000 (- z_f z_p))))
    (setq z_t "")
    )
    (VL-CMDF "_-LAYER" "_M" "Подп" "_C" 7 "" "_LW" 0.5 "" "")
    (VL-CMDF "_-color" "ByLayer"
    ;;; "" ;_Лишняя
    )
    (VL-CMDF "_.text"
    (polar sv_pr 5.0630 0.36)
    "0"
    z_t
    ;;; "" ;_Лишняя
    )
    (if (> d_x 0)
    (progn
    (setq uglx pi)
    (VL-CMDF "_.text"
    "_J"
    "_R"
    (polar sv_pr 2.730 0.3)
    "0"
    d_x_t
    ;;; "" ;_Лишняя
    )
    )
    (progn
    (setq uglx 0)
    (VL-CMDF "_.text"
    (polar sv_pr 0.412 0.3)
    "0"
    d_x_t
    ;;; "" ;_Лишняя
    )
    )
    )
    (if (> d_y 0)
    (progn
    (setq ugly (+ pi (/ pi 2)))
    (VL-CMDF "_.text"
    "_J"
    "_R"
    (polar sv_pr 4.3004 0.3)
    "90"
    d_y_t
    ;;; "" ;_Лишняя
    )
    )
    (progn
    (setq ugly (/ pi 2))
    (VL-CMDF "_.text"
    (polar sv_pr 1.9828 0.3)
    "90"
    d_y_t
    ;;; "" ;_Лишняя
    )
    )
    )
    (VL-CMDF "_-LAYER" "_M" "Свая" "_C" 5 "" "_LW" 0.5 "" "")
    (VL-CMDF "_.rectang"
    (polar sv_pr (/ pi 4) 0.212132)
    (polar sv_pr (+ pi (/ pi 4)) 0.212132)
    ;;; "" ;_ Лишняя кавычка
    )
    (VL-CMDF "_.-LAYER" "_M" "Стрелки" "_C" 1 "" "_LW" 0.5 "" "")
    (VL-CMDF "_.pline"
    (polar sv_pr ugly 0.15)
    (polar sv_pr ugly 0.55)
    ""
    )
    (VL-CMDF "_.pline"
    (polar sv_pr uglx 0.15)
    (polar sv_pr uglx 0.55)
    ""
    )
    (VL-CMDF "_.pline"
    (polar (polar sv_pr uglx 0.55)
    (+ uglx 2.7676)
    0.20
    )
    (polar sv_pr uglx 0.55)
    (polar (polar sv_pr uglx 0.55)
    (- uglx 2.7676)
    0.20
    )
    ""
    )
    (VL-CMDF "_.pline"
    (polar (polar sv_pr ugly 0.55)
    (+ ugly 2.7676)
    0.20
    )
    (polar sv_pr ugly 0.55)
    (polar (polar sv_pr ugly 0.55)
    (- ugly 2.7676)
    0.20
    )
    ""
    )
    )
    )
    (setvar "OSMODE" osm)
    (setvar "CLAYER" cla)
    (setvar "CECOLOR" col)
    (setvar "TEXTSTYLE" tst)
    (princ)
    )
    Но в нем нет префиксов {B} {H}
     

    Вложения:

    #1
  2. Shemba

    Форумчанин

    Регистрация:
    18 сен 2013
    Сообщения:
    173
    Симпатии:
    82
    Чудак человек! Вот, держи http://geodesist.ru/forum/resources/softgeo.166/
    Лучше я пока не видел, и все там есть и "в" и "н" и даже в прямоугольничках. Так же и значек наклона |/
    Ну да что там рассказывать, лучше пробуйте!

    П.С. Товарищу Philin'у еще раз СПАСИБО!
     
    #2
  3. Philin

    Форумчанин

    Регистрация:
    1 фев 2008
    Сообщения:
    2.567
    Симпатии:
    2.092
    Адрес:
    Москва
    Изобретаем велосипед? Ну-ну :)

    Зато в тех, что на форуме и префиксы есть и есть
     
    #3
  4. Aleks11111111

    Регистрация:
    19 июл 2016
    Сообщения:
    7
    Симпатии:
    0
    Спасибо, но есть проблема. все сделал по инструкции, пишет "имя макроса ошибка" 111.jpg
    --- Сообщения объединены, 20 июл 2016, Оригинальное время сообщения: 20 июл 2016 ---
    В каких, на пример.
    Перепробовал многие варианты, к сожалению не корректно работает или ВООБЩЕ не работает.
     
    #4
  5. Philin

    Форумчанин

    Регистрация:
    1 фев 2008
    Сообщения:
    2.567
    Симпатии:
    2.092
    Адрес:
    Москва
    Кнопка на панели получена из файла адаптации, который находится в архиве с программой, или создана самостоятельно?

    Есть подозрение, что ваша Windows заблокировала доступ к папке и файлу программы т.к. он был скачан из интернет.
     
    #5
  6. Shemba

    Форумчанин

    Регистрация:
    18 сен 2013
    Сообщения:
    173
    Симпатии:
    82
    У Вас 2016 кад, значит в 3 действия: скинуть на диск Ц; прописать в доверенные указанной командой; перекинуть файл адаптации. И все гуд!
     
    #6
  7. Aleks11111111

    Регистрация:
    19 июл 2016
    Сообщения:
    7
    Симпатии:
    0
    На диск Ц скинул из начально, но хотелось бы полную инструкцию.
    Все же получается что на форуме информация не актуальна, помогите пожалуйста разобраться.
    как "прописать в доверенные указанной командой" , куда "перекинуть файл адаптации" , что за "перекинуть файл адаптации"???
    Я все делал по иструкции, так понимаю и кнопку сделал сам.
    --- Сообщения объединены, 21 июл 2016, Оригинальное время сообщения: 21 июл 2016 ---
    Я все делал по иструкции, так понимаю и кнопку сделал сам.
     
    #7

Поделиться этой страницей

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