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

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

Фильтр слоев

Ответ
Поиск в этой теме
Непрочитано 27.02.2006, 22:37 #1
Фильтр слоев
Alexander_Liseev
 
ОВ
 
Северная столица
Регистрация: 09.11.2005
Сообщений: 161

Помогите. Приходит чертеж от АР, в нем, например, 50 слоев, я добавляю свои 2-3, и хочу видеть в менеджере слоев, только свои. Ето возможно через фильтр слоев. Полещук не помог...
Просмотров: 4278
 
Непрочитано 27.02.2006, 23:23
#2
Om81

Хочу быть фотографом :)
 
Регистрация: 21.10.2005
Москва, Кисловодск
Сообщений: 2,538
<phrase 1=


Какой у Вас Автокад? Разве групповой фильтр не способен решить эту проблему? Легко, по-моему.. При этом, если поставить в менеджере слоев еще и галочку "Apply to layers toolbar", можно прямо в выпадающем списке слоев на панели инструментов видеть только те, которые принадлежат выбранному фильтру группы
__________________
Камень на камень, кирпич на кирпич..
Om81 вне форума  
 
Автор темы   Непрочитано 27.02.2006, 23:35
#3
Alexander_Liseev

ОВ
 
Регистрация: 09.11.2005
Северная столица
Сообщений: 161
<phrase 1=


Автокад 2004. Что есть групповой фильтр? Может я не правильно понял, но у меня фильтр применяется только к одному слою, как добавить еще слои... в этом и загвостка.
Alexander_Liseev вне форума  
 
Непрочитано 27.02.2006, 23:39
#4
Om81

Хочу быть фотографом :)
 
Регистрация: 21.10.2005
Москва, Кисловодск
Сообщений: 2,538
<phrase 1=


у меня в 2005-2006 создается новый фильтр, туда можно перетащить мышкой нужные слои...
__________________
Камень на камень, кирпич на кирпич..
Om81 вне форума  
 
Непрочитано 28.02.2006, 00:32
#5
vk

сисадмин
 
Регистрация: 26.08.2003
Самара
Сообщений: 1,022
<phrase 1=


Ну млин.... Самое простое - именовать свои слои, используя какой то префикс или суффикс. Например так:
LIS-тонкие
LIS-осевые
LIS-размеры

Тогда свои слои легко отфильтруются по имени
LIS-*

Ну и галка "Apply to layers toolbar"


В 2004 групп фильтров нет.
vk вне форума  
 
Автор темы   Непрочитано 28.02.2006, 22:18
#6
Alexander_Liseev

ОВ
 
Регистрация: 09.11.2005
Северная столица
Сообщений: 161
<phrase 1=


Цитата:
Сообщение от vk
Ну млин.... Самое простое - именовать свои слои, используя какой то префикс или суффикс. Например так:
LIS-тонкие
LIS-осевые
LIS-размеры

Тогда свои слои легко отфильтруются по имени
LIS-*

Ну и галка "Apply to layers toolbar"


В 2004 групп фильтров нет.
Спасибо я понял.
И последний вопрос, можно будет добавить в тот же фильтр, например А-*
Alexander_Liseev вне форума  
 
Непрочитано 01.03.2006, 00:19
#7
vk

сисадмин
 
Регистрация: 26.08.2003
Самара
Сообщений: 1,022
<phrase 1=


Цитата:
добавить в тот же фильтр, например А-*
В 2005 это легко делается - просто добавляется еще строка в условиях отбора. А в 2004... стыдно, но забыл, можно ли это делать Вроде бы нет. Если ошибаюсь - поправьте.
vk вне форума  
 
Непрочитано 01.03.2006, 03:18
#8
Залётный


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


Цитата:
Сообщение от vk
Цитата:
добавить в тот же фильтр, например А-*
В 2005 это легко делается - просто добавляется еще строка в условиях отбора. А в 2004... стыдно, но забыл, можно ли это делать Вроде бы нет. Если ошибаюсь - поправьте.
Когда-то нашёл:
;------------------------------------------------------------------
;;;
;;; Function can define a named layer filter
;;; by Jacek (kojacek) [email protected] (2000)
;;;
(defun dict:MlayerF (NAME FILTER / LayTbl ExtDict LayColl
ExtDictData GrpList NewDict
Temp XdLst XrecData NewXRec
)
(setq LayTbl (cdr (assoc 330 (entget (tblobjname "LAYER" "0")))))
(setq ExtDict (cdr (assoc 360 (entget LayTbl))))
(if
(not ExtDict)
(progn
(vl-load-com)
(setq LayColl (vla-get-layers (vla-get-activedocument
(vlax-get-acad-object))))
(setq ExtDict (vla-GetExtensionDictionary LayColl))
(setq ExtDict (vlax-vla-object->ename ExtDict))
)
)
(setq ExtDictData (entget ExtDict))
(while ExtDictData
(setq Temp
(if (= (caar ExtDictData) 3)
(list (cons (cdr (car ExtDictData))
(cdr (cadr ExtDictData))))
)
ExtDictData (cdr ExtDictData)
)
(setq GrpList (append GrpList Temp))
)
(if
(or (not GrpList)
(not (cdr (assoc "ACAD_LAYERFILTERS" GrpList))))
(progn
(setq DictList (list (cons 0 "DICTIONARY")
(cons 100 "AcDbDictionary")))
(setq NewDict (entmakex DictList))
(setq NewDict (dictadd ExtDict "ACAD_LAYERFILTERS" NewDict))
)
(setq NewDict (cdr (assoc "ACAD_LAYERFILTERS" GrpList)))
)
(setq ExtDictData Nil Temp Nil GrpList Nil)
(setq ExtDictData (entget NewDict))
(while ExtDictData
(setq Temp
(if (= (caar ExtDictData) 3)
(list (cons (cdr (car ExtDictData))
(cdr (cadr ExtDictData))))
)
ExtDictData (cdr ExtDictData)
)
(setq GrpList (append GrpList Temp))
)
(if
(or (not GrpList)
(not (cdr (assoc FILTER GrpList)))
)
(progn
(setq XdLst (list (cons 0 "XRECORD")
(cons 100 "AcDbXrecord")))
(setq XrecData
(append XdLst
(list (cons 1 NAME)(cons 1 FILTER)(cons 1 "*")(cons 1 "*")
(cons 70 0)(cons 1 "*")(cons 1 "*")))
)
(setq NewXRec (entmakex XRecData))
(dictadd NewDict Name NewXRec)
)
Nil
)
)
(dict:MLayerF "PLBG" "P-*,*|P-*,PZ-*,*|PZ-*,PZZ-*,*|PZZ-*,*|PE-*")
(dict:MLayerF "FIRE" "F-*,*|F-*,FZ-*,*|FZ-*,FZZ-*,*|FZZ-*,*|FE-*")
(dict:MLayerF "HVAC" "M-*,*|M-*,MZ-*,*|MZ-*,MZZ-*,*|MZZ-*,*|ME-*")
(dict:MLayerF "ELEC" "E-*,*|E-*,EZ-*,*|EZ-*,EZZ-*,*|EZZ-*,*|EE-*")
(dict:MLayerF "TELE" "T-*,*|T-*,EZ-*,*|TZ-*,TZZ-*,*|TZZ-*,*|TE-*")

;---------------------------------------------------------------

В 2004 прекрасно работает.

Этот лиспик создаёт 5 фильтров: - PLBG, FIRE, HVAC, ELEC, TELE. По анологии можно добавить свои.
Залётный вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Фильтр слоев

Размещение рекламы