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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > можно ли _offset'ом создавать подобие в другом слое/цвете

можно ли _offset'ом создавать подобие в другом слое/цвете

Ответ
Поиск в этой теме
Непрочитано 12.12.2008, 15:27
можно ли _offset'ом создавать подобие в другом слое/цвете
spaniel
 
Регистрация: 12.12.2008
Сообщений: 10

т.е. есть прямоугольник в слое "Х", нужно чтобы прямоугольник с заданной эквидистантой создавался в другом слое.
Просмотров: 4606
 
Непрочитано 12.12.2008, 16:54
#21
ытя


 
Регистрация: 23.09.2005
СПб
Сообщений: 428


Макрос на кнопку
^C^C_.offset;100;\\;_chprop;_last;;_la;"Слой";;
100- дистанция
"Слой" - имя слоя
ытя вне форума  
 
Непрочитано 12.12.2008, 16:55
#22
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


Цитата:
Сообщение от Хмурый Посмотреть сообщение
команда exoffset из комплекта Express Tools

после ввода расстояния в настройках комады можно выбрать слой (Layer), на котором быдут создаваться примитивы, либо как у объекта-источника (Source) либо текущий слой (Current).
Если при указании направления построения нажать Ctrl- то объект-источник удалится, Shift+указание направления тоже интересно работает
настройки- Options
Хмурый вне форума  
 
Непрочитано 12.12.2008, 16:57
#23
gad

Строитель
 
Регистрация: 02.09.2003
Лукоморье
Сообщений: 1,074


В свое время написал команду для перевода примитива после подобия на текущий слой, так же команда вызывает встроенный калькулятор(командной строки). Делал для разработки КМД.

;;;Программа выполняет команду
;;;offset и переводит примитив на
;;;текущий слой
;;;

(defun c:SgrOffset (/ ce ur_entget result ur_string)
(setq ce (getvar "cmdecho"))
(setvar "cmdecho" 0)

(if (= (member "geomcal.arx" (arx)) nil)
(arxload "geomcal.arx") ;загружаем geomcal.arx содержащий функцию c:cal
)

(if (= -1 (getvar "offsetdist"))
(progn
(while (or (= ur_string nil) (= ur_string ""))
(setq ur_string
(getstring "\nВведите величину смещения или выражение:"
)
)
)
;убираем запятые
(setq ur_string (vl-string-translate "," "." ur_string))

(setq result (c:cal ur_string))
(command "'_setvar" "offsetdist" result)
)
(progn
(setq
ur_string (getstring
(strcat
"\nВведите величину смещения, выражение или <"
(rtos (getvar "offsetdist") 2 4)
">:"
)
)
)
(if (/= ur_string "")
(progn
;убираем запятые
(setq ur_string (vl-string-translate "," "." ur_string))

(setq result (c:cal ur_string))
(command "'_setvar" "offsetdist" result)
)
)
)
)

(setvar "cmdecho" ce)
(setq ur_entget T)

(while (/= ur_entget nil)
(princ
"\nВыберите объект для создания подобных или <выход>:"
)
(setq ur_entget (ssget
"_:S"
)
)
(if (/= ur_entget nil)
(progn
(setq ur_entget (ssname ur_entget 0))
(command "_offset" "" ur_entget pause "")
(SgrSubstLayer (getvar "CLAYER")) ;перенос элемента на слой с посощью функции описана ниже
)
)
)
(princ)
) ;конец defun


;;;************************************************************************************************

;;;************************************************************************************************

;;;Функция предназначена
;;;для переноса элемента
;;;на слой layername
;;;
;;;аргумент
;;; layername-имя слоя

(defun SgrSubstLayer (layername / ur_last)
(setq ur_last (entget (entlast))) ;получаем DXF список последнего примитива
(setq ur_last (subst (cons 8 layername) (assoc 8 ur_last) ur_last))
;заменяем старый слой новым
(entmod ur_last) ;редактируем приметив
) ;конец defun
gad вне форума  
 
Автор темы   Непрочитано 12.12.2008, 17:00
#24
spaniel


 
Регистрация: 12.12.2008
Сообщений: 10


to ытя - ничего не поняла.
to Хмурый - пойду поищу где скачать ExToo
spaniel вне форума  
 
Автор темы   Непрочитано 12.12.2008, 17:06
#25
spaniel


 
Регистрация: 12.12.2008
Сообщений: 10


to gad :

РАБОТАЕТ!!! то что нужно, спасибо!

ЗЫ: была бы я умная смогла бы Вашу програмулину дописать: чтобы удалять исходные объекты, но не повезло.
spaniel вне форума  
 
Непрочитано 12.12.2008, 17:11
#26
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


spaniel, Там вся фишка в подобии в обе стороны
1. Чтобы понять ытю, нужно сначала проштудировать Примеры создания своих команд и меню в AutoCAD.
2. Чтобы попробовать использовать то, что предложено в #23 нужно почитать Как использовать лисп, опубликованный на форуме
3. Express Tools идет в стандартной поставке Автокада. Нужно просто при установке поставить птичку в нужном месте.
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 12.12.2008 в 17:50. Причина: #25 заменен на #23
VVA вне форума  
 
Автор темы   Непрочитано 12.12.2008, 17:17
#27
spaniel


 
Регистрация: 12.12.2008
Сообщений: 10


Всем спасибо! (особо gad !)
тема закрыта! т.к. ответ найден.
spaniel вне форума  
 
Непрочитано 12.12.2008, 17:35
1 | #28
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Цитата:
Сообщение от spaniel Посмотреть сообщение
to gad :
ЗЫ: была бы я умная смогла бы Вашу програмулину дописать: чтобы удалять исходные объекты, но не повезло.
Держи
Код:
[Выделить все]
(defun c:MyOff (/ ce e1 ss)
  (setvar "cmdecho" 1)
  (initget 7)
  (setvar "OFFSETDIST" (getdist"\nВведите величину смещения: "))
  (princ "\nВыберите объект для создания подобных или <выход>:")
  (while (setq ss nil ss (ssget "_:S:E:L"))
	(setq e1 (ssname ss 0))
        (command "_.offset" "" e1 pause "")
        (entmod (subst (cons 8 (getvar "CLAYER"))(assoc 8 (entget (entlast))) (entget (entlast))));_Изменяем слой
        (entdel e1) ;_Удаляем исходный примитив
      (princ "\nВыберите объект для создания подобных или <выход>:")
  )
  (princ)
)
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 12.12.2008, 17:42
#29
zenon

Остекляем!!! Алюминим!!!
 
Регистрация: 21.02.2005
Москва
Сообщений: 3,924
<phrase 1=


VVA, честно пытался запустить код с поста #25, знаешь ничего не выходит
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
 
Непрочитано 12.12.2008, 17:43
#30
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


В #25 посте нет кода
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 12.12.2008, 17:47
#31
zenon

Остекляем!!! Алюминим!!!
 
Регистрация: 21.02.2005
Москва
Сообщений: 3,924
<phrase 1=


VVA,
http://forum.dwg.ru/showpost.php?p=327344&postcount=26
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
 
Непрочитано 12.12.2008, 17:49
#32
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Исправил
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 12.12.2008, 17:57
#33
zenon

Остекляем!!! Алюминим!!!
 
Регистрация: 21.02.2005
Москва
Сообщений: 3,924
<phrase 1=


__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > можно ли _offset'ом создавать подобие в другом слое/цвете

Реклама i


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мониторы LCD CRT Разное 94 17.06.2008 10:51
ЮМОР 2006 =) Perezz!! Разное 1122 04.01.2007 00:46