"Полета" в AutoCAD. Как да ги ползваме.

Безплатни 20 урока
регистрирай се и научи

Ако сте вече потребител - Регистриран съм
Видео

Тест за преминаване към следващия урок

 
За какво служат полетата (fields) в AutoCAD?
Можем да показваме на екрана данни за обекти и те да се актуализират автоматично
Можем да дефинираме полета при проектиране на земеделски земи

Въпроси и отговори

  • Solni4ka :

    При мен полето "ViewportScale" не работи. Не ми е проблем, но много мие интересно защо е така. Аз ли нещосъм го сецнала?

    Иван Цукев:

    @Соня

    Стъпките са следните: 1. Влиза се в лейаута 2. Създава се текст за мащаб и се избира опцията Insert Scale 3. Избира се опцията "Object" и след това иконката за избиране на обект. 4. Избира се viewport-а, за който желаем да покажем мащаб 5. Избира се custom scale и най-вдясно една от опциите как точно да изглежда.

  • Маноела Бангеева:

    Може ли тази площ да бъде изпратена направо в таблица в същия файл, което значително ще улесни пресмятането на разходна норма например?

    Иван Цукев:

    @Manoela Може да се направи dataextraction (което е сливащият урок). Така ще се появи автоматично обновяваща се таблица.

  • Patya Hristova:

    Kак може, ако сме чертали с линия, а не полилиния да измерим площ? Как препоръчвате да се чертае, с полилиния или линия?

    Иван Цукев:

    @Петя За да измерим площ ни трябва затворен контур, който получаваме с полилиния.

    Ако сме ползвали линия вместо полилиния, решението е тя да се превърне в полилия с командата pedit и подопцията join.

    Теодор Димитров:

    А не може ли да се използва опцията region заедно с опцията massprop.Преди знаех само тази опция за бързо намиране на площ и периметър,но с полилинията е по лесно 

  • Джулиа Димитрова:

    Здравейте. Има ли как да се показва автоматично площта в квадратни метри, въпреки че чертая в сантиметри?

    Иван Цукев:

    @Джулия ДА!

    При опциите за настройките на точността има и една опция "Convertion Factor". В него може да се сложи коефициент, например 0.001, който да превръща едни мерни единици в други.

    Теменуга Иванова Иванова:

    Здравейте , Как да стигна до опциите за настройките на точността ?

    Богомила Планска:

    След като избереш "Площ" на обекта Полилиния пос полето "Формат" се намира поле "Точност" /Precision/ и стрелкичка надолу за възможни варианти - е те там...

  • Как да изкажа благодарности ?

    Анета Радева:

    Изключително полезно
    Благодаря

    Краси Кръстев:

    Да този урок е доста ценен и интересен. Полетата пестят доста време.

  • Димитър Стойков:

    Привет, Използвах го за дължина на елипси. Копирах ги отстрани, скейнах ги х2, обаче въпреки, че регенерирах няколко пъти, не се промени дължината, къде бъркам?

    Ivo GG:

    И при мен е така. Променям елипсата. Маркирам я. Пускам пропъртис с Ctrl r 1 и така написвам REGEN. Тогава се променя стойността на елипсата, която удължих. С 2010 съм.

  • Димитър Стойков:

    Копирах ги в твоя файл, този от тук от урока и стана, в моя файл обаче не може, някакви настройки?

    Иван Цукев:

    Пробвай с дължина на линия, за да тестваме от къде може да идва проблема

  • Теменуга Иванова Иванова:

    Здравейте , Как да стигна до опциите за настройките на точността ? Иван Цукев: @Джулия ДА! При опциите за настройките на точността има и една опция "Convertion Factor". В него може да се сложи коефициент, например 0.001, който да превръща едни мерни единици в други.

    Теменуга Иванова Иванова:

    Намерих го . Извинявам се за излишния въпрос .

    Теменуга Иванова Иванова:

    Намерих го . Извинявам се за излишния въпрос .

  • При Мас

    Милен Вълчев:

    След като променим размерите на площта и натиснем ентер, автоматично се обновява стойността на площта. Не е нужно отделно да задаваме команда regen.

    Милен Вълчев:

    Но, това само ако първият път сме ползвали тази команда.

  • Каква е квадратурата на площите от урока?

    Константин Желев:

    Здравейте, цифрите които се поевяват от командата area как се тълкуват? Питам защото десетичната запетая е странно назад в числото. 

    Краси Кръстев:

    Здравей, Area показва квадратурата в units^2, т.е ако си чертал в сантиметри ( условно си приел 1 Unit = 1 cm ), то тогава съответно Area ти показва см^2.На снимката съм показал точно такъв пример един квадрат 50/50 units ( в слуая съм си казал че чертая в cm ) от където 50*50=2500 cm^2 - толкова ми показва и Area = 2500 ( units = cm - така съм го приел).Надявам се да съм бил полезен с отговора.

    Константин Желев:

    Ок.  Днес определено е деня за root template :) 

  • Здравейте. Как да махна сиво оцветения правоъгълник под текста, който се генерира чрез Fields?

    Боряна Хаджова:

    Здравейте. Как да махна сиво оцветения правоъгълник под текста, който се генерира чрез Fields?

    Краси Кръстев:

    Здравей, може да го махнеш като промениш стойността на системаната променлива FIELDDISPLAY стандартно тя е = 1 и съответно имаш сиво оцветяване на Fields - a, задай стойност 0 и няма да имаш оцветяване.

    Надявам се да съм бил полезен с отговора.

    инж. Венета Малчева:

    Здравей, откъде може да се информирам за системните променливи на AutoCad по принцип? Ако не споменеш към някой въпрос от форума дадена променлива, има да се чудя как да направя желаните от мен настройки ... Всичко идва с опита или има някое симпатично help - че?

    Краси Кръстев:

    Като цяло променливите в AutoCAD са доста ... наистина доста, с времето някои поради честата им смяна съм ги запомнил и мога съответно да ги приложа директно, НО преди това естествено тази променлива съм я прочел в някой сайт, някоя книга, някой колега може да ми я е споделил ... " НЕ откривам топлата вода" :). Иначе за help може да изпишеш AutoCAD System Variable и съответно ще ти изкочат куп системни променливи, част от които може никога да не използваш.

  • Как да зададем автоматичен conversion factor за всички полета?

    Елена Борисова-Дамова:

    Здравейте! Много често ползвам полетата за пресмятане на квадратури. Работя в см, което означава, че трябва да превръщам квадратурите в кв. м. Има ли някаква опция, чрез която да не се налага всеки път да въвеждам ръчно conversion factor 0.0001 от additional format на всяко поле по отделно?

    Светлин Стоянов:

    Здравейте, Опитайте с поле в поле, т.е. пояснявам 1.Задайте поле(Field) и изберете подопцията за формула. 2.Във самата формула с десен бутон на мишката или Ctrl+F задайте ново поле, което вече да чете площа на вашия обект и довършете формулата за превръщане на кв.см в кв.м. Така за следващия обект просто ще трябва да влезете последователно в основното поле и съдържащото се в него поле и да изберете новия обект. Надявам се, че съм бил полезен. Поздрави!

    Краси Кръстев:

    Здравейте,

    преди време преправих един лисп, който с малките си познания в областа, успях да накрам да ми върши работа.

    Споделям го тук, надявам се да влезне в употреба на повече хора.

    Надписване на площи във Field

    Как работи Lisp - a ?

    Зарежда се стандартно като всеки един Lisp.( ако все още не си преминала урока за Lisp пиши под тази тема ще ти помогна )

    След което стартирай лиспа - командата за старт е AT ( снимка 1 позиция 1 ), след което AutoCAD те кара да посочиш площта - ( снимка 1 позиция 2 ) посочваш я.

    Снимка_1

    След което AutoCAD те пита къде да посочиш мястото на текста ( снимка 2 позиция 1 )

    Текст е един Field със записан в него в m2 площта на фигурата ( снимка 3 ) , която подчертавам е изчертана в сантиметри, точно това което искаш.

    Как най - лесно да променим големината на текста ?

    В 99 % от случайте стандартна стойност на текста който ползваш 2,4. Изпиши в командния ред TEXTSIZE и задай височина на текста - снимка 4.Каквато стойност зададеш там с такава ще работи Lisp - a .

    • Ако има проблем с ползването ( зареждането ) на Lisp - a пишете тук в тази тема ще помогна и дообесня.

    Надявам се да съм бил полезен с отговора.

    Елена Борисова-Дамова:

    инж. Светлин Стоянов-за съжаление това с въвеждането на формула във полето, поне при мен често създава проблем. Много често след записване на файла полето се превръща в текст. Благодаря, инж. Краси Кръстев, ще пробвам в вашия лисп и ще ви пиша дали имам проблем:)

    Елена Борисова-Дамова:

    Липса работи много добре. След като се порових доста по темата- намерих подобен и малко го модифицирах според нуждите- задаване на име на помещението и поради неправилното изписване на м2 в ANSI CODE, изписване на кв.м. А ето и файлечто: https://drive.google.com/file/d/0ByGbO0UzjwmwLVZXdFVEdE9sdk0/view?usp=sharing

    Николай:

    Здравейте, Файла който споделяте вече не съществува. (само информирам, понеже от интерес пробвам споделените неща в форума)

    Краси Кръстев:

    Здравей, Николай.

    Още веднъж, супер е че има токова голям интерес, поздравления.

    Файла по-горе, който съм споделил (лисп програмката) си се отваря, за него ли става дума?

    Николай:

    Лисп-а го пробвах, става дума за споделения файл от Елена Борисова-Дамова.

    Краси Кръстев:

    Да сега видях, че и тя е оставила линк, пробвах и не работи. Ами Сигурен съм че ще се върне в темата и ще пише ...

    Елена Борисова-Дамова:

    Здравейте! Пускам скрипта на файла! Дано ви върши работа! При мен работи:)

    ; ; Select closed polyline and place mtext with the room name and Area in m2 ; ; How to use: ; 1. select polyline ; 2. type in room name ; Note: the getstring function does not allow spaces, so use a _ underscore to seperate words ; 3 select insert point ; 4 Something similar to this will be placed with MTEXT ; room_name ; Area: 111.11 m2 ; 5 MTEXT will be placed with no wrap, to current settings ; ; Created
    ; 11-June-2003 YZ
    ; This code was taken from an internet web site. the original author was 'Jos van Doorn'. ; Among other things, I have modified the program to use MTEXT. ;

    (defun drtxt (/ rn tx ls vl lt ht lb hb nr pt) (setq tx (strcat (rtos (/ (getvar "area") 10000) 2 2) " кв.м." )
    rn (getstring "\nRoom Name: ") ) (setq ls (list (cons 1 tx)) vl (textbox ls) vl (cadr vl) lt (car vl) ht (cadr vl) vl (grread T) nr (car vl) pt (cadr vl) ) (princ "\nInsert Point: ") (while (/= nr 3) (command "redraw") (grdraw pt (setq pt (polar pt 0 lt)) 7) (grdraw pt (setq pt (polar pt (* pi 0.5) ht)) 7) (grdraw pt (setq pt (polar pt pi lt)) 7) (grdraw pt (polar pt (* pi 1.5) ht) 7) (setq vl (grread T) nr (car vl) pt (cadr vl) ) ) ;end while function (command "-mtext" pt "w" 0 rn tx "") (redraw) ) ; end drtxt function

    (defun c:pla () (setvar "cmdecho" 0) (while (setq et (car (entsel "\nSelect polyline: ") ) ;end car function ) ;end setq function (command "area" "o" et) (drtxt) ) ; wnd while funtion

    (setvar "cmdecho" 1) (princ)

    ) ; end c:pla function

    Краси Кръстев:

    Благодаря. Елена!

    Николай:

    Благодаря за кода, а с коя команда мога да го пусна? Прочетох го, но не видях никъде с коя команда мога да го задействам.

    Краси Кръстев:

    Здравей, Николай.

    Командата е - drtxt

    Втората функция се стартира с pla .

    Николай:

    Честит 3-ти март! Благодаря за отговора, но не се получават нещата. Зареждам го изписвам командата и нищо изписва ми, че не съществува такава команда.

    Елена Борисова-Дамова:

    Пробвай да пуснеш файла в чертежа ти и трябва да изпише едно съобщение, че зарежда файла. и след това ще можеш да въведеш командата !

    Краси Кръстев:

    Здравейте и от мен.

    Определно ако не си заредил lisp програмката, ще получиш съобщение че нямаш такава команда.

    Ето няколко теми от форума на Аула:

    Как да приложа кратка клавишна комбинация за командата Draw order - Bring to front/back. И има ли начин, веднъж като сме казали един обект да е пред/зад друг обект, това да остане така за винаги?

    Настройки за LISP

    Как да инсталирам липсващ фонд за Аутокад LISP файл ?

    Как да си добавя приложение в Аутокад?

    Как да направя перпендикуляр от точка, която не е среда на линия?

    Как да премахна зареден Lisp?

    в които теми са разгледани различни казуси свързани с Autolisp програмките.

    В тях има и препратки към други теми от форума и уроци от курсовете в Аула в който са разгледани основните идей на Autolisp програмите.

    Сигурен съм че ще ти помогнат за разбирането на основната концепция при ползването на Lisp в AutoCAD.

    Николай:

    Здравейте, Благодаря за препратките изчетох ги и всичко съм изпробвал. Но горепосочения проблем не мога да го реша. Проблема мисля, че идва от това, че копирам този script от тук (явно не го създавам както трябва). Аз процедирам така отварям notеpad поставям кода и го запазвам, като добавя .lsp След това в AutoCAD го зареждам и ми изписва, че е зареден успешно, но командите с които се активира просто ги няма. Мога да го кача тук за да види някои какво се е получило при създаването му.

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

    Силвена Бялкова:

    Здравейте! Ако използвам чужд файл на който има много обекти с пресметнати квадратури с "полета" как мога да разбера дали коректно са прихванати? Как да съм сигурна, че определен Field по невнимание е привързан към някой съседен обект?

    Иван Цукев:

    Трябва да се проверят един по един. За съжаление няма бърз начин да се установят грешки.

    петя:

    Здравейте, Реших да използвам командата "field", за улеснение, като чрез формула задам автоматично при разтегляне на размерната линия да се изчислява броя на армировъчните пръти в един армировъчен план. Въпросът ми е ако създам един такъв обект и просто го разкопирам в чертежа(и не въвеждам за всеки прът нов "field"), дали всяко ново копие, няма да е привързано към размерната линия на първоначалния обект? Благодаря предварително!

    Краси Кръстев:

    Здравейте,

    Не би трябвало, след разкопиране полето да помни, старата си дефиниция.

    Реално вие копирате обект заедно с полето, при копирането се сменя адреса на обекта заедно с полето т.е.

    Ако имате обекта 1 и поле 1 и ги копирате, новите обекти ще имат адреси обекта 2 и поле 2, свързването е 1 - 1 и 2 - 2.

    На (снимка 1 позиция 1) е обекта 1 и поле 1, след това те са копирни (снимка 1 позиция 2) и обекта 2 - линията е удължена с N на брой единици съответно след Update и на двата field - a (полета) се промени само полето 2 (снимка 1 позиция 3).

    Снимка_1

    Ако още имате съмнение, направете и вие един бърз тест.

    Надявам се да съм бил полезен с отговора.

    петя:

    Благодаря за бързия отговор! Аз също направих този тест преди да Ви пиша и всичко беше наред. Но това което ме усъмни е когато без да искам копирах желязото без дименсията, след което разтеглих дименсията на първото място и съответно и двете железа смениха бройките си( а по принцип на желязото което е изкопирано без дименсия би трябва да даде грешка). Исках да съм сигурна, тъй като в един момент ако се получи дублиране, това ще доведе до голям проблем.

    Краси Кръстев:

    Ако копираш по отделно, следва да се получи точно това което си описала.

    Имам предвид следното:

    Обект 1 и поле 1, копирам само обект 1 и той вече става обект 2, ако последствие копирам само полето 1, то това поле е вързано с Обект 1! Така променяйки обект 1 се сменят полето 1 и полето 2 които са свързани с обекта 1.

    Това най - лесно може да се види като се избере полето, след което кликнете с десен бутон на мишката и изберете Edit Field.В прозореца Field Expression може да видите ID (индентификационния код на обекта към който ("гледа") е свързано полето - снимка 1 - ObjId 140701570954448

    Снимка_1

    Ако копирам полето N на брой пъти без копиране на обекта свързан към него, то следва да е един и същи - снимка 2 - ObjId 140701570954448

    Снимка_2

    Последователно копиране на обекта сам по себе си не би довело до свързване с полетата! - снимка 3.

    Снимка_3

    Естествено може да селектираш даденото поле, след което десен бутон и да избереш Edit Field, и в прозореца да промениш обекта вързан към това полето - снимка 4 позиция 1.

    Снимка_4

    Това обаче е достарисковано с оглед на това че може да се вържат грешните обекти с дадено поле.Затова трябва да се внимава.

    Надявам се да стана ясно как работи AutoCAD, като запис при връзка обект-поле


    Основния извод е когато имате поле вързано към даден обекта, да селектирате обекта и полето едновременно и тогава да копирате.Освен това много внимавайте във по старите версии на AutoCAD, разбрах че тази зависимост не е в сила, т.е там дори и при едновремнно копиране, field - а (полето), си остава свързано към първия създаден обект.

    Така че при копиране копирайте заедно и проверявайте на произволен принцип.


    петя:

    Благодаря за изчерпателния отговор и отделеното време. Беше ми много полезно :)

    Краси Кръстев:

    Моля :). Весели празници!