Forum użytkowników programów ZWCAD, KOMPAS-3D, Scan2CAD, PDF2CAD Strona Główna Forum użytkowników programów ZWCAD, KOMPAS-3D, Scan2CAD, PDF2CAD
Forum CAD.

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy
RejestracjaRejestracja  ZalogujZaloguj

Poprzedni temat «» Następny temat
Czy istnieje możliwość...
Autor Wiadomość
MEagle 

Dołączył: 27 Paź 2009
Posty: 3
  Wysłany: Sro Paź 28, 09 10:26   Czy istnieje możliwość...

Witam,

Czy istnieje możliwość aby w sposób automatyczny wszelkie wymiarowanie przechodziło na osobną warstwę?

Używam obecnie już jakiś rok ZWCADa 2008i. Przyjąłem kiedyś taki sposób rysowania, że stałe elementy takie jak tabliczka rysunkowa, rysowana część w rzutach, wymiarowanie rysuje na przydzielonych warstwach. Rysunek na ekranie przez to jest o wiele czytelniejszy. Rysunki są nie raz dość pokaźnych rozmiarów a i przy tym wymiarowań jest mnóstwo. Bywa tak, że umieszczanie elementów rysunkowych i wymiarowania przeplata się. Dlatego zadaję to pytanie, bo bardzo niewygodne jest przełączanie warstw.

Z pozdrowieniami,
MEagle
 
     
Tomasz79 
ZwCad, Arcadia

Pomógł: 1 raz
Dołączył: 25 Lis 2008
Posty: 35
Wysłany: Sro Paź 28, 09 15:41   

Kiedyś na jakimś forum rozmawiałem z ludźmi na ten temat.

http://www.konstruktorbud...owych,1333.html

Oto może być recepta na twoją bolączkę.

Pozdrawiam Tomasz Jankowski
 
     
dmatusz3
Site Admin

Pomógł: 22 razy
Dołączył: 20 Sty 2008
Posty: 652
Wysłany: Czw Paź 29, 09 09:17   

Witam,

bardzo ciekawy link, prześledziliśmy go dokładnie.

Mamy jeszcze inny pomysł na rozwiązanie tej funkcji.

Jak ją opracujemy to zamieścimy ją tutaj.

Pozdrawiam
 
     
kruszynski

Pomógł: 17 razy
Dołączył: 02 Sty 2009
Posty: 312
Wysłany: Czw Paź 29, 09 11:17   

Witam
W załączniku plik zawierający funkcję działającą w następujący sposób:
Funkcję wywołuje się przez wpisanie polecenia WW
Użytkownik wpisuje nazwę warstwy
Wszystkie wymiary zostają przeniesione na warstwę o podanej nazwie.

Wymiary.zip
Pobierz Plik ściągnięto 52 raz(y) 1,56 KB

 
     
MEagle 

Dołączył: 27 Paź 2009
Posty: 3
Wysłany: Pią Paź 30, 09 10:33   

kruszynski napisał/a:
Witam
W załączniku plik zawierający funkcję działającą w następujący sposób:
Funkcję wywołuje się przez wpisanie polecenia WW
Użytkownik wpisuje nazwę warstwy
Wszystkie wymiary zostają przeniesione na warstwę o podanej nazwie.


Dziękuję, Panowie, za odpowiedzi.

Do tej pory takich "manewrów" z dodatkowymi funcjami nie robiłem.
Próbuje dodać "wymiary.zel" do ZWCADa, ale pojawia się błąd.
Przebieg instalacji poniżej.
Kod:
Polecenie: appload
Loading C:\Program Files\ZWCAD 2008i Plk\Download\Wymiary.zel
Polecenie: Wczytuję zaszyfrowany plik......
błąd: pusta funkcja
(VLAX-GET-ZWCAD-OBJECT)
(SETQ *ZCAPP* (VLAX-GET-ZWCAD-OBJECT))
(LOAD "C:/Program Files/ZWCAD 2008i Plk/Download/Wymiary.zel")

Polecenie: ww
Błędna komenda.  Sprobuj ponownie.


Mógłbym prosić o instrukcję jak dobrze dodać funkcję.
 
     
MEagle 

Dołączył: 27 Paź 2009
Posty: 3
Wysłany: Pią Paź 30, 09 10:58   

Tomasz79 napisał/a:
Kiedyś na jakimś forum rozmawiałem z ludźmi na ten temat.

http://www.konstruktorbud...owych,1333.html

Oto może być recepta na twoją bolączkę.

Pozdrawiam Tomasz Jankowski


Polecenie "w+" w wersji z powrotem na poprzednią warstwę działa wyśmienicie.
Minusem jest brak podglądu linii wymiarowych przy podawaniu punktów, ale do tego można się przyzwyczaić.

Dzięki serdeczne.
 
     
kruszynski

Pomógł: 17 razy
Dołączył: 02 Sty 2009
Posty: 312
Wysłany: Pią Paź 30, 09 11:06   

W tym wypadku problem jest taki, że ta funkcja działa na ZWCAD w wersji 2009 a nie 2008. Pomyśle nad "odchudzeniem" funkcji do wersji 2008
 
     
Tomasz79 
ZwCad, Arcadia

Pomógł: 1 raz
Dołączył: 25 Lis 2008
Posty: 35
Wysłany: Pią Paź 30, 09 18:38   

Witam

Idąc za ciosem linii wymiarowych chciałbym Państwu przedstawić procedurę do szybkiego wymiarowania szeregowego w pionie i poziomie. Z góry ostrzegam że procedura została napisana pod Intelicada konkurencji ( z Intersoftu). ZWCad-a czasem używam w pracy jak muszę siedzieć w biurze a tam nie chwalę się swoimi procedurami.
W podziękowaniu za uzyskaną na tym forum pomoc chciałem przedstawić swoją procedurę.

Polecenia uruchamiające procedury:
wmz - wymiarowanie szeregowe w poziomie po osi X
wmn - wymiarowanie szeregowe w pionie po osi Y

Kod:

;***********************************************************************************
;Procedura do szybkiego wymiarowania w stylu aktualnym na określonej warstwie w poziomie i w pionie
;Procedura do wymiarowania szerogowo w pionie i poziomie.
;Polecenie uruchamiające wymiarowanie w poziomie:  wmz
;Polecenie uruchamiające wymiarowanie w pionie:  wmn
;***********************************************************************************
;Autor: Tomasz Jankowski 09,2009r
;***********************************************************************************
;Procedura do szybkiego wymiarowania w stylu aktualnym na określonej warstwie w poziomie
(defun c:wmz( / P2 P3 P4 P5 x1 x2 y1 y2 x4 x5 nrLK)
(setq old1 (getvar "CLAYER"))
(command "_layer" "_set" "5" ""); włączenie warstwy 5 <<<<< Tu można podać nazwę sowjej warstwy na której wykonywane są wymiarowania
;--------------------------- pobieranie listy punktow
(c:pob_pkt)
(setq P2 (getpoint "\nWskaż początek wstawienia wymiarów: "))
(demo_punkt P2)
(setq P3 (getpoint P2 "\nWskaż odsunięcia wymiarów: "))
(demo_punkt P3)
(setq x1 (car P2))
(setq y1 (cadr P2))
(setq x2 (car P3))
(setq y2 (cadr P3))
;wstawienie 1 wymiaru
(setq P4 (nth 0 lista1))
(setq x4 (car P4))
(setq P5 (nth 1 lista1))
(setq x5 (car P5))
(command "_dimlinear" (list x4 y1) (list x5 y1) (list x5 y2))
;kontynuacja kolejnych wymiarów
(setq nrLK 0)
(setq nrLK (+ 2 nrLK))
(while (or (/= P4 nil) (/= P5 nil))
(progn
(setq P4 (nth (- nrLK 1) lista1))
(setq P5 (nth nrLK lista1))
(setq x4 (car P4))
(setq x5 (car P5))
(command "_dimlinear" (list x4 y1) (list x5 y1) (list x5 y2))
(setq nrLK (+ 1 nrLK)) ))
;kasowanie listy
(setq lista1 nil)
(setvar "CLAYER" old1 );przywrócenie starej warstwy
)
;***********************************************************************************
;procedura do szybkiego wymiarowania w stylu aktualnym na określonej warstwie w pionie
(defun c:wmn( / P2 P3 P4 P5 x1 x2 y1 y2 x4 x5 nrLK)
(setq old1 (getvar "CLAYER"))
(command "_layer" "_set" "5" ""); włączenie warstwy 5 <<<<< Tu można podać nazwę sowjej warstwy na której wykonywane są wymiarowania
;--------------------------- pobieranie listy punktow
(c:pob_pkt)
(setq P2 (getpoint "\nWskaż początek wstawienia wymiarów: "))
(demo_punkt P2)
(setq P3 (getpoint P2 "\nWskaż odsunięcia wymiarów: "))
(demo_punkt P3)
(setq x1 (car P2))
(setq y1 (cadr P2))
(setq x2 (car P3))
(setq y2 (cadr P3))
;wstawienie 1 wymiaru
(setq P4 (nth 0 lista1))
(setq y4 (cadr P4))
(setq P5 (nth 1 lista1))
(setq y5 (cadr P5))
(command "_dimlinear" (list x1 y4) (list x1 y5) (list x2 y5))
;kontynuacja kolejnych wymiarów
(setq nrLK 0)
(setq nrLK (+ 2 nrLK))
(while (or (/= P4 nil) (/= P5 nil))
(progn
(setq P4 (nth (- nrLK 1) lista1))
(setq P5 (nth nrLK lista1))
(setq y4 (cadr P4))
(setq y5 (cadr P5))
(if (/= P5 nil)
(command "_dimlinear" (list x1 y4) (list x1 y5) (list x2 y5)))
(setq nrLK (+ 1 nrLK)) ))
;kasowanie listy
(setq lista1 nil)
(setvar "CLAYER" old1 );przywrócenie starej warstwy
)
;***********************************************************************************
;Procedury potrzebne do działania poleceń: wmz; wmn
;***********************************************************************************
;procedura wstawia tymczasowy krzyżyk w punktach wstawienia
(defun demo_punkt( Px0 / x0 y0 )
(setq x0 (car Px0))
(setq y0 (cadr Px0))
(grdraw (list (- x0 5) y0) (list (+ x0 5) y0) 1 1)
(grdraw (list x0 (+ y0 5)) (list x0 (- y0 5)) 1 1))
;***********************************************************************************
;procedura do zbieramoa współrzędnych punktów i zapisywania ich w liście w pamięci komputera
(defun c:pob_pkt( / P1)
(progn
(setq lista1 nil)
(setq P1 (getpoint "\nWskaż 1 punkt:"))
(demo_punkt P1)
(setq lista1 (append lista1 (list P1)));<<<<< ta linia tworzy lzawartość listyistę
;petla do zapisywania punktów
(while (/= P1 nil)
(setq P1 (getpoint "\nWskaż kolejny punkt:"))
(if (/= P1 nil)(demo_punkt P1))
(setq lista1 (append lista1 (list P1)));<<<<< ta linia tworzy lzawartość listyistę
)))
;***********************************************************************************
(princ "\nWczytano polecenia: wmz; wmn")


Tu znajduje się link do procedury zapisanej w pliku: http://www.metrolradom.pl/forum_i/linie_szer.lsp

A tu znajduje się mała prezentacja działania programu: http://www.metrolradom.pl/forum_i/pokaz.htm

Mam nadzieję że Państwu przyda się ten program i przyśpieszy pracę tak jak mi.

Z wyrazami szacunku Tomasz
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group - opowiadania
Strona wygenerowana w 0,37 sekundy. Zapytań do SQL: 11