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

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

Почему так подурацки в AutoCAD сделана работа с атрибутами?

Ответ
Поиск в этой теме
Непрочитано 22.12.2010, 06:29 #1
Почему так подурацки в AutoCAD сделана работа с атрибутами?
МишаИнженер
 
Регистрация: 14.12.2008
Сообщений: 1,125

Посмотрите чертёж до выделения атрибутов:
и после и скажите! Зачём чертёжнику нужно это гомно из скрытых текстов?
Если до выделения атрибутов чертёж выглядел нормально, то почему его нельзя оставить нормальным после выделения атрибутов. Зачем зас-ать чертёж тем что раньше было скрыто внутри блока и было не видно? Зачем этот мусор вываливать наружу? И почему нельзя просто разбить блок и чтобы атрибуты при этом не меняли своих значений? Зачем при разбитии блока менять значения атибутов на непонятные символы обозначающие атрибуты. Кому нужны эти символы если мы работаем с чертежом, а не пишем программу чтобы создать этот чертёж? Если Вы пишете программу с атрибутами то выводите их названия специальной командой на экран, а значения которые нужны больше чем метод программирования пусть лучше будут всегда на экране!!! Мне кажется это признак непрофесионализма и муд-ма!!!

Миниатюры
Нажмите на изображение для увеличения
Название: Чертёж до выделения атрибутов.jpg
Просмотров: 885
Размер:	100.9 Кб
ID:	50424  Нажмите на изображение для увеличения
Название: Чертёж после выделения атрибутов.jpg
Просмотров: 893
Размер:	104.4 Кб
ID:	50425  

Просмотров: 17797
 
Непрочитано 22.12.2010, 06:45
#2
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


Команда _Burst, и к ней http://forum.dwg.ru/showthread.php?t...ighlight=burst
А по поводу скрытых текстов надо обратиться к автору чертежа. Он что-то задумал и осуществил, а МишаИнженер этого не понял.
(Если я правильно понял, что изобразил Миша в своем безсвязном тексте)
Vova вне форума  
 
Автор темы   Непрочитано 22.12.2010, 07:44
#3
МишаИнженер


 
Регистрация: 14.12.2008
Сообщений: 1,125


Скрытый текст нужен другому инженеру чтобы вовремя выдавать чертежи и менять что-то в этом скрытом содержимом нет времени
МишаИнженер вне форума  
 
Непрочитано 22.12.2010, 07:57
#4
PL


 
Регистрация: 23.11.2006
California
Сообщений: 4,750


Цитата:
Сообщение от МишаИнженер Посмотреть сообщение
Скрытый текст нужен другому инженеру чтобы вовремя выдавать чертежи и менять что-то в этом скрытом содержимом нет времени
Ну АвтоКАД то тут причем ? Это Ваши личные с "другим" инженером проблемы. Есть у вас время или нет, нам не так критично, если честно. Ваши проблемы. А гонору можно и поменьше.
Вам подсказали команду burst, чего еще надо ?
PL вне форума  
 
Непрочитано 22.12.2010, 08:24
#5
Profan


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


Действительно, с атрибутами блока не все логично и понятно. Вот мы говорим: атрибуты БЛОКА. Казалось бы - мы создаем блок и ему потом приписываем атрибуты, т.е., атрибуты должны быть как бы свойством блока. Но нет. Мы сначала создаем абстрактный атрибут, а потом навязываем его какому-то блоку. Таким образом получается, что атрибут - самостоятельный объект и может не иметь отношения ни к какому блоку. Как-то я воспользовался этим и сочинил программу выключения и включения слоев, задаваемых пользователем в виде списка для значения атрибута.


Код:
[Выделить все]
;********************* lay_offon.lsp ************************************
; Программа выключения и включения слоев, задаваемых
; пользователем в виде списка для значения атрибута.
; В программе использована рекурсивная фукция (str-str-lst),
; разработанная Евгением Елпановым см.:
; http://www.caduser.ru/forum/index.ph...#message143536
; Автор Владимир Громов.
; Для запуска программы можно использовать макрос:
;  ^C^C^P(if (not C:LAYOFFON) (load "lay_offon")) LAYOFFON
; Для удобного редактирования атрибута со списком слоев
; можно создать кнопку с макросом:
;  _DDEDIT;0,0;;
;
(defun C:LAYOFFON ( / echo lay lay_list list_lay list_len n lay_n)
(setq echo (getvar "CMDECHO"))
(setvar "CMDECHO" 0)
(setq lay (getvar "CLAYER"))
(if (tblsearch "LAYER" "lay_offon")
    (progn
    (ssget "_X" (list (cons 8 "lay_offon")))
    (setq lay_list (cdr (assoc 1 (entget (entlast)))))
(str-str-lst lay_list ",")
    (setq list_len (length list_lay))
    (Cond
         ((= (getvar "USERI1") 0) (setq n 0)
         (repeat list_len
             (setq lay_n (nth n list_lay))
             (if (and (tblsearch "LAYER" lay_n) (/= (getvar "CLAYER") lay_n))
                 (command "_-layer" "_off" lay_n "")
             ) ; if
             (if (and (tblsearch "LAYER" lay_n) (= (getvar "CLAYER") lay_n))
                 (progn
                 (command "_-layer" "_off" lay_n "_y" "")
                 (princ "\n Внимание! Отключен текущий слой!")
                 ) ; progn
             ) ; if
             (if (= (tblsearch "LAYER" lay_n) nil)
                 (progn
                 (princ "\n Слой ") (princ lay_n)
                 (princ " отсутствует или неправильно записан!")
                 ) 
             ) ; if
             (setq n (1+ n))
         ) ; repeat                
         (setvar "USERI1" 1)
         )
         ((= (getvar "USERI1") 1) (setq n 0)
         (repeat list_len
             (setq lay_n (nth n list_lay))
             (if (tblsearch "LAYER" lay_n)
                 (command "_-layer" "_on" lay_n "")
             ) ; if
             (if (= (tblsearch "LAYER" lay_n) nil)
                 (progn
                 (princ "\n Слой ") (princ lay_n)
                 (princ " отсутствует или неправильно записан!")
                 )
             ) ; if 
             (setq n (1+ n))
         ) ; repeat           
         (setvar "USERI1" 0)
         )
    ) ; cond
    ) ; progn
    (progn
    (princ "\n Для работы программы необходимо определить атрибут на слое LAY_OFFON.")
    (alert "   Для работы программы необходимо\nопределить атрибут на слое LAY_OFFON.")
    (command "_-LAYER" "_m" "LAY_OFFON" "_p" "_n" "LAY_OFFON" "")
    (command "_attdef" "" "LAY_OFFON" "Записать слои через запятую без пробелов" "" (list 0 0) "" "")
    (command "_ddedit" (list 0 0) "")
    ) ; progn
) ; if
(setvar "CLAYER" lay)
(setvar "CMDECHO" echo)
(princ)
)

; Программа, пребразующая строку слоев в список слоев 
(defun str-str-lst (str pat / i)
  (cond
  ((= str "") nil)
  ((setq i (vl-string-search pat str))
       (setq list_lay       
           (cons
           (substr str 1 i)
           (str-str-lst (substr str (+ 2 i)) pat)
           ) ;_  cons
       ) ; setq
   )
   (t 
       (list str))
  ) ;_  cond
)

Но потом выяснилась одна неприятная вещь: программа работает только в том случае, если атрибут находится в видимой части экрана...
Profan вне форума  
 
Непрочитано 22.12.2010, 08:40
#6
Хмурый


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


Для чего в блоке, например, с моей подписью нужны атрибуты? Они там не нужны. Если будут нужны- я прикреплю к блоку описание атрибутов, и расположу атрибут в нужном мне месте, и в свойствах блока я могу этот атрибут изменять, в случае, если атрибут изменяемый.
Хмурый вне форума  
 
Непрочитано 22.12.2010, 08:56
#7
E-degtyarev

Помогаю, кому делать нечего.
 
Регистрация: 27.03.2009
Русская деревня
Сообщений: 394


Цитата:
Зачём чертёжнику нужно это гомно из скрытых текстов?
МишаИнженер, напряги слегка мозги и из "г-на" можно делать конфетки. Автокад очень гибкая среда проектирования, наверное поэтому здесь объекты более автономны. Твоя задача - научиться использовать этот "недостаток" в своих интересах.
E-degtyarev вне форума  
 
Непрочитано 22.12.2010, 09:27
#8
Солидворкер
Moderator

Конструктор (машиностроение)
 
Регистрация: 23.10.2006
Россия
Сообщений: 23,239
<phrase 1=


МишаИнженер, троллинг удался
Солидворкер вне форума  
 
Непрочитано 23.12.2010, 03:06
#9
T-Yoke

Артиллерист - вертолётчик. Дипломированный инженер-механик. Technologist
 
Регистрация: 29.11.2004
Где-то около Москвы
Сообщений: 16,727
Отправить сообщение для T-Yoke с помощью Skype™


А мне можно вопрос задать?
А как выполнить сортировку атрибутов в уже созданном блоке, а то они создаются в каком-то неведомом мне порядке, вроде бы ни от чего не зависимом.
Сколько не экспериментировал, не могу уловить логику.
__________________
«Артиллерия не токмо грохот, но и наука!» Пётр I
T-Yoke вне форума  
 
Непрочитано 23.12.2010, 06:41
#10
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Цитата:
а то они создаются в каком-то неведомом мне порядке, вроде бы ни от чего не зависимом
Они "создаются" в том порядке, в котором выбирались при создании определения блока. Т.е. выбирать надо с умом, по одному.

Чтобы изменить порядок, надо переопределить блок, т.е. расчленить (на правильные слои, в правильном масштабе) и заново создать, придерживаясь требуемого в будущем порядка следования атрибутов.
ShaggyDoc вне форума  
 
Непрочитано 23.12.2010, 07:57
#11
Krovlaf

геология, геодезия
 
Регистрация: 29.05.2009
Хабаровск
Сообщений: 185


Цитата:
Чтобы изменить порядок, надо переопределить блок, т.е. расчленить
Зачем так радикально? Открываем диспетчер атрибутов блоков, кнопками вверх-вниз сортируем как хочется-> обновляем. Все
Цитата:
И почему нельзя просто разбить блок и чтобы атрибуты при этом не меняли своих значений?
У нас так бабы верещат с генплана. Для них Акад - кульман.
Express -> Blocks->Explode attributes to text Кнопочку можно добавить рядом с простым Explode.
Странно как то читать такие сообщения от пользователя который уже давно на форуме и достаточно активен (Регистрация: 15.12.2008
Сообщений: 214
Krovlaf вне форума  
 
Непрочитано 23.12.2010, 08:19
#12
Profan


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


Express Tools - это не AutoCAD.
Profan вне форума  
 
Непрочитано 23.12.2010, 08:57
#13
Krovlaf

геология, геодезия
 
Регистрация: 29.05.2009
Хабаровск
Сообщений: 185


Express Tools - это Photoshop!
Если этот "рудимент" путешествует на теле программы начиная (боюсь ошибиться) с R14 в официальных релизах, то отделять его, вспоминая истоки, не с первого раза получается. Вопрос то не в этом. Поводов для возмущения при пользовании AutoCAD можно найти предостаточно, но проявлять при этом неконтролируемую ярость необязательно. Лучше спросить у коллег, почитать литературу, просмотреть форум, спросить там вежливо, а не брызгать "гомном". Чертёжник, ...
Krovlaf вне форума  
 
Автор темы   Непрочитано 23.12.2010, 09:33
#14
МишаИнженер


 
Регистрация: 14.12.2008
Сообщений: 1,125


Если я что-то черчу то я и должен иметь дело с четежом и мне не нужен лишний хлам используемый при программировании. Для чего скажите мне после разбиения блока выводятся на экран не значения атрибутов а их названия? Куда деваются те значения которые они имели? Получается что меня просто обкрадывают и ещё и мусорят при этом
МишаИнженер вне форума  
 
Непрочитано 23.12.2010, 09:44
#15
Profan


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


Дополнительных программ к AutoCAD'у полно, причем тут PhotoShop? Речь идет о встроенных инструментах AutoCAD'а, а они порой недоделаны. Вспомним мультилинию.
Profan вне форума  
 
Непрочитано 23.12.2010, 09:45
#16
Лиспер


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


МишаИнженер, мозги включи. Блок разбивается на составляющие. В составе блока определен атрибут? Вот это определение и получи. Не хочешь атрибутов? Тогда готовься к тому, что AutoCAD очень быстро у тебя откажется работать. Видел я чертежи, в которых вместо тысячи вхождений одного блока с одним атрибутом было сделано несколько тысяч отдельно графики, отдельно текста. При это текст был как однострочный, так и многострочный. Да еще и с разными стилями. Да еще и с принудительным форматированием. Открытие такого файла практически на любой машине убивало AutoCAD, а потом и ОС.
__________________
(/= RegDate StartReadDate)
Лиспер вне форума  
 
Непрочитано 23.12.2010, 09:58
#17
Krovlaf

геология, геодезия
 
Регистрация: 29.05.2009
Хабаровск
Сообщений: 185


Блоки с атрибутами это не хлам. Это хороший инструмент для работы с данными на чертеже. если тебе не нужны какие то атрибуты, то сделай их невидимыми и не порти чертеж. Открываем диспетчер атрибутов блоков, выбираем свой ненавистный блок, открываем атрибуты для редактирования и у на данный момент ненужных ставим галку "скрытый". Обновляем блок (кнопочка обновить). При этом у всех блоков на чертеже "ненужный мусор" исчезает. Я подозреваю, что подобные проблемы будут возникать у тебя не раз, так что берем литературу и читаем все про блоки и ихние атрибуты.
Миша, ты же в первую очередь инженер!
Krovlaf вне форума  
 
Непрочитано 23.12.2010, 10:01
#18
Хмурый


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


Offtop: пошёл новый виток
Хмурый вне форума  
 
Автор темы   Непрочитано 23.12.2010, 10:03
#19
МишаИнженер


 
Регистрация: 14.12.2008
Сообщений: 1,125


Я стараюсь Вам внушить простую мысль, что информация для программистов не всегда нужна для обычных чертёжников! Допустим есть у вас блок с атрибутами которым присвоеы какие-то свойства. Далее нам требуется упростить этот блок например в моём случае чтобы конвертировать линии из цветных в обычные полилинии с заданной шириной чтобы потом получивший ся чертёж вставить в отчёт Word. Я запускаю программу и она начинает выводить на экран линии которые были раньше скрыты в определении блока с переключателем видимости. Мне эти лишние линии не нужны. Что делать я разбиваю блок, но что при этом получаю: значения атрибутов (отметки в метрах) меняются на названия атрибутов. Где мне взять присвоенные атрибутоам значения, снова их записывать самому? Зачем мне если я упрощаю чертёж выводятся на экран то чего раньше не было? Получается я не упрощаю чертёж а меняю его так чтобы программист мог проверить не запутался ли он в названиях атрибутов. А мне не надо проверять названия мне нужны значения атрибутов а с названиями пусть разбираются те кто их придумал.
И ещё: если мы чертим то значит мы меняем чертёж и мы применяем инструменты после использования которых мы обычно понимаем что мы можем получить. А в случае с атрибутами мы меняем чертёж но что мы получаем после использования инструмента упрощения мы сказать заранее не можем. Неувязочка в логике получается. Страдает логика у программистов AutoCADa!
МишаИнженер вне форума  
 
Непрочитано 23.12.2010, 10:16
#20
LSN


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


МишаИнженер, уже несколько раз сказали как правильно взорвать блок с атрибутом. Атрибут это не информация для программистов. Не нужно знать каких-либо языков программирования, чтобы пользоваться ими. Если вам не нужны атрибуты, так не используйте.
LSN вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Почему так подурацки в AutoCAD сделана работа с атрибутами?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему в Autocad 2010 rus не получается назначить команде псевдоимя "h" (в pgp)? AlexV AutoCAD 4 21.07.2010 08:29
Почему в AutoCAD шрифт ГОТС А иногда не редактируется Марина_D AutoCAD 4 22.04.2010 05:37
Юмор 2007 Огурец Разное 1172 29.12.2007 11:16
Поменялась последовательность действий в AutoCad 2006. Почему? и как вернуть? shpyliova AutoCAD 4 19.11.2007 15:42
AutoCAD 2005 - Русский - почему я его не люблю mAd!Duke AutoCAD 16 06.06.2005 08:03