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

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

Выделение размеров

Ответ
Поиск в этой теме
Непрочитано 18.04.2008, 11:21 #1
Выделение размеров
Jerald
 
Конструктор
 
Киев
Регистрация: 04.04.2007
Сообщений: 536

Можно ли одним махом выделить все размеры на чертеже?
Просмотров: 16405
 
Непрочитано 18.04.2008, 11:31
#2
stekhov


 
Регистрация: 01.07.2005
Вавилон
Сообщений: 42


Да, команда фильтра "fi"
__________________
I've got to get back to work. When I stop rowing, the slave ship just goes in circles.
stekhov вне форума  
 
Непрочитано 18.04.2008, 11:33
#3
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Можно - но самое правильное их в отдельный слой рисовать
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 18.04.2008, 13:20
#4
Makswell

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


stekhov, лучше _.FILTER
Чтобы сработало в любом Автокаде.
Makswell вне форума  
 
Непрочитано 18.04.2008, 13:33
#5
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404


_.qselect
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 18.04.2008, 16:53
#6
Bull

Конструктор по сути (машиностроитель)
 
Регистрация: 10.10.2005
Набережные Челны (это где КамАЗ)
Сообщений: 11,391


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
_.qselect
Не знаю насчёт фильтров, но вот это точно НЕ ВСЕ выделит. Потому что он различает угловые, радиусные и остальные размеры, а пункта "все размеры" там нема.
__________________
Век живи, век учись - ...
Bull вне форума  
 
Непрочитано 18.04.2008, 17:09
#7
BM60


 
Регистрация: 08.02.2008
Где-то
Сообщений: 8,460


Всем размерам - одно место. Это естественно.
А вот как быстро (или двумя махами) определить (убедиться), все ли размеры на одном слое?

Бывает, увлекся и, не глянув на имя тек. слоя, проставил ладно бы один забытый, а ведь штук эдак несколько.
BM60 вне форума  
 
Непрочитано 18.04.2008, 17:13
#8
paradplanet


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


Цитата:
Сообщение от Bull Посмотреть сообщение
Не знаю насчёт фильтров, но вот это точно НЕ ВСЕ выделит. Потому что он различает угловые, радиусные и остальные размеры, а пункта "все размеры" там нема.
Ставишь галочку добавить к выделенному и вибераеш какие тебе нужны.
paradplanet вне форума  
 
Непрочитано 18.04.2008, 17:30
#9
Bull

Конструктор по сути (машиностроитель)
 
Регистрация: 10.10.2005
Набережные Челны (это где КамАЗ)
Сообщений: 11,391


Цитата:
Сообщение от BM60 Посмотреть сообщение
А вот как быстро (или двумя махами) определить (убедиться), все ли размеры на одном слое?
Погасив лампочку слоя размеры.
__________________
Век живи, век учись - ...
Bull вне форума  
 
Непрочитано 18.04.2008, 17:31
#10
Bull

Конструктор по сути (машиностроитель)
 
Регистрация: 10.10.2005
Набережные Челны (это где КамАЗ)
Сообщений: 11,391


Цитата:
Сообщение от paradplanet Посмотреть сообщение
Ставишь галочку добавить к выделенному и вибераеш какие тебе нужны.
Так это уже не одним махом, а тремя
__________________
Век живи, век учись - ...
Bull вне форума  
 
Непрочитано 19.04.2008, 14:10
#11
ie.spb

Инженер
 
Регистрация: 21.08.2007
Сообщений: 598
<phrase 1=


Очень удобная программа http://www.caduser.ru/cgi-bin/f1/board.cgi?t=37949gn
__________________
Склероз нельзя вылечить, но о нем можно забыть.
(Ф. Раневская)
ie.spb на форуме  
 
Автор темы   Непрочитано 22.04.2008, 12:06
#12
Jerald

Конструктор
 
Регистрация: 04.04.2007
Киев
Сообщений: 536


Цитата:
Сообщение от stekhov Посмотреть сообщение
Да, команда фильтра "fi"
Вызвал "fi", выпрыгнуло окно, а что дальше делать?
Jerald вне форума  
 
Автор темы   Непрочитано 22.04.2008, 12:09
#13
Jerald

Конструктор
 
Регистрация: 04.04.2007
Киев
Сообщений: 536


Цитата:
Сообщение от Дима_ Посмотреть сообщение
Можно - но самое правильное их в отдельный слой рисовать
Ты имеешь ввиду програмно (автоматически), или "вручную"?
Jerald вне форума  
 
Непрочитано 22.04.2008, 12:20
#14
VVA

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


Цитата:
Сообщение от BM60 Посмотреть сообщение
Всем размерам - одно место. Это естественно.
А вот как быстро (или двумя махами) определить (убедиться), все ли размеры на одном слое?

Бывает, увлекся и, не глянув на имя тек. слоя, проставил ладно бы один забытый, а ведь штук эдак несколько.
Одним махом (скопировать в командную строчку или повесить на кнопку)
Код:
[Выделить все]
(SSSETFIRST nil (ssget "_X" '((0 . "*DIMENSION"))))
И смотришь на панель слоев. Если там пусто, значит слои разные. Или на строчку "Слой" окна свойств. Там даже напишут "*разные*"
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 22.04.2008 в 15:29. Причина: Орфография
VVA вне форума  
 
Непрочитано 22.04.2008, 13:03
#15
BM60


 
Регистрация: 08.02.2008
Где-то
Сообщений: 8,460


Дык лампочку-то и пользовал. А вот кнопочкой удобней небось. Спасибо.

А тогда бы ишо (шобниченеделать), вторым махом, если они выделяются, закинуть в общий "Dim". Ща поглядим-с...
BM60 вне форума  
 
Непрочитано 22.04.2008, 13:35
#16
stekhov


 
Регистрация: 01.07.2005
Вавилон
Сообщений: 42


Цитата:
Сообщение от Jerald Посмотреть сообщение
Вызвал "fi", выпрыгнуло окно, а что дальше делать?
Гы!!!
1. в пространстве модели нажать CTRL+A
2. Как умные люди подсказывают _.FILTER
3. В открывшемся окне под словами Select Filter выбираем "Dimention", жмем "Add to list", жмём "Apply"

У меня работает.

PS
VVA Шаман!
__________________
I've got to get back to work. When I stop rowing, the slave ship just goes in circles.

Последний раз редактировалось stekhov, 22.04.2008 в 13:58.
stekhov вне форума  
 
Непрочитано 22.04.2008, 14:13
#17
alexhach


 
Регистрация: 15.10.2007
Пермский край
Сообщений: 93


to BM60.
Цитата:
Бывает, увлекся и, не глянув на имя тек. слоя, проставил ладно бы один забытый, а ведь штук эдак несколько.
Чтобы этого не происходило используй реакторы. Т.е. при выполнении команд рисования размеров, текстов и т.д., примитивы будут выполняться в своих слоях. Примерно так.
Код:
[Выделить все]
(vl-load-com)
(vlr-command-reactor 
	(setq OldLayer (getvar "CLAYER"))
	'((:vlr-commandWillStart . startCommand)))
(vlr-command-reactor 
	nil '((:vlr-commandEnded . endCommand)))
(vlr-command-reactor 
	nil '((:vlr-commandCancelled . cancelCommand)))
;******************************************************
(defun startCommand (calling-reactor startcommandInfo /
;		     thecommandstart
		     )
(setq thecommandstart (nth 0 startcommandInfo))
(cond
  ((= thecommandstart "MTEXT") (setvar "CLAYER" "ТЕКСТ"))
  ((= thecommandstart "HATCH") (setvar "CLAYER" "ШТРИХ"))
  ((= thecommandstart "BHATCH") (setvar "CLAYER" "ШТРИХ"))
  ((= thecommandstart "DIMLINEAR") (setvar "CLAYER" "РАЗМ"))
  ((= thecommandstart "DIMALIGNED") (setvar "CLAYER" "РАЗМ"))
  ((= thecommandstart "DIMRADIUS") (setvar "CLAYER" "РАЗМ"))
  ((= thecommandstart "DIMDIAMETER") (setvar "CLAYER" "РАЗМ"))
  ((= thecommandstart "DIMANGULAR") (setvar "CLAYER" "РАЗМ"))
  ((= thecommandstart "QDIM") (setvar "CLAYER" "РАЗМ"))
  ((= thecommandstart "DIMARC") (setvar "CLAYER" "РАЗМ"))
  ((= thecommandstart "DIMBASELINE") (setvar "CLAYER" "РАЗМ"))
  ((= thecommandstart "DIMCONTINUE") (setvar "CLAYER" "РАЗМ"))
  ((= thecommandstart "TOLERANCE") (setvar "CLAYER" "РАЗМ"))
  ((= thecommandstart "DIMCENTER") (setvar "CLAYER" "РАЗМ"))
  ((= thecommandstart "MLEADER") (setvar "CLAYER" "ПОЗ"))
  ((= thecommandstart "-VPORTS") (setvar "CLAYER" "ВЭКРАН"))
);cond
(princ)
);defun
;****************************************************
(defun endCommand (calling-reactor endcommandInfo / 
		   thecommandend)
(setq thecommandend (nth 0 endcommandInfo))
(cond
  ((= thecommandend "MTEXT") (setvar "CLAYER" OldLayer))
  ((= thecommandend "HATCH") (setvar "CLAYER" OldLayer))
  ((= thecommandend "BHATCH") (setvar "CLAYER" OldLayer))
  ((= thecommandend "DIMLINEAR") (setvar "CLAYER" OldLayer))
  ((= thecommandend "DIMALIGNED") (setvar "CLAYER" OldLayer))
  ((= thecommandend "DIMRADIUS") (setvar "CLAYER" OldLayer))
  ((= thecommandend "DIMDIAMETER") (setvar "CLAYER" OldLayer))
  ((= thecommandend "DIMANGULAR") (setvar "CLAYER" OldLayer))
  ((= thecommandend "QDIM") (setvar "CLAYER" OldLayer))
  ((= thecommandend "DIMARC") (setvar "CLAYER" OldLayer))
  ((= thecommandend "DIMBASELINE") (setvar "CLAYER" OldLayer))
  ((= thecommandend "DIMCONTINUE") (setvar "CLAYER" OldLayer))
  ((= thecommandend "TOLERANCE") (setvar "CLAYER" OldLayer))
  ((= thecommandend "DIMCENTER") (setvar "CLAYER" OldLayer))
  ((= thecommandend "MLEADER") (setvar "CLAYER" OldLayer))
  ((= thecommandend "-VPORTS") (setvar "CLAYER" OldLayer))
);cond
 (princ)
);defun
;********************************************************
(defun cancelCommand (calling-reactor cancelcommandInfo / 
		      thecommandcancel)
(setq thecommandcancel (nth 0 cancelcommandInfo))
(cond
  ((= thecommandcancel "MTEXT") (setvar "CLAYER" OldLayer))
  ((= thecommandcancel "HATCH") (setvar "CLAYER" OldLayer))
  ((= thecommandcancel "BHATCH") (setvar "CLAYER" OldLayer))
  ((= thecommandcancel "DIMLINEAR") (setvar "CLAYER" OldLayer))
  ((= thecommandcancel "DIMALIGNED") (setvar "CLAYER" OldLayer))
  ((= thecommandcancel "DIMRADIUS") (setvar "CLAYER" OldLayer))
  ((= thecommandcancel "DIMDIAMETER") (setvar "CLAYER" OldLayer))
  ((= thecommandcancel "DIMANGULAR") (setvar "CLAYER" OldLayer))
  ((= thecommandcancel "QDIM") (setvar "CLAYER" OldLayer))
  ((= thecommandcancel "DIMARC") (setvar "CLAYER" OldLayer))
  ((= thecommandcancel "DIMBASELINE") (setvar "CLAYER" OldLayer))
  ((= thecommandcancel "DIMCONTINUE") (setvar "CLAYER" OldLayer))
  ((= thecommandcancel "TOLERANCE") (setvar "CLAYER" OldLayer))
  ((= thecommandcancel "DIMCENTER") (setvar "CLAYER" OldLayer))
  ((= thecommandcancel "MLEADER") (setvar "CLAYER" OldLayer))
  ((= thecommandcancel "-VPORTS") (setvar "CLAYER" OldLayer))
);cond
(princ)
);defun
;*********************************************************
(princ)
Названия слоёв поставь свои. Сохрани файл с кодом (допустим reaktor.lsp). Положи в автозагрузку. И теперь все размеры будут всегда на нужном слое. Соотвественно как и остальные прмитивы. Для выделения всех размеров будет достаточно изолировать слой с размерами.
alexhach вне форума  
 
Непрочитано 22.04.2008, 14:40
#18
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404


Тема http://dwg.ru/f/showthread.php?t=2721 не просматривалась
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 22.04.2008, 15:20
#19
BM60


 
Регистрация: 08.02.2008
Где-то
Сообщений: 8,460


Спасибо за лиспик.
BM60 вне форума  
 
Непрочитано 22.04.2008, 15:34
#20
Makswell

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


BM60, вот ещё вариант. Здесь без реакторов. Написано давно, всё руки не доходят переписать, чтобы было без командных методов. Но если честно признаться, использую до сих пор, потому что проблемы вроде не наблюдались.
Код:
[Выделить все]
(defun m-dim (DimCommandName / OldLayer)
;;;m-dim (DimCommandName) - простановка размеров на слой "M-04-размеры"
;;;--------------------------------------------------------------------------------------------
;;;Пример вызова (m-dim "_.dimlinear")) - простановка линейного размера на слой "M-04-размеры"
;;;Выполняет соответствующую команду простановки размера (команда, заключенная в кавычки является аргументом)
;;;--------------------------------------------------------------------------------------------
;;;используются функции:
;;;m-layer-new (lyr col ltp lwg prnt_yn) - сoздание слоя без установки его текущим
;;;m-search-layer (M-Layer) - проверка существует ли слой в чертеже
;;;--------------------------------------------------------------------------------------------  
  (if (not (m-tblsearch-layer "M-04-размеры"))
    (m-layer-new "M-04-размеры" "2" "Continuous" "0.15" "_p")
  )
  (setq OldLayer (getvar "CLayer"))
  (setvar "Clayer" "M-04-размеры")
  (vl-cmdf DimCommandName)
  (while (not (zerop (getvar "cmdactive"))) (vl-cmdf pause))
  (setvar "Clayer" OldLayer)
  (princ)
)

(defun m-layer-new (lyr col ltp lwg prnt_yn)
;;;layer-new (lyr col ltp lwg prnt_yn) - сoздание слоя без установки его текущим
;;;--------------------------------------------------------------------------------------------
;;;Пример вызова (m-layer-make "M-05_1-РамкаТонк" "252" "Continuous" "0.15" "_plot")
;;;Вместо "_plot" можно записать "_p"
;;;--------------------------------------------------------------------------------------------
  (vl-cmdf "_.-LAYER"	     "_New"   lyr      "_Color"	col
	   lyr	    "_LType" ltp      lyr      "_LW"	lwg
	   lyr	    "_Plot"  prnt_yn  lyr      ""
	  )
)

(defun m-tblsearch-layer (M-Layer)
;;;m-search-layer (M-Layer) - проверка существует ли слой в чертеже
;;;--------------------------------------------------------------------------------------------
;;;Пример вызова (m-search-layer "M-00-work (no_print)")
;;;Возвращает список свойств слоя в виде точечных пар если слой есть или nil, если его нет
;;;--------------------------------------------------------------------------------------------
  (tblsearch "Layer" M-Layer)
)
Makswell вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Выделение размеров



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Масштабирование размеров в AutoCAD 2002 eeN68 AutoCAD 4 24.04.2008 16:12
Как убрать выделение в автокаде? Владимир В Программирование 2 06.02.2008 17:00
как снять лишнее выделение float AutoCAD 2 25.01.2007 17:38
Оформление размеров в видовых экранах lion AutoCAD 6 31.05.2006 10:33
Программы для редактирования размеров? Acad2004. Павлов Андрей AutoCAD 2 04.06.2004 16:10