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

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

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

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

т.е. есть прямоугольник в слое "Х", нужно чтобы прямоугольник с заданной эквидистантой создавался в другом слое.
Просмотров: 4596
 
Непрочитано 12.12.2008, 15:33
#2
Profan


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


Ты забыл, что в AutoCAD'е слой - свойство объекта и копирутеся вместе с самим объектом.
Profan вне форума  
 
Автор темы   Непрочитано 12.12.2008, 15:39
#3
spaniel


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


хорошо, есть ли вариаты с цветом?
spaniel вне форума  
 
Непрочитано 12.12.2008, 15:46
#4
Profan


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


Да это опять свойство объекта. Алгоритм здесь такой: выполняется подобие (offset) и у нового объекта меняется слой или цвет. Это можно сделать программным путем.
Profan вне форума  
 
Непрочитано 12.12.2008, 15:50
#5
Alex II


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


Command: _offset
Current settings: Erase source=No Layer=Source OFFSETGAPTYPE=0
Specify offset distance or [Through/Erase/Layer] <Through>: l

Enter layer option for offset objects [Current/Source] <Source>: *Cancel*
Alex II вне форума  
 
Автор темы   Непрочитано 12.12.2008, 15:51
#6
spaniel


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


тут я не сильнА. -(

Но цель такая: есть буквы определенного размера, их нужно ровно наклеить. Для этого мы вырезаем шаблон (на лазере), но толщина луча съедает 1мм и потом буквы болтаются в шаблоне. Если букв немного, то я делаю нужную эквидистанту, а старый контур просто удаляю. Но сейчас очень много букв, очень.
spaniel вне форума  
 
Непрочитано 12.12.2008, 15:51
#7
zenon

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


Profan, ты не прав
spaniel, см. командную строку
Command: _offset
Current settings: Erase source=No Layer=Source OFFSETGAPTYPE=0
Specify offset distance or [Through/Erase/Layer] <8.5000>: *Cancel*
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
 
Непрочитано 12.12.2008, 15:52
#8
zenon

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


spaniel, оне спрашивает содавать объект в текущем слое или слое объекта
Переходишь в другой слой и содаешь тама
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
 
Автор темы   Непрочитано 12.12.2008, 15:54
#9
spaniel


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


to Alex II:

_offset
Величина смещения или [Точка] <Точка>: 1
Выберите объект для создания подобных или <выход>:
Укажите точку, определяющую сторону смещения:

где-то может в другом месте нужно указать?
spaniel вне форума  
 
Непрочитано 12.12.2008, 15:58
#10
Хмурый


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


смотря какая версия AutoCAD'а
в 2004-ом опции "Слой" в команде _offset нет
в 2006-ом- уже появилась
Хмурый вне форума  
 
Автор темы   Непрочитано 12.12.2008, 15:59
#11
spaniel


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


Даже если я делаю текущим другой слой, подобие создается в том же слое где и объект.

у меня 2005 русифицированный акад. может это важно.
spaniel вне форума  
 
Непрочитано 12.12.2008, 16:03
#12
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


Хмурый
Кстати, может какая-нибудь переменная за это отвечает?
Makswell вне форума  
 
Непрочитано 12.12.2008, 16:04
#13
Alex II


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


spaniel, da, eto vazhno

Цитата:
Сообщение от Хмурый Посмотреть сообщение
смотря какая версия AutoCAD'а
в 2004-ом опции "Слой" в команде _offset нет
в 2006-ом- уже появилась
Alex II вне форума  
 
Непрочитано 12.12.2008, 16:06
#14
Profan


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


Ага, с 2006-го есть. Как-то упустил.
Profan вне форума  
 
Непрочитано 12.12.2008, 16:07
#15
Хмурый


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


Makswell, переменной нет. если есть- то недокументированная.
spaniel, в 2005-ом, возможно, этой опции нет. у меня не установлен 2005-ый. проверить не могу.
Хмурый вне форума  
 
Непрочитано 12.12.2008, 16:10
#16
Profan


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


А в 2005 точно нет.
Profan вне форума  
 
Автор темы   Непрочитано 12.12.2008, 16:24
#17
spaniel


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


ни у кого нет идей?
spaniel вне форума  
 
Непрочитано 12.12.2008, 16:30
#18
VVA

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


Можно еще LISP. Подобие в обе стороны Последние варианты OFF2 и MOFF2
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 12.12.2008, 16:32
#19
Хмурый


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


команда exoffset из комплекта Express Tools

после ввода расстояния в настройках можно выбрать слой (Layer), на котором быдут создаваться примитивы, либо как у объекта-источника (Source) либо текущий слой (Current).
Если при указании направления построения нажать Ctrl- то объект-источник удалится, Shift+указание направления тоже интересно работает

Последний раз редактировалось Хмурый, 12.12.2008 в 16:46.
Хмурый вне форума  
 
Автор темы   Непрочитано 12.12.2008, 16:51
#20
spaniel


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


to VVA:

отличная вещь, только не знаю как исправить на 1 подобие. (там 2 штуки создается)
spaniel вне форума  
 
Непрочитано 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,917
<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,917
<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,917
<phrase 1=


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



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