|
Тема
|
Уж слоя е празен...
|
|
Автор | cad (Нерегистриран) |
Публикувано | 13.11.09 15:47 |
|
Аутокад2006
В един от слоевете съм изтрил всичко, което съм видял.
И искам да изтрия и слоя.
Но не може. Слоя не се изтрива. А и иконката му не е "побледняла". А само такива слоеве с побледнели иконки мога да изтривам.
Нещо не правя както трябва! Но какво не правя....?
Ама аз държа да изтрия слоя.
Как?
Благодаря!
| |
Тема
|
Re: Уж слоя е празен...
[re: cad]
|
|
Автор |
ql^2/8 (да питам аз..) |
Публикувано | 13.11.09 17:50 |
|
Възможна причина е да имаш дефиниция на блок, част от която е дефинирана в този слой. Самия блок може да не е в чертежа, затова
не го виждаш. Опитай с "purge" да се отървеш от неизползваните блокове и тогава да изтриеш слоя. А ако блока е използван.. питай пак
| |
Тема
|
Re: Уж слоя е празен...
[re: cad]
|
|
Автор |
Kaлea () |
Публикувано | 23.11.09 01:56 |
|
Сещам се за две други причини, поради които не може да се изтрие даден слой:
- ако има текстове с празно съдържание или съдържанието е интервал. В този случай на екрана не се вижда нищо и не може да се маркира и да се изтрие. Но текстовете като обекти си съществуват.
- ако в чертежа има блокове с атрибути. В определени ситуации в описанието на атрибута може да е останало името на въпросния слой.
Тръгнеш ли да търсиш щастие, вземи си чадър.
| |
Тема
|
Re: Уж слоя е празен...
[re: cad]
|
|
Автор |
magesnik (вълшебник) |
Публикувано | 24.11.09 09:52 |
|
ето ти един скрипт, кой знае откъде намерен, който служи да прехвърля в нулев слой всички обекти на избран блок без блока да се предефинира
пробвал съм го преди няколко години - работи, макар че на мен не ми се налага често да го ползвам
имаше мнение - ако имаш празни текстови обекти пробвай през quick select или find да ги намериш
ето го и самия скрипт:
-------------------------------
;TIP850.LSP: BL0.LSP Change Block Entities to Layer 0 (c)1993, J. Todd Owen
;globalization by CAD Studio
(defun C:BL0 (/ CL ENAME ENT)
(setvar "CMDECHO" 0)
(setvar "HIGHLIGHT" 0)
(setq CL (getvar "CLAYER"))
(command "._LAYER" "_S" "0" "")
(setq ENAME nil ENT nil)
(while (= ENAME nil)
(setq ENAME (car (entsel "\nSelect block to redefine on layer 0: ")))
)
(setq ENT (entget ENAME))
(if (= (ITEM 0 ENT) "INSERT")
(progn
(command "._COPY" ENAME "" "@" "@")
(setq ENAME (entlast))
(BLOCK0 ENAME)
)
(progn (princ "\nError: A block must be selected.") (C:BL0))
)
(command "._LAYER" "_S" CL "")
(setvar "HIGHLIGHT" 1)
(setvar "CMDECHO" 1)
(princ)
)
(defun BLOCK0 (ENAME / ENAME2 ENT INSPT BLKNAME SSBLK)
(setq ENT (entget ENAME))
(setq INSPT (ITEM 10 ENT))
(setq BLKNAME (ITEM 2 ENT))
(setq ENT (subst (cons 41 1) (assoc 41 ENT) ENT)) ;x-scale
(setq ENT (subst (cons 42 1) (assoc 42 ENT) ENT)) ;y-scale
(setq ENT (subst (cons 43 1) (assoc 43 ENT) ENT)) ;z-scale
(setq ENT (subst (cons 50 0) (assoc 50 ENT) ENT)) ;rotation angle
(entmod ENT)
(command "._EXPLODE" ENAME)
(setq ENAME (entnext ENAME))
(setq SSBLK (ssadd))
(while (/= ENAME nil)
(setq ENT (entget ENAME))
(setq ENT (subst (cons 8 "0") (assoc 8 ENT) ENT)) ;layer
(setq ENT (subst (cons 62 256) (assoc 62 ENT) ENT)) ;color
(setq ENT (subst (cons 6 "BYLAYER") (assoc 6 ENT) ENT)) ;ltype
(entmod ENT)
(setq SSBLK (ssadd ENAME SSBLK))
(if (= (ITEM 0 ENT) "INSERT") ;if ENAME is a block
(progn
(command "._COPY" ENAME "" "@" "@")
(setq ENAME2 (entlast))
(BLOCK0 ENAME2)
)
)
(setq ENAME (entnext ENAME))
)
(command "._BLOCK" BLKNAME "_Y" INSPT SSBLK "")
)
(defun ITEM (N ENT)
(cdr (assoc N ENT))
);end bl0.lsp
(princ "BL0 loaded.")
(princ)
Магьосниците не закъсняват, нито идват по-рано. Те пристигат точно когато им е угодно
| |
Тема
|
За скрипта...с внимание!
[re: magesnik]
|
|
Автор |
ql^2/8 (да питам аз..) |
Публикувано | 24.11.09 12:55 |
|
Скрипта иска внимателно ползване!
1. Определено не работи с динамични блокове.
2. Трябва преди да се пусне скрипта да се мине към глобална координатна система (WCS), иначе блоковете се местят...
Според мен е тромавичко написан.. както би го направил обикновен потребител (преди да има Block editor в AutoCAD) - гърми блока, мести обектите на слой нула, и го предефинира...
| |
Тема
|
Пробвай следното
[re: cad]
|
|
Автор |
A$$A$$lN (стар клубар) |
Публикувано | 25.11.09 08:51 |
|
Ctrl+A
Ctrl+C
В чисто нов dwg
Ctrl+V
--------------
Може и да пробваш командата
wblock
| |
Тема
|
Re: За скрипта...с внимание!
[re: ql^2/8]
|
|
Автор |
magesnik (вълшебник) |
Публикувано | 25.11.09 09:20 |
|
ами автора си го е написал - 1993 година, тогава текущата версия ако не се лъжа беше R12... за динамични блокове в аутодеск даже и не бяха сънували
ако можеш да напишеш по-добър код - заповядай, аз просто се опитах да помогна на човека
Магьосниците не закъсняват, нито идват по-рано. Те пристигат точно когато им е угодно
| |
Тема
|
Re: За скрипта...с внимание!
[re: magesnik]
|
|
Автор |
ql^2/8 (да питам аз..) |
Публикувано | 26.11.09 11:30 |
|
Набързо направено, мога да предложа това. Работи и с динамични блокове, не ги мести. Малко примига като влиза в блок-едитора.
(defun c:goto0 (/ blk blkname)
(setq blkob (entsel "\nSelect Block >"))
(setq blkname (vla-get-EffectiveName (vlax-ename->vla-object (car blkob))))
(progn
(COMMAND "-BEDIT" blkname)
(command "change" "all" "" "p" "la" "0" "")
(command "bsave")
(command "bclose" "")
)
)
| |
|
|
|
|