Search the Community
Showing results for tags 'лисп'.
-
Есть программы которая считывает атрибуты блока и заполняет таблицу (например: общие данные). Случайно заметил глюк. При очередном открытии файла (после просмотра его автокадом) атрибуты блоков немного "поплыли". Помогает команда в командной строке "атробновить". Атрибуты в пространстве модели после этого выглядят нормально. Но программное чтение атрибута не видить его значения. При этом в свойствах блока значения атрибутов видно. Чтобы исправить ситуацию приходится ручками заходить в редактирование атрибута блока и не редактируя выйти. Что это может быть? и как избежать?
- 24 replies
-
Лисп выдает ошибку при загрузке приложения в Нанокад 5.1. (vl-load-com) (defun c:b2p ( / name_of_bl dis pln dis_pl dis_run i krd prm_pnt proiz ugol_pl ugol_pl_gr my_blok my_att spis_att att_old att_new spis_att strt stp) (setq snp (getvar "Osmode")) (setvar "Osmode" 0) (setq name_of_bl (getstring "Name of blok? ")) (setq dis (getreal "Distance? ")) (setq strt (getint "\nStart number? ")) (setq stp (getint "\nStep? ")) (setq pref (getstring "\nPrefiks? ")) (setq suff (getstring "\nSuffiks? ")) (setq pln (car (entsel))) (setq dis_pl (vlax-curve-getDistAtParam pln (vlax-curve-getEndParam pln))) (setq dis_run (- 0.0 dis) i (- strt stp)) (while(< (+ dis_run dis) dis_pl) (progn (setq i (+ i stp)) (setq dis_run (+ dis_run dis)) (setq krd (vlax-curve-getPointAtDist pln dis_run)) (setq prm_pnt (vlax-curve-getParamAtPoint pln krd)) (setq proiz (vlax-curve-getFirstDeriv pln prm_pnt)) (setq ugol_pl (angle '(0 0 0) proiz)) (setq ugol_pl_gr (* ugol_pl 57.29747)) (setvar "attreq" 0) (command "_.insert" name_of_bl krd 1.0 1.0 ugol_pl_gr) (setq my_blok (entlast)) (setq my_att (entnext my_blok)) (setq spis_att (entget my_att)) ;spisok (setq att_old (assoc 1 spis_att)) ;name (setq num_new (itoa i)) (setq num_new (strcat pref num_new suff))) (setq att_new (cons 1 num_new)) ; (setq spis_att (subst att_new att_old spis_att)); zamena (entmod spis_att) (entupd (cdr (assoc -1 spis_att))) ) ;progn ) (setvar "Osmode" snp) ) Пример работающий на lisp для AutoCad обсуждался в этой ветке http://forum.dwg.ru/...5536#post415536. При запуске под Нанокадом выдает ошибку. ошибка: неверный тип аргумента: 2D/3D point: nil