всем двс! помогите разобраться с лиспом , в программировании 0 ( ноль) . может кто сможет доработать. прочитал в инете что нужно ставить знаки , пробовал ставить знаки ._ и без . ( точки ) , короче не получилось.
в данном случае команды нужно вводить без скобок пробелов и без точек (по имени приложения). По коду не скажу что не так. Но для того чтобы он работал в чертеже должны присутствовать блоки типа "vorota" и тд.
Бешеный2012, не работает лисп на рус. версии акада. Что бы программы работали в рус. версии акада, надо перед английской командой ставить знак подчеркивани. Пример: (command "insert" "nlepgeo" opora1 sc sc opora2), нужно перед командой insert поставить подчеркивание. (command "_insert" "nlepgeo" opora1 sc sc opora2). Если команда автокада имеет дополнительные параметры настройки, то перед параметрами то же нужно ставить знак подчеркивания.
то есть получается в коде нужно вставить подчеркивание, но вызов приложения идёт как есть, без подчёркивания?
да, я этим кодом ворота отрисовываю Код: (defun c:MD_Pforte (/ obj pt1 pt2) (setq obj (car (entsel "\nУкажите забор:"))) (if (= nil obj) (progn (princ "\nУказано неверное значение:") ) ) (if (/= nil obj) (progn (setq pt1 (getpoint "\nУкажите первую точку ворот:") pt2 (getpoint "\nУкажите вторую точку ворот:") ) (vl-cmdf "_break" obj "" "П" pt1 pt2) (vl-cmdf "_-insert" "ворота" "пов" (atof (angtos (angle pt1 pt2) 0 3)) pt1 "" "" ) (vl-cmdf "_-insert" "ворота" "пов" (atof (angtos (angle pt1 pt2) 0 3)) pt2 "" "" ) ) ) )