|
Тема
|
Въпрос за Layers в ACAD
|
|
Автор |
mimu23 (непознат
) |
Публикувано | 04.08.06 22:32 |
|
Имам следното въпросче :
Как може даден Layer да е невидим в Model-Space и в
някои от лейаутите и да се показва само в един или два
лейаута от хартиеното пространство?
Предварително благодаря за отговора (предполагам
чий ще е).
10х.
Редактирано от mimu23 на 04.08.06 22:39.
| |
Тема
|
Re: Въпрос за Layers в ACAD
[re: mimu23]
|
|
Автор |
(Mинaвaщ) (същият) |
Публикувано | 05.08.06 10:42 |
|
Toва е частичен отговор ...
Старо писано :
"Реших , че е хубаво да се допълнят понятията и с Примери по лична преценка .
P.S. Обясненията са само за Пример и са в подкрепа на разумното използване на Слоеве !"
Тези "замръзявания" работят само за Viewports , ako чертаеш в Layouts няма как да комбинираш нещата . Може да има някакви други трикове ...
| |
Тема
|
Re: Въпрос за Layers в ACAD
[re: (Mинaвaщ)]
|
|
Автор | StSt (Нерегистриран) |
Публикувано | 05.08.06 11:57 |
|
Браво на Минаващ - прекрасна лекция и като съдържание и като визуализация.
Само че mimu23 пише, че слоят във моделното пространство е невидим. В този случай няма да е видим и в LAYOUTS. Затова давам и моя интерпретация:
Свойствата на елементите от даден слой могат да се задават за два случая - общо за слоя и за слоя във layout.
Общите свойства на слоя се описват в таблицата за слоевете, а свойствата на слоевете в layout - в специален блок, присъединен към конкретния layout.
По всяка вероятност (не съм много сигурен) ACAD се грижи да има съответствие между общите и частните свойства, но програмно няма проблем да се променят стойностите във двата случая. Немидимостта на елементите в слоя се задават, като им се присвои цвят с отрицателна стойност, най-често просто се сменя знака. Така че може в таблицата за слоевете да се зададе отрицателна стойност за цвят, а в блока към layout за конкретния слой да се зададе положителна.
| |
Тема
|
Re: Въпрос за Layers в ACAD
[re: (Mинaвaщ)]
|
|
Автор | gena (Нерегистриран) |
Публикувано | 05.08.06 12:01 |
|
аз ще попитам от къде ги изкопаваш тези обяснения:
Това са примерни обяснения за използване на Layers (Слоеве) в AutoCAD .... при разпечатване .
Тези обяснения са само за Любознателни Начинаещи и нямат професионална ориентация ...
ти ли ги правиш или ги има някъде
| |
Тема
|
Re: Въпрос за Layers в ACAD
[re: gena]
|
|
Автор | Mинaвaщ (Нерегистриран) |
Публикувано | 05.08.06 16:09 |
|
Ми тези картинки ги пуснах още в Темата Организация на елементите в чертеж -> ... само дето www35.websamba нещо често се дъни с достъпа и ги преместих в България ... аз ги правя когато се сетя за нещо и ако не се притеснявам , че пиша глупости .
А това за отрицателните стойности на цветовете е много ИНТЕРЕСНО !
| |
Тема
|
Re: Въпрос за Layers в ACAD
[re: mimu23]
|
|
Автор | mimu23 (Нерегистриран) |
Публикувано | 05.08.06 21:56 |
|
Благодаря и на двата за отговорите.
За Минаващ - това което казваш е вярно - ок. Но мен
ми трябва точно обратната задачка - даден лейар да
бъде принципно замразен или невидим, а да се покаже
само в някои от лейаутите или в някои от вюпортовете.
Може би не съм описал точно проблема, за което се из-
винявам.
За StSt - Как се задава отрицателна стойтост за цвета на
даден лейар?
Още един път благодаря за отговорите.
| |
Тема
|
Re: Едно решение
[re: mimu23]
|
|
Автор | Pin (Нерегистриран) |
Публикувано | 06.08.06 17:51 |
|
Едно решение, което със сигурност ще работи е да се напише програмка на C/ObjectARX, която да прехваща съобщението(message) за активиране на Space-овете (ModelSpace-а или Layot Space-овете) и в зависимост от това, кой е активен в момента, да включва или изключва(On/Off// Freeze/Thaw etc) дадени слоеве.
Mоже ли да се реализира това с VB, VBA или Visual Lisp (с Autolisp определено не може) - ако има event (VB, VBA) или reactor( Visual Lisp), който да се активира при смяна на Space-овете, тогава задачата е тривиална. Ако няма може да се направи нещо смесено ActiveX Control на C/ObjectARX, която да прихваща смяната на Space-овете и този контрол после да се използва в VB, VBA или Visual Lisp - като вече функциите за смяната на слоевете, диалогови прозорци за конфигуриране и пр. да си се правят във VB, VBA или DCL.
Аз за съжаление от доста години не се занимавам с Autocad и даже го нямам под ръка за да бъда по-конкретен, но ако въпросът е на живот и смърт - викайте по-силно за помощ и ако не се намери някой друг с по лесно или готово решение, ще се поразтърся и аз.
Между другото подобна на тази концепция я има релаизирана в Mechanical Desktop и предполагам, че може би я има и в други базирани на Autocad продукти като ADT, LDD
| |
Тема
|
Изказах се неподготвен
[re: mimu23]
|
|
Автор | StSt (Нерегистриран) |
Публикувано | 07.08.06 12:49 |
|
Когато писах оня ден за видимостта на слоевете в лейаутите не пробвах това, което писах и неволно ви заблудих.
Днес си поиграх малко и разбрах грешката си.
Глобалното включване и изключване на слой (ON OFF) става като се променя знака на цвета на слоя в таблицата на слоевете.
((0 . "LAYER") (2 . "nonprn") (70 . 2) (62 . 7) (6 . "Continuous")) - група 62 е за цвета, 70 - за свойства
Standard flags (bit-coded values):
1 = Layer is frozen; otherwise layer is thawed
2 = Layer is frozen by default in new viewports
4 = Layer is locked
16 = If set, table entry is externally dependent on an xref
32 = If this bit and bit 16 are both set, the externally dependent xref has been successfully resolved
64 = If set, the table entry was referenced by at least one entity in the drawing the last time the drawing was edited. (This flag is for the benefit of AutoCAD commands. It can be ignored by most programs that read DXF files and need not be set by programs that write DXF files)
В лейаутите слоевете могат само да се замразяват.
Това става по следния механизъм:
В списъка на лейаута има указател към блок със свойства. Когато в леаута се замрази слой то в блока се записва указател към него и в неговия списък се добавя група 370 - дебелина на линията с отрицателна стойност.
((-1 . <Entity name: 400864e8>) (0 . "LAYER") (330 . <Entity name: 40082c10>) (5 . "AA5") (100 . "AcDbSymbolTableRecord") (100 . "AcDbLayerTableRecord") (2 . "nonprn") (70 . 0) (62 . 7) (6 . "Continuous") (290 . 0) (370 . -3) (390 . <Entity name: 40082c78>))
| |
|
|
|
|