Rekomendowane odpowiedzi

Opublikowano

Witam 

Potrzebuje pomocy jak zmodyfikować tak, aby instrukcja warunkowa sprawdzała czy jest warstwa "okna".

Jak jest warstwa "okna" to program jej nie tworzy , jak nie ma to ją tworzy.

Oraz mam pytanie czy da się to okno utworzyć jako całość czyli np. jako blok.

Bo w tym momencie to on tworzy mi jako poszczególne linie. 
Z góry dzięki za pomoc. 

 

Pb.lsp

Opublikowano

Takie rozwiązanie, które sam stosuję:

    (if	(not (tblsearch "LAYER" "jakas_warstwa"))
      (entmake (list '(0 . "LAYER")
		     '(100 . "AcDbSymbolTableRecord")
		     '(100 . "AcDbLayerTableRecord")
		     (cons 2 "jakas_nazwa")
		     '(70 . 0)
		     '(62 . 7)
		     '(6 . "Continuous")
		     '(370 . -3)
	       )
      )
    )

 

Opublikowano

A najprościej to załadować sobie CADPL-Pack i tam jest między innymi :

; cd:ACX_AddLayer         - Tworzy nowa warstwe / Creates a new layers                        ;
 

Pozdrowienia dla Kojacek :-)

 

Opublikowano

Dodałem łączenie elementów jako blok


(setq last_mem (entlast) )	; zapamiętujemy co było ostatnio narysowane, przyda się później
; ..... rysowanie
(setq lastent (if (null last_mem) ; (setq lastent (entnext ) )
					(entnext )	
					(entnext last_mem)
			) 
)
		
(setq Selset (ssadd ) )	; przygotowujemy zbiór elementów do dodania do bloku
(while (not(null lastent ) )	
	(setq Selset (ssadd lastent Selset) )	; dodajemy kolejny element do zbioru 
	(setq lastent (entnext lastent))		; szukamy następnego narysowanego elementu
)
	  
(setq nr 1 )
(while (tblsearch "BLOCK" (setq nazwa (strcat "okno" (itoa nr ) ) ))
	(setq nr (1+ nr) )
)
		
; tworzymy blok (definicję) z narysowanych elementów
(command "_.-block" nazwa "_non" PU Selset "")
		
; wstawiamy blok
(command "_insert" nazwa PU "" "" "")
      

 

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się