wigus15
-
Postów
7 -
Dołączył
-
Ostatnia wizyta
-
Wygrane w rankingu
1
Odpowiedzi opublikowane przez wigus15
-
-
Przepraszam za spam ,alezdołałem (chyba) poradzić sobie z poprzednim problemem i udało mi się napisać cos takiego, niestety w dwóch ostatnich linijkach pokazuje mi błąd i nie mam pojęcia co jest nie tak. Byłbym wdzięczny jakby ktoś rzucił na to okiem.
(defun c:aa ()
(setq warstwa (getstring "Podaj nazwe warstwy: "))
(setq stary_napis (getstring "Podaj stary napis: "))
(setq napis (ssget "X" (list (cons 1 stary_napis)(cons 8 warstwa))))
(setq nazwa_napisu (ssname napis 1))
(setq zmiana (entget nazwa_napisu))
(setq nowy_napis (getstring "Podaj nowy napis: "))
(setq nowy_napis2 (subst(cons 1 nowy_napis)(cons 1 napis)zmiana))
(setq koniec (entmod nowy_napis2)))
-
Ok, dziękuję między czasie będe starał się samodzielnie robić program. Przepraszam za wprowadzenie w błąd ,ale jednak dane: warstwa, stary napis, nowy napis muszą być wpisywane z okna poleceń. Zrobiłem już kawałek programu, który ma za zadanie pobrać ze zbioru wskazań podane przeze mnie elementy, lecz autocad ciągle informuje mnie o błędnej podanej wartości w ssget.
(defun c:aa ()
(setq warstwa (getstring "Podaj nazwe warstwy: "))
(setq stary_napis (getstring "Podaj stary napis: "))
(setq sel1 (ssget "X" (list (cons 0 TEXT)(cons 1 stary_napis)(cons 8 warstwa)))))O ile się nie mylę cyfry w oznaczają dany parametr szukanego elementu, miałem problem ,aby znaleść identyfikator do parametru treści napisu, czy na pewno jest to "1"?
-
Sorry jestem kompletnym laikiem jeśli chodzi o Lispa i w ogóle ciężko mi wymysleć na jakiej zasadzie ma działać ten program. Po dłuższym zastanowieniu do głowy przyszły mi dwa warianty programu:
WARIANT I:
Program zamieniający dane obiekty ( w tym przypadku byłyby to obiekty tekstowe) opierałby się na funkcji "subst".
WARIANT II:
Program opierający się na funkcji "(command "EDTEKST")
Czy mógłby ktoś doradzić, który z tych wariantów będzie prostszy do zastosowania ( o ile w ogóle da się napisać program opierając się na tych funkcjach) ?
-
-
Skrypt miałby działać w taki sposób, że w kodzie miałby wpisane
stary_napis
nowy_napis
Nie potrzeba "kontaktu" użytkownika z oknem poleceń, wybór zmiany treść napisu miałby się odbywać na poziomie zmiany kodu programu.
-
Tak jak w tytule, czy ktoś ma jakiś pomysł jak stworzyć ten bardzo przydatny program ?
Bardzo proszę o pomoc.
Program automatycznie aktualizujący treść napisów na danej warstwie.-proszę o pomoc [rozwiązany]
w Wsparcie programistyczne LISP i VisualLISP
Opublikowano
Dzięki wielkie za pomoc, program zrobiony ;)