размеры
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > размеры

размеры

Ответ
Поиск в этой теме
Непрочитано 08.11.2004, 12:01 #1
размеры
ден
 
Сообщений: n/a

Помогите пожалуйста не работает лисп для проставления размеров в разных слоях

(defun c:sd
() (setvar "cmdecho" 0)
(setq lay "dimh" cl "2") (lay_ht)
(setq lay "dimv" cl "2") (lay_ht)
(if (= nil (setq na (ssget "x" '((0 . "DIMENSION")))))
(print "Not found entity DIMENSION in draw")
(progn
(setq n (sslength na) in 0)
(if (or (= (tblsearch "style" "st") nil)
(/= (cdr (assoc 3 (tblsearch "style" "st"))) "hebtxt"))
(command "style" "st" "hebtxt" 0.0 0.8 "" "" "" ""))
(repeat n
(setq en (entget (ssname na in)))
(if (or (= (cadr(assoc 10 en)) (cadr(assoc 14 en)))
(= (caddr(assoc 10 en)) (caddr(assoc 14 en))))
(progn (if (or (= (cadr(assoc 10 en)) (cadr(assoc 14 en)))
(= (cdr(assoc 50 en)) 0.0)
(= (cdr(assoc 50 en)) pi)
)
(progn
(if (or (= (cdr(assoc 50 en)) 0.0) (= (cdr(assoc 50 en)) pi))
(setq nw (subst '(8 . "DIMH") (assoc 8 en) en)
)
(setq nw (subst '(8 . "DIMV") (assoc 8 en) en)
)
))
(setq nw (subst '(8 . "DIMV") (assoc 8 en) en)
)
))
(setq nw (subst '(8 . "DIMR") (assoc 8 en) en)))
(entmod nw) (entmod n5)
(setq in (+ 1 in)));repeat
))

(setvar "cmdecho" 1));end sd

(asave)
(c:sd)
Просмотров: 3193
 
Непрочитано 08.11.2004, 12:15
#2
{Smirnoff}

Инженер по системам безопасности
 
Регистрация: 23.11.2003
Рига
Сообщений: 1,099


№1. Отсутствует функция (lay_ht). Поищи в том же файле (defun lay_ht... После нахождения можно дальше разбиратся.

И потом стремно написано, все переменные глобальные и имеют очень простые названия. Нет никакой гарантии что например глобальная переменная "n" не содержится в другом лиспе.

Нехочется сейчас вдаваться в подробности, объясни что "оно" должно делать, думаю что проще переписать...
{Smirnoff} вне форума  
 
Непрочитано 08.11.2004, 17:40
#3
ден


 
Сообщений: n/a


Он проставляет размеры горизонтальные и вертикальные и угловые в разных слоях
 
 
Непрочитано 09.11.2004, 12:24
#4
{Smirnoff}

Инженер по системам безопасности
 
Регистрация: 23.11.2003
Рига
Сообщений: 1,099


Посмотрел чуть чуть, разобрался. Лисп конечно не проставляет размеры в соответствующих слоях, а перемещает их туда в зависимости от типа. Функция (lay_ht) очевидно создавала слои, с определенными параметрами.

Если это еще нужно, напиши какие параметры должны быть у слоев, и текстового стиля. "Починим"...
{Smirnoff} вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > размеры