|
Страници по тази тема: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | (покажи всички)
Тема
|
Корекция
[re: StSt]
|
|
Автор | StSt (Нерегистриран) |
Публикувано | 03.07.06 19:46 |
|
Кolumb е прав. Ето коригирания макрос:
(if (>=(cdr(ASSOC 62(tblsearch "layer""1")))0)
(command "layer" "off" "1,2" (if (VL-STRING-SEARCH "1,2" (getvar "clayer"))"y"""))
(command "layer" "on" "1,2" (if (VL-STRING-SEARCH "1,2" (getvar "clayer"))"y""")))
| |
Тема
|
Re: Вместо заключение
[re: kolumb]
|
|
Автор | Pin (Нерегистриран) |
Публикувано | 03.07.06 20:39 |
|
Ако го слагаш като макро към бутон от тулбар трябва да залепиш веднага след последната скоба ";" (без кавичките) и трябва да работи (с изключение на случая с текущия слой)
За да работи с текущия слой трябва да се напише малко повече код - нещо подобно на това дето ти е дал адаша - пробвай го дали работи от текущия слой, че аз имам известни съмнения и ако не работи ще ти напиша нещо подобно (обаче в други ден, че сега тук са празници,а в къщи нямам Аутокад)
| |
Тема
|
грешка
[re: StSt]
|
|
Автор | StSt (Нерегистриран) |
Публикувано | 03.07.06 21:38 |
|
Даденият по-горе код не е верен!
Трябва да бъде така:
(foreach nn '("1" "2");тука се изписват имената на слоевете, които трябва да се изслючват
(if (>=(cdr(ASSOC 62(tblsearch "layer" nn)))0)
(command "layer" "off" nn(if(/=(getvar "clayer" )nn)" " "y "))
(command "layer" "on" nn "")
);if
);foreach
| |
Тема
|
Re: грешка
[re: StSt]
|
|
Автор | kolumb (Нерегистриран) |
Публикувано | 04.07.06 09:20 |
|
Все още не работи
| |
Тема
|
Re: грешка
[re: StSt]
|
|
Автор | StSt (Нерегистриран) |
Публикувано | 04.07.06 09:32 |
|
Грешката беше в един интервал в кавичките
(foreach nn '("1" "2")
(if (>=(cdr(ASSOC 62(tblsearch "layer" nn)))0)
(command "layer" "off" nn(if(/=(getvar "clayer" )nn)"" "y"))
(command "layer" "on" nn "")
);if
)
| |
Тема
|
Re: грешка
[re: StSt]
|
|
Автор | kolumb (Нерегистриран) |
Публикувано | 04.07.06 13:55 |
|
РАБОТИ!
И в крайна сметка пак си трябва едно ; накрая
Ето го окончателно работещо:
(foreach nn '("1" "2")
(if (>=(cdr(ASSOC 62(tblsearch "layer" nn)))0)
(command "layer" "off" nn(if(/=(getvar "clayer" )nn)"" "y"))
(command "layer" "on" nn "")
);if
);
На мястто на 1 и 2 се пишат имената на слоевете.
Благодаря момчета !
П.С. Ако правилно съм разбрал за всеки от елементите на масива nn се прави проверка включем/изключен и текущ(или не) и съответно се включва/изключва.
Ако слоевете са повече от един, тогава:
(foreach nn '("1" "2" "3" "4" и т.н.) ???
| |
Тема
|
Re: грешка
[re: kolumb]
|
|
Автор | StSt (Нерегистриран) |
Публикувано | 04.07.06 14:43 |
|
Точно така с FOREACH на NN се присвоява последователно по един елемент от списъка
| |
Тема
|
За бутоните и макросите
[re: StSt]
|
|
Автор | StSt (Нерегистриран) |
Публикувано | 05.07.06 21:21 |
|
В темата няколко пъти беше засегнато прикачването на програми към бутони на туулбаровете.
Моето мнение е, че трябва да се реши предварително кои неща да се закачат на бутони. Аз имам повече от 500 файла с повече от 1000 функции и ако трябва да ги прикача на бутони ще стане голямо мазало - няма да има място за чертане.
На бутони трябва да се прикачат само тези функции, които се ползват във всички чертежи. Има начини това да стане по-интуитивно или според случая. Мисля, че съм го описвал в сайта. Ако трябва ще отворя отделна тема.
| |
Тема
|
Re: Програмиране в ACAD
[re: StSt]
|
|
Автор |
ФeниX (nikolov_k) |
Публикувано | 06.07.06 16:08 |
|
И аз програмирам на Autolisp, но за разлика от повечето тук използвам ACAD за карти, кадастър и задаване на допълнителна информация към обектите в ACAD. Програмките ги пиша за ускоряване на работата и мога да кажа, че ползата е огромна. Освен това смятам, че ако става въпрос за скорост, Autolisp няма конкуренция. Разбира се ако нещицата са простички това няма значение, но в случай, че обработвате нещо голямо разликата е огромна.
| |
Тема
|
ВРЪЗКА
[re: ФeниX]
|
|
Автор | StSt (Нерегистриран) |
Публикувано | 06.07.06 23:07 |
|
Дай мейл на stan_emea@abv.bg
| |
|
Страници по тази тема: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | (покажи всички)
|
|
|