Как да зададем автоматичен conversion factor за всички полета?
Здравейте! Много често ползвам полетата за пресмятане на квадратури. Работя в см, което означава, че трябва да превръщам квадратурите в кв. м. Има ли някаква опция, чрез която да не се налага всеки път да въвеждам ръчно conversion factor 0.0001 от additional format на всяко поле по отделно?
Здравейте, Опитайте с поле в поле, т.е. пояснявам 1.Задайте поле(Field) и изберете подопцията за формула. 2.Във самата формула с десен бутон на мишката или Ctrl+F задайте ново поле, което вече да чете площа на вашия обект и довършете формулата за превръщане на кв.см в кв.м. Така за следващия обект просто ще трябва да влезете последователно в основното поле и съдържащото се в него поле и да изберете новия обект. Надявам се, че съм бил полезен. Поздрави!
Здравейте,
преди време преправих един лисп, който с малките си познания в областа, успях да накрам да ми върши работа.
Споделям го тук, надявам се да влезне в употреба на повече хора.
Как работи Lisp - a ?
Зарежда се стандартно като всеки един Lisp.( ако все още не си преминала урока за Lisp пиши под тази тема ще ти помогна )
След което стартирай лиспа - командата за старт е AT ( снимка 1 позиция 1 ), след което AutoCAD те кара да посочиш площта - ( снимка 1 позиция 2 ) посочваш я.
След което 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 програмката, ще получиш съобщение че нямаш такава команда.
Ето няколко теми от форума на Аула:
Как да инсталирам липсващ фонд за Аутокад LISP файл ?
Как да си добавя приложение в Аутокад?
Как да направя перпендикуляр от точка, която не е среда на линия?
в които теми са разгледани различни казуси свързани с Autolisp програмките.
В тях има и препратки към други теми от форума и уроци от курсовете в Аула в който са разгледани основните идей на Autolisp програмите.
Сигурен съм че ще ти помогнат за разбирането на основната концепция при ползването на Lisp в AutoCAD.
Здравейте, Благодаря за препратките изчетох ги и всичко съм изпробвал. Но горепосочения проблем не мога да го реша. Проблема мисля, че идва от това, че копирам този script от тук (явно не го създавам както трябва). Аз процедирам така отварям notеpad поставям кода и го запазвам, като добавя .lsp След това в AutoCAD го зареждам и ми изписва, че е зареден успешно, но командите с които се активира просто ги няма. Мога да го кача тук за да види някои какво се е получило при създаването му.
Привет! Когато натисна линка: Надписване на площи във Field се появява това съобщение. Аз ли правя нещо грешно или сесията на файла е изтекла?
Здравей, Надежда, сесията на файла е изтекла. Опитай с този линк ---> https://drive.google.com/open?id=1392rpiLvWQdxDG0GhK4ahLKREl590fli За да заредиш Lisp-a изпиши AP в Auto CAD. Поздрави!