Може ли да се търси с FIND в атрибут съставен от няколко полета?

AutoCAD Формула II AutoCAD

Малко ще ми е трудно да го обясня, но ще опитам.

Имам блок, в който има няколко атрибута. В тях вкарвам ръчно данните. Освен тях имам един атрибут, който чрез Insert Field е съставен от другите атрибути и идеята е да се съставя автоматично. Прилагам снимка за яснота

във въпросния "съставен" атрибут се сформира запис. До тук добре, НО искам когато с Find търся в чертежа, да мога да намирам въпросния запис и да ми маркира съответните блокове (виж втората снимка)

но изглежда НЕ търси вътре в атрибута, който е съставен чрез Field.

Има ли бърз и лесен начин това да се промени?

Здравей, VaiOS.

Преди да потърсим друго решение, искам да обърна внимание на това че в прозореца ти Find and Replace в полето Find Where е избрано Select Objects ... селектирал ли си всички блокове в които искаш да търсиш преди да приложиш Find and Replace.

Реално в момента не търсиш в чертежа (Entire Drawing - option) ами търсиш само измежду селектираноте обекти ... ако не са селектирани блоковете (или въобще нищо друго не е селектирано) следва да не се намира нишо посредстваом Find and Replace.

Набито око имаш, Краси.

За съжаление не е там ключа към решението :( . В случая съм маркирал блоковете. Пробвал съм да търся и в целия чертеж. Резултатът е един и същ - нищо не намира.

Хмм интересно :)

Мога ли да те помоля за малко повече информация.

Каква е крайната ти цел... имам предвди искаш да правиш бърза справка на блоковете които са с точно определен надпис, искаш да правиш по бързи промени?

Питам защото търсенето във Fields и то в блок и промяната се оказва малко по-сложна задачка поне от гледна точка на това което се сещам в момента и поприпомних и то особено когато искаме след това да нарпавим Replace. Естествено няма невъзможни неща, НО ако може да променим нещо друго според мен, НО преди това трявбва да знаем крайния вариант на задачата за да променим процеса преди това ;)

Веднага казвам - лесен начин с ползване вградените команди на AutoCAD няма. Вариант е да ползвате lisp, с който да търсите желаната стойност "20-03.RTE" (например). Тънкият момент е, че при стартиране на lisp-а Вие може да си въвеждате "20-03.RTE", но вътре в програмката трябва да е указано, че "20" е един атрибут, "03" е друг, "RTE" е трети. Така търсенето ще даде резултат само при съвпадение на трите атрибута. Оттам нататък промяната на стойности и ъпдейтването на Field-атрибута са подробности. Аз бих могъл да напиша такова нещо, но съм толкова затрупан с работа, че не се наемам да обещавам нещо, до което може и да не стигна в близките месеци. Има обаче още нещо, което искам да Ви кажа - ако става дума за еднакви блокове с еднакви атрибути, на които накуп да сменяте стойности, тогава Ви съветвам да си направите един "оригинален" блок и едно негово "копие" (желателно да е с друго име). След това в копието си заменяте всички "обикновени" атрибути с field-ове, които се теглят от оригиналния блок. Така ще имате два идентични блока, като с корекция на "оригинала" ще можете да коригирате "копието". В чертежа си запазвате един оригинал като темплейт, а навсякъде из самия чертеж ползвате копия. Така лесно ще правите корекции на атрибутите (само в оригинала), а и лесно ще разбирате колко пъти сте ползвали даден елемент (= бр. "копия") - в случай, че правите количествена сметка. Важно е да не изтривате "оригинала". По подобен начин аз правя етикети с номер (позиция), сечение (IPE, UPN, HE-A ...), стандарт (БДС ..., EN ..., DIN ...) ... става дума за стоманени конструкции.

В случая, идеята на блока/блокове е в крайна сметка да Нямам 2 блок-а с абсолютно еднакъв сборен надпис (Tag). Тоест tag-а е и идентификатор. Организирано е с атрибути, които се попълват ръчно (примерно 20+03+RTE) и един атрибут TAG, който чрез field ги обединява. Единствено той се вижда на чертежа, другите са невидими. По този начин ми е лесно и бързо при съставянето на чертежа да хвана една група устройства (блокове) и да им смея една част от означението, която се явява обща за групата, в зависимост от нуждите. Примерно мога да хвана 15 блока и да им сменя едновременно надписа като променя само едната му съставка, примерно от 20-xx.RTE да стане 21-xx.RTE. В същото време мога бързо и лесно да маркирам устройства с общи параметри (еднакви стойности на някой от ръчно въведените атрибути) примерно всички, които са “20” или всички “RTE” и те да ми "светнат" на екрана за да преценя нещо и/или пък да сменя стойността на всички маркирани блокове. По време на съставяне на чертежа е удобно и гъвкаво, но когато ми се наложи да правя обратната задача, тоест да търся във вече готов чертеж – става трудно. Примерно някой колега казва “има проблем с устройство 20-03.RTE, може ли да го погледнем на чертежа”? Е, в такава ситуация ми се иска да мога да напиша в търсачката конкретния надпис и съответното устройство да се маркира/селектира. Не е кой знае какъв проблем и не си заслужава правенe на лисп- специално за това. Въпреки, че ако знаех как САМ да си съставям лисп-ове, можеше и да си поиграя, ей така “за спорта”. Благодаря за коментарите и дано съм успял да обясня какво ми се върти в главата

пропуснах да кажа, че съм изпратил мейл до

[email protected] на 8 Окт.

с прикачен dwg файл съдържащ примерен блок.

Доколкото разбирам "03" и "RTE" са някакви характеристики, а "20" е номер. Имам lisp за преномериране (за мой блок), който лесно мога да преправя за Вашия. С този lisp може да се изважда от номера (примерно - изтрили сте няколко позиции и искате номерата от XX до YY да намалеят с А), може и да се добавя към номера (искате да вмъкнете няколко нови позиции и трябва номерата от XX до YY да се увеличат с B). Така не се налага да обикаляте чертежа и ръчно да сменяте номера. А ако искате изобщо да смените параметрите на дадения елемент (с различни номера и еднакви характеристики), това можете да го направите в "оригинала" и ще се промени във всички "копия" - по начина, който описах в предния си коментар. Ако проявявате интерес, моля да ми изпратите dwg-то на [email protected] - не обещавам, но ще се опитам в почивните дни да адаптирам lisp-а.

Здравей, Теодор.

Да, в общи линии тези атрибути отразяват характеристики и номера. В случая "03" се явява пореден номер и съответно най-често търпи промяна.

Благодаря за предложението за лиспа. Аз в тази тема питам за "търсене във", а не за "редактиране" на блок с атрибути, но, от описанието, лиспа изглежда да е интересен и полезен. Винаги съм готов да науча нещо ново и полезно, така че бих се възползвал от предложението. :)

Ще изпратя мейл с линк към темата.


Вашият отговор

Научи компютърните програми онлайн от топ експертите на България
Регистрацията в АУЛА ви дава:
  • 20 безплатни урока
  • Трикове и тънкости за софтуера
  • Отговори на вашите въпроси
  • Регистрация