wigus15

Użytkownik forum
  • Postów

    7
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    1

Odpowiedzi opublikowane przez wigus15

  1. 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)))
     

  2. 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"?

  3. 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) ?