Меню

Ошибка no function definition nil


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

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

Войти


  1. ViruS_worm

    Форумчанин

    Регистрация:
    22 сен 2014
    Сообщения:
    61
    Симпатии:
    6

    здравствуйте. стоит win7 x64+автокад сивил 2016+растер дизигнер
    помогите решить проблему, запускаю програмки с форума (гео-откос и гео_апп) а они не адекватно работают.
    произошло это как всегда неожиданно примерно в такой последовательности:
    все работало -> какое-то время не пользовался -> и на тебе «как отрезало»
    в частности гео-откос выдает: no function definition: vlax-ename->vla-object
    гео_апп не реагирует на кнопки, чертит не полилинии, а отрезки, не вставляет блоки.
    пробовал (vl-load-com) в коммандной строке вводить в ответ ничего
    пробовал (vla-get-activedocument (vlax-get-acad-object)) в ответ #<VLA-OBJECT IAcadDocument 0000000023870cf8>
    пробовал полную переустановку автокада с чистокой реестра и удалением папок ключей описанную здесь
    конечно при полной переустановке операционной системы все болезни лечатся, но как то это кардинально, да и времени тучу потратить
    может кто сталкивался с подобным?

    #1


  2. VovkaMel

    Регистрация:
    24 июн 2015
    Сообщения:
    7
    Симпатии:
    2

    Здравствуйте
    Нашли ответ на вопрос? Столкнулся с такой же ситуацией

    #2


  3. АлексЮстасу

    Форумчанин

    Регистрация:
    28 май 2012
    Сообщения:
    1.711
    Симпатии:
    639
    Адрес:

    Маськва

    Попробуйте прямо автору написать — BearDyugin
    Или в его соответствующие Ресурсы.

    #3


  4. BearDyugin

    Форумчанин

    Регистрация:
    30 ноя 2007
    Сообщения:
    2.680
    Симпатии:
    2.397
    Адрес:

    Сибирь

    С этого он и начал. Но к сожалению я не знаю в чём может быть проблема, периодически(но очень редко) обращаются с подобной проблемой, но даже предположить не могу с чем она связана. Чтобы узнать причину, мне нужно воспроизвести эту проблему на своём ПК, но сделать этого не получится.

    #4


  5. trir

    Форумчанин


  6. VovkaMel

    Регистрация:
    24 июн 2015
    Сообщения:
    7
    Симпатии:
    2

    Сейчас попробую.Спасибо.
    Вчера половину этого перечитал, вопрос так и не решил.Два раза переставлял Cad

    — Сообщения объединены, 15 ноя 2019, Оригинальное время сообщения: 15 ноя 2019

    Подскажите не совсем понятно.В реестре нашел эти строки.Как восстанавливаются пути.Где это делается?Может поможет

    #6


  7. trir

    Форумчанин

    просто поиском найди его на диске

    #7


  8. VovkaMel

    Регистрация:
    24 июн 2015
    Сообщения:
    7
    Симпатии:
    2

    Все получилось.Ура.Но пришлось менять путь в win 64, в win 32 ничего не выходило.
    Спасибо кто помогал

    Благодарность.png

    #8


  9. trir

    Форумчанин

    видимо AutoCAD у тебя х64

    #9


  10. Yaroslavv

    Регистрация:
    3 июл 2019
    Сообщения:
    1
    Симпатии:
    2

    Добрый день, у меня, после удаления Autocad 2021 и установки Civil 3D вылезла аналогичная проблема — ошибка функции VLAX-ENAME->VLA-OBJECT
    И, как следствие, я не смог произвести экспорт координат в файл.
    Собственно помогло изменение реестра как указано в ссылка

    #10


    BearDyugin и Qvinto нравится это.

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

  1. 2014-06-16, 04:50 PM


    #1

    lisaj98052674917 is offline


    Member


    Default I’m getting this message » ; error: no function definition: nil»

    I have not don list for a while just getting back into it. so I have this lisp that makes a layer from the selected element and changes the color, and moves the selected ement to that layer, This works fine except I get this error message, «would like to know what this means» and how to fix it.
    Thanks,

    Code:

     
    (defun C:LRl (/ ent elay ldata)  ; = Move To -New Layer [and make that Layer]
      (setvar "cmdecho" 0)
      (setq
        ent   (car
         (entsel
           "nSelect object to make -New Layer for and move to it: "
         )
       )
        elay  (cdr (assoc 8 (entget ent)))
       ldata    ; Layer data without non-transferable elements
       (vl-remove-if-not
         '(lambda (x) (member (car x) '(0 100 2 70 62 6)))
         (entget (tblobjname "layer" elay))
       )    ; vl-remove-if-not & ldata
      )
      (if
        (or
          (< (strlen elay) 5) ; not a long-enough Layer name to already end in -New with anything preceding
          (/= (strcase (substr elay (- (strlen elay) 3))) "-REMV")
         ; not already on a Layer like that
        )     ; and
         (progn
           (entmake
      (subst (cons 2 (strcat elay "-REMV")"") (assoc 2 ldata) ldata)
           )    ; create Layer
           ((command "_.chprop" ent "" "_layer" (strcat elay "-REMV")) ; move object to it
      (command "._layer" "_C" "8" "*-remv*" "")
           )
         )     ; progn
      )
    ("cmdecho" 1)    ; if
    (princ)
    )

    Last edited by rkmcswain; 2014-06-18 at 02:16 PM.

    Reason: added [CODE] tags


  2. 2014-06-16, 05:11 PM


    #2

    Default Re: I’m getting this message » ; error: no function definition: nil»

    Try replacing

    Code:

     ((command "_.chprop" ent "" "_layer" (strcat elay "-REMV"))

    with

    Code:

     (setq elay (strcat elay "-REMV"))
    (command "_.chprop" ent "" "_layer" elay)

    or at least get rid of the extra open parentheses.


  3. 2014-06-16, 05:16 PM


    #3

    Default Re: I’m getting this message » ; error: no function definition: nil»

    Also should be

    Code:

     (setvar "cmdecho" 1)

    While entering a system variable at the command line to change it works it will not in lisp since «cmdecho» is not a lisp command.


  4. 2014-06-16, 06:44 PM


    #4

    lisaj98052674917 is offline


    Member


    Default Re: I’m getting this message » ; error: no function definition: nil»

    Thank you for your response, tried both suggestion and still get this error message:
    it works correctly just has this funny mesage at the end. and dont really understand why.

    PLOT

    Code:

    (defun C:LR (/ ent elay ldata)		; = Move To -New Layer [and make that Layer]
    (setvar "cmdecho" 0)  
    (setq
        ent	  (car
    	    (entsel
    	      "nSelect object to make -New Layer for and move to it: "
    	    )
    	  )
        elay  (cdr (assoc 8 (entget ent)))
        ldata				; Layer data without non-transferable elements
    	  (vl-remove-if-not
    	    '(lambda (x) (member (car x) '(0 100 2 70 62 6)))
    	    (entget (tblobjname "layer" elay))
    	  )				; vl-remove-if-not & ldata
      )
      (if
        (or
          (< (strlen elay) 5)
    			; not a long-enough Layer name to already end in -New with anything preceding
          (/= (strcase (substr elay (- (strlen elay) 3))) "-REMV")
    					; not already on a Layer like that
        )					; and
         (progn
           (entmake
    	 (subst (cons 2 (strcat elay "-REMV")) (assoc 2 ldata) ldata))	; create Layer
    ((command "_.chprop" ent "" "_layer" (strcat elay "-REMV") "" "" ""); move object to it
    (command "._layer" "_C" "8" "*-remv*" "")
    (setvar "cmdecho" 1)
           )
         )					; progn
      )					; if
    )

    Last edited by rkmcswain; 2014-06-18 at 02:17 PM.

    Reason: added [CODE] tags


  5. 2014-06-16, 07:27 PM


    #5

    Default Re: I’m getting this message » ; error: no function definition: nil»

    Try clicking the ‘Go Advanced’ button, Then pick ‘Wrap [CODE] tags around selected text’ (# symbol from menu bars) and place the lisp code inside the [CODE] tags. That makes it easier for us to test your code.

    Pasting everything that was output to the command line in response to the command may help as well.


  6. 2014-06-18, 02:24 PM


    #6

    Default Re: I’m getting this message » ; error: no function definition: nil»

    When you paste code into the edit window, please add [CODE] to the beginning and [/CODE] to the end of your code. That will cause the code to be printed in a special window/font so it’s easy to spot, copy, etc.

    Code:

    ;;; this is a sample


  7. 2014-06-20, 01:40 PM


    #7

    lisaj98052674917 is offline


    Member


    Default Re: I’m getting this message » ; error: no function definition: nil»

    Code:

    (defun C:LR (/ ent elay ldata)		; = Move To -New Layer [and make that Layer]
      (setq
        ent	  (car
    	    (entsel "nSelect object to make -New Layer for and move to it: "))
        elay  (cdr (assoc 8 (entget ent)))
        ldata ; Layer data without non-transferable elements
    	  (vl-remove-if-not
    	    '(lambda (x) (member (car x) '(0 100 2 70 62 6)))
    	    (entget (tblobjname "layer" elay))
    	  ); vl-remove-if-not & ldata
      ):
      (if
        (or
          (< (strlen elay) 5)
    	; not a long-enough Layer name to already end in -New with anything preceding
          (/= (strcase (substr elay (- (strlen elay) 3))) "-REMV"); not already on a Layer like that
        ); and
         (progn
           (entmake
    	 (subst (cons 2 (strcat elay "-REMV")) (assoc 2 ldata) ldata))	; create Layer
           (command "._layer" "_C" "8" "*-remv*" "")
           (command "_.chprop" ent	 "" "_layer" (strcat elay "-REMV") "" "" ""); move object to it
    	 
           )
        )					; progn
      )					; if
    )					; defun


  8. 2014-06-20, 01:59 PM


    #8

    Default Re: I’m getting this message » ; error: no function definition: nil»

    Try:

    Code:

    (defun C:LR (/ ent elay ldata)		; = Move To -New Layer [and make that Layer]
      (setq
        ent	  (car
    	    (entsel
    	      "nSelect object to make -New Layer for and move to it: "
    	    )
    	  )
        elay  (cdr (assoc 8 (entget ent)))
        ldata				; Layer data without non-transferable elements
    	  (vl-remove-if-not
    	    '(lambda (x) (member (car x) '(0 100 2 70 62 6)))
    	    (entget (tblobjname "layer" elay))
    	  )				; vl-remove-if-not & ldata
      )
      :
      (if
        (or
          (< (strlen elay) 5)
    					; not a long-enough Layer name to already end in -New with anything preceding
          (/= (strcase (substr elay (- (strlen elay) 3))) "-REMV")
    					; not already on a Layer like that
        )					; and
         (progn
           (entmake
    	 (subst (cons 2 (strcat elay "-REMV")) (assoc 2 ldata) ldata)
           )				; create Layer
           (command "_.chprop" ent	 "" "_layer" (strcat elay "-REMV") "" "._layer" "_C" "8" "*-remv*" ""); move object to it
         )					; progn
      )					; if
      (princ)
    )


  9. 2014-06-20, 07:59 PM


    #9

    lisaj98052674917 is offline


    Member


    Default Re: I’m getting this message » ; error: no function definition: nil»

    Is there a way to have this promt for user input for the layer it creates?


  10. 2014-06-23, 05:16 PM


    #10

    Default Re: I’m getting this message » ; error: no function definition: nil»

    Try:

    Code:

    (defun C:LR (/ str len ent elay ldata)		; = Move To -New Layer [and make that Layer]
      (setq
        str	  (getstring T "nAdd Suffix: ")
        len	  (strlen str)
        ent	  (car
    	    (entsel
    	      "nSelect object to make -New Layer for and move to it: "
    	    )
    	  )
        elay  (cdr (assoc 8 (entget ent)))
        ldata				; Layer data without non-transferable elements
    	  (vl-remove-if-not
    	    '(lambda (x) (member (car x) '(0 100 2 70 62 6)))
    	    (entget (tblobjname "layer" elay))
    	  )				; vl-remove-if-not & ldata
      )
      :
      (if
        (or
          (< (strlen elay) len)
    					; not a long-enough Layer name to already end in -New with anything preceding
          (/= (strcase (substr elay (- (strlen elay) len))) str)
    					; not already on a Layer like that
        )					; and
         (progn
           (entmake
    	 (subst (cons 2 (strcat elay str)) (assoc 2 ldata) ldata)
           )				; create Layer
           (command "_.chprop" ent	 "" "_layer" (strcat elay str) "" "._layer" "_C" "8" (strcat "*" str) ""); move object to it
         )					; progn
      )					; if
      (princ)
    )


Перейти к содержимому раздела

Форумы CADUser

Информационный портал для профессионалов в области САПР

Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.

Дерево сообщений Активные темы Темы без ответов

Страницы 1

Чтобы отправить ответ, вы должны войти или зарегистрироваться

#1 21 декабря 2007г. 01:59:52

  • Salina
  • Восстановленный участник
  • На форуме с 25 июля 2007г.
  • Сообщений: 14
  • Спасибо: 0

Тема: error: no function definition

Взят с форума лисп, положен в папку support, макрос на кнопку
^C^C^P(if (not (calc_dist)) (load «calc_dist.lsp»)) (calc_dist)
Сам лисп

(defun c:mlen2 (/ adoc selset layer_list init _kpblc-string-subst item sum_len)
  (vl-load-com)
  (setq  adoc  (vla-get-activedocument (vlax-get-acad-object))
  sum_len  0.0
  ) ;_ end of setq
  (vla-startundomark adoc)
  (if
    (setq ent (entsel "nУкажите примитив, с которого брать слой <Выход> : "))
     (progn
       (setq selset (ssget (list (assoc 8 (entget (car ent))))))
       (while (and selset
       (> (sslength selset) 0)
       ) ;_ end of and
   (setq item (ssname selset 0))
   (ssdel item selset)
   (setq item    (vlax-ename->vla-object item)
         sum_len (+ sum_len
        (if (vlax-property-available-p item 'length)
          (vla-get-length item)
          (cond
            ((= (strcase (vla-get-objectname item) t) "acdbarc")
             (vla-get-arclength item)
             )
            ((= (strcase (vla-get-objectname item) t) "acbcircle")
             (* pi 2.0 (vla-get-radius item))
             )
            (t 0.0)
            ) ;_ end of cond
          ) ;_ end of if
        ) ;_ end of +
         ) ;_ end of setq
   ) ;_ end of while
       (princ (rtos sum_len 2 4))
       ) ;_ end of progn
     ) ;_ end of if
  (vla-endundomark adoc)
  (princ)
  ) ;_ end of defun

И хоть убейся-выдает ошибку error: no function definition: CALC_DIST
Не подскажете, в чем может быть проблема?

#2 Ответ от Electr 21 декабря 2007г. 05:56:43

  • Electr
  • Активный участник
  • Откуда: Киргизстан / Биш
  • На форуме с 6 августа 2007г.
  • Сообщений: 241
  • Спасибо: 2

Re: error: no function definition

Исравь в программе calc_dist на mlen2

#3 Ответ от Electr 21 декабря 2007г. 06:00:07

  • Electr
  • Активный участник
  • Откуда: Киргизстан / Биш
  • На форуме с 6 августа 2007г.
  • Сообщений: 241
  • Спасибо: 2

Re: error: no function definition

Извини не в программе а в макросе. И надо чтобы файл программы назывался mlen2.lsp
^C^C^P(if (not (mlen2)) (load «mlen2.lsp»)) (mlen2)

#4 Ответ от Salina 21 декабря 2007г. 14:16:01

  • Salina
  • Восстановленный участник
  • На форуме с 25 июля 2007г.
  • Сообщений: 14
  • Спасибо: 0

Re: error: no function definition

не получается. теперь error: no function definition: MLEN2 🙁

#5 Ответ от Hrenn 21 декабря 2007г. 14:30:27

  • Hrenn
  • Восстановленный участник
  • На форуме с 28 октября 2004г.
  • Сообщений: 2,016
  • Спасибо: 0

Re: error: no function definition

Файл с программой имеет имя mlen2.lsp или какое другое?

#6 Ответ от Salina 21 декабря 2007г. 14:32:02

  • Salina
  • Восстановленный участник
  • На форуме с 25 июля 2007г.
  • Сообщений: 14
  • Спасибо: 0

Re: error: no function definition

именно mlen2.lsp

#7 Ответ от Hrenn 21 декабря 2007г. 14:37:26

  • Hrenn
  • Восстановленный участник
  • На форуме с 28 октября 2004г.
  • Сообщений: 2,016
  • Спасибо: 0

Re: error: no function definition

Попробуйте вручную загрузить лисп через команду _appload
После загрузки введите с ком. строки

Если заработает — надо править макрос

#8 Ответ от Hrenn 21 декабря 2007г. 14:48:58

  • Hrenn
  • Восстановленный участник
  • На форуме с 28 октября 2004г.
  • Сообщений: 2,016
  • Спасибо: 0

Re: error: no function definition

Ещё проверить, прописан ли путь к папке Support в настройках _options

#9 Ответ от Salina 21 декабря 2007г. 14:50:44

  • Salina
  • Восстановленный участник
  • На форуме с 25 июля 2007г.
  • Сообщений: 14
  • Спасибо: 0

Re: error: no function definition

так работает, с кнопки-никак

#10 Ответ от Salina 21 декабря 2007г. 14:51:33

  • Salina
  • Восстановленный участник
  • На форуме с 25 июля 2007г.
  • Сообщений: 14
  • Спасибо: 0

Re: error: no function definition

путь к папке прописан. второй лисп работает в той же папке без проблем.

#11 Ответ от Александр Ривилис 21 декабря 2007г. 15:00:22

  • Александр Ривилис
  • Александр Ривилис
  • Активный участник
  • Откуда: Украина / Киев
  • На форуме с 15 апреля 2005г.
  • Сообщений: 8,659
  • Спасибо: 157

Re: error: no function definition

А так:

^C^C^P(if (not c:mlen2) (load "mlen2.lsp")) mlen2

Или так:

^C^C^P(if (not c:mlen2) (load "mlen2.lsp")) (c:mlen2)

?

#12 Ответ от Salina 21 декабря 2007г. 15:16:15

  • Salina
  • Восстановленный участник
  • На форуме с 25 июля 2007г.
  • Сообщений: 14
  • Спасибо: 0

Re: error: no function definition

а так работает! Спасибо!

Сообщения 12

Тему читают: 1 гость

Страницы 1

Чтобы отправить ответ, вы должны войти или зарегистрироваться

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Ошибка no such partition grub rescue что делать
  • Ошибка no displayport cable