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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Обновить лисп Dimrotate до актуальных версий Автокада

Обновить лисп Dimrotate до актуальных версий Автокада

Ответ
Поиск в этой теме
Непрочитано 24.11.2011, 12:01 #1
Обновить лисп Dimrotate до актуальных версий Автокада
wepp
 
Инжиниринг
 
Тюмень
Регистрация: 16.09.2011
Сообщений: 235

Здравствуйте! Искал функцию для своей задачи, нашёл. Называется Dimrotate, но вот работает он только в 2006/2007 Автокаде. Подскажите, пожалуйста, что поправить по коду, чтобы работал в Автокад 2009 и новее. Ранее с лиспом только как пользователь работал, тут вот решил глубже копнуть..

Брал тут. По ссылке - описание и пример работы.

Код:
[Выделить все]
 (defun DTR (A) (* PI (/ A 180.0)))
(defun c:DIMROTATE (/ DIM_CNT DIM_SS1 DIM_OBJ DIM_ANG)
(command ".undo" "group")
(setq DIM_CNT 0
DIM_SS1 (ssget '((0 . "DIMENSION")))
)
(if DIM_SS1
(progn
(repeat (sslength DIM_SS1)
(setq DIM_OBJ (entget (ssname DIM_SS1 DIM_CNT)))
(setq DIM_ANG (- (cdr (assoc 51 DIM_OBJ)) (DTR 180)))
(setq DIM_OBJ (subst (cons 51 DIM_ANG) (assoc 51 DIM_OBJ) DIM_OBJ))
(entmod DIM_OBJ)
(princ (strcat "\rRotating dimension "
(itoa DIM_CNT)
" of "
(itoa (sslength DIM_SS1))
)
)
(setq DIM_CNT (1+ DIM_CNT))
)
(princ (strcat "\rRotating dimension "
(itoa DIM_CNT)
" of "
(itoa (sslength DIM_SS1))
)
)
)
)
(command ".undo" "end")
(princ)
)

Спотыкается тут:

Цитата:
Команда: dimrotate
.undo Неизвестная команда "UNDO". Для вызова справки нажмите F1.
Команда: group Неизвестная команда "GROUP". Для вызова справки нажмите F1.

Последний раз редактировалось wepp, 24.11.2011 в 12:04. Причина: ошибку добавил
Просмотров: 1847
 
Непрочитано 24.11.2011, 12:10
#2
TararykovDG

Программист-энтузиаст
 
Регистрация: 17.07.2009
Воронеж
Сообщений: 575


wepp, попробуй вместо .undo везде написать _.undo
__________________
cadtools
TararykovDG вне форума  
 
Непрочитано 24.11.2011, 12:14
#3
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


А также и опции написать с подчерком:
_group
_end
Profan вне форума  
 
Автор темы   Непрочитано 24.11.2011, 12:24
#4
wepp

Инжиниринг
 
Регистрация: 16.09.2011
Тюмень
Сообщений: 235


TararykovDG, Profan, спасибо! Но вылезла новая проблема. При выборе объекта тыкаю мышкой в текст на чертеже - и ничего.
Цитата:
Выберите объекты: найдено: 0
Можно ли проверить, какие объекты хочет эта функция? Но в принципе она именно для текста и создана..
wepp вне форума  
 
Непрочитано 24.11.2011, 12:32
#5
TararykovDG

Программист-энтузиаст
 
Регистрация: 17.07.2009
Воронеж
Сообщений: 575


Цитата:
Сообщение от wepp Посмотреть сообщение
TararykovDG, Profan, спасибо! Но вылезла новая проблема. При выборе объекта тыкаю мышкой в текст на чертеже - и ничего.


Можно ли проверить, какие объекты хочет эта функция? Но в принципе она именно для текста и создана..
В коде формируется набор (ssget '((0 . "DIMENSION"))). DIMENSION - это размеры, а не текст. Нужно выбрать рамкой размеры и нажать Enter
__________________
cadtools
TararykovDG вне форума  
 
Автор темы   Непрочитано 24.11.2011, 12:51
#6
wepp

Инжиниринг
 
Регистрация: 16.09.2011
Тюмень
Сообщений: 235


Ой-ёй.. На картинку посмотрел, а текст даже не прочитал. Не подходящая в данный момент функция, но на будущее оставлю..
wepp вне форума  
 
Непрочитано 24.11.2011, 18:37
#7
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Для текста
http://forum.dwg.ru/showthread.php?p=472976#post472976
Do$ вне форума  
 
Автор темы   Непрочитано 24.11.2011, 18:44
#8
wepp

Инжиниринг
 
Регистрация: 16.09.2011
Тюмень
Сообщений: 235


Цитата:
Сообщение от Do$ Посмотреть сообщение
Я обнаружил, что есть _TORIENT из Express Tool. Замечательно поворачивает все тексты, вне зависимости от их исходного угла на 180 градусов.
wepp вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Обновить лисп Dimrotate до актуальных версий Автокада



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
можно ли преобразовать 3Dтела, созданные в Автокаде 2006, в редактируемые 3Dтела последующих версий Автокада? АлексЮстасу AutoCAD 9 15.09.2011 08:02
лисп вне автокада Димас Разное 12 15.08.2008 15:18