vla-insertblock - problemy ze skalą?


gruzin

Rekomendowane odpowiedzi

zacząłem kombinować jak by tu zacząć rysować zagospodarowanie terenu w "m" lub w "cm". Dodam że do tej pory zawsze rysowałem w "cm" i wszystkie bloki do wklejania w terenie mam zrobione w cm.

 

bloki wstawiałem za pomocą funkcji vla-insertblock ale pojawił się teraz problem ponieważ bloki takie nie przeskalowują się z zachowaniem jednostek bloku i jednostek aktualnego rysunku. Albo coś źle robię albo jest to błąd Zwcada 2015+ ??

(vla-insertblock (mh:ACX_ActiveSpace) (vlax-3d-point (trans PunktWstawienia 1 0)) NazwaBloku
1.0
1.0
1.0
0.0
)

(command "_insert" NazwaBloku PunktWstawienia "_XYZ" "1.0" "1.0" "1.0" "0.0")

wstawianie tego samego bloku za pomocą command i vla-insertblock daje zupełnie inne rezultaty, pomimo tego że skalę xyz mam taką samą w obu poleceniach.

polecenie command "_insert" przeskalowuje wstawiane bloki tak jak trzeba ale wolałbym poprawić funkcję z vla-insertblock jeżeli coś mam w niej nie tak

 

W załączniku przykładowy blok który próbuję wstawiać na zagospodarowaniu terenu

IS_PZT_STUDNIA_100cm.dwg

Odnośnik do komentarza
Udostępnij na innych stronach

Witam

Sprawdzam ten temat i nie udaje mi się powtórzyć opisanego przez Pana przypadku.

Wstawiając zarówno przez command jak i przez vla-insertblock wynik mam taki sam.

Jednostki rysunku do którego wstawiam bloki to metry lub cale .

Może jeszcze coś innego mamy inaczej. Proszę przesłać informację jaki ma Pan vernum ZWCADa? jeśli to możliwe proszę też przykładowy projekt, do którego wstawia Pan blok.

Czy blok jest już zdefiniowany w projekcie? czy wstawia go Pan bezpośrednio z zewnętrznego pliku?

Odnośnik do komentarza
Udostępnij na innych stronach

wstawiam zawsze z zewnętrznego pliku (przykład takiego pliku byl w załączniku)

wieczorem postaram się skopiować trochę większy kawałek kodu jak znajdę chwilkę.

 

studnia z załącznika jeżeli rysujemy w "m" powinna wstawiać się ze skalą 0.01 i mieć średnicę = 1 (tak nie jest)

studnia z załącznika jeżeli rysujemy w "cm" powinna wstawiać się ze skalą 1 i mieć średnicę = 100 jest ok

Edytowane przez gruzin
Odnośnik do komentarza
Udostępnij na innych stronach

Proszę umieścic blok z pierwszego posta na dycku c:

i potestować jego wstawienie za pomocą tego kodu, zmieniając jednostki w rysunku na "cm" i na "m"

(defun c:mmm ()
(vl-load-com)
	(setq PunktWstawienia (getpoint "\nWskaż punkt wstawienia rysunku: ")
	NazwaBloku "C:\\IS_PZT_STUDNIA_100cm.dwg")
	(vla-insertblock (vla-get-ModelSpace (vla-get-ActiveDocument (vlax-get-acad-object))) (vlax-3d-point (trans PunktWstawienia 1 0)) NazwaBloku
		1.0
		1.0
		1.0
		0.0 ; tutaj dodac odczytywanie aktualnego obrotu luwa
	)
)
(defun c:mmmm ()
	(setq PunktWstawienia (getpoint "\nWskaż punkt wstawienia rysunku: ")
	NazwaBloku "C:\\IS_PZT_STUDNIA_100cm.dwg")
	(command "_insert" NazwaBloku PunktWstawienia "_XYZ" "1.0" "1.0" "1.0" "0.0")
)
Odnośnik do komentarza
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie