Tomasz79

Użytkownik forum
  • Postów

    40
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Tomasz79

  1. Tomasz79

    SMath

    Witam. To jest bardzo ciekawa alternatywa dla MathCAD-a, od dłuższego czasu na nim pracuje wykonując obliczenia wytrzymałościowe. Nie ma takiej prędkości jak MathCAD, ale dobrze się sprawuje. Spece od niego potrafią robić na nim animacje oraz potrafią go programować w VB lub C# ( http://smath.info/wiki/ ). Obecnie program posiada bardzo ciekawą funkcjonalność, która przydaje się w pracy. Program tworzy pliki exe z projektów, dzięki temu można robić matryce obliczeniowe, w których nie można robić zmian w procedurach obliczeniowych. Oto jak wygląda przykładowe okno takiego projektu: A tutaj widok wydruku do powyższego okna Powyższy przykład znajduje się w załączniku. Pozdrawiam TJ belka jednoprzesłowa z 1 siłą P.rar
  2. Tomasz79

    Smath

    Okienka w SMath Studio
  3. Witam ponownie. w końcu dopatrzyłem się w katalogu programu jakieś dwa przykładowe projekty. Ale pozostały pytania, na które nie znam odpowiedzi. Proszę o pomoc w ich sprawie. Pozdrawiam TJ
  4. Witam. Jestem posiadaczem ZWCAD-a plus nakładka e-cad do żelbetu. Architekturę budynków wykonuję na Arcadii Architektura z InterSoftu i obecnie zastanawiam się czy nie przesiąść się na ZwCAD Architcture. Pobrałem wersję próbną ZwCAD Architcture i coś tam szkicuje ale jakoś mi nie wychodzi. Zwracam się do obeznanych użytkowników z prośbą o podesłanie mi jakiegoś kawałka projektu wykonanego w ZwCAD Architcture abym mógł zobaczyć pełne możliwości programu. Na tym forum pokazane jest wiele ciekawych rzeczy jakie można zrobić w ZwCAD Architcture a mnie ciekawi jak wygląda plik dwg gotowy do wydruku. Czy da się tak zrobić aby w wygenerowanym przez program przekrój był „aktywny” np. zmieniam w przekroju położenie okno a program automatycznie uaktualnia zmiany na rzutach i w modelu 3D? Czy po skończeniu wykonywania projektu model 3D "rozbijacie" do wersji 2D czy pozostawiacie na przyszłość gdyby były potrzebne jakieś zmiany? Czy da się w modelu 3D dodać warstwy posadzkowe, czy trzeba robić to ręcznie na przekrojach? Czy normalnie jest aby model 3D wykonany za pomocą funkcji GRUPA 3D rozbijał się na rzuty gdy chce podejrzeć model renderowany? To jest model 3D przed renderingiem: To jest model 3D po renderingu: Pozdrawiam Tomasz79
  5. Witam. Ostatnio interesuję się trochę C++ i SDS-em i chciałem się dowiedzieć czy ten program (w załączniku) był pisany w Visual C++ Express czy w wersji pełnej Profesional? Pozdrawiam
  6. Dawno nie robiłem okienek w DCL-u ale czy wielkości wycinków nie powinny być podawane jako liczby całkowite "Integer" ? Przecież komputer nie wyświetli ci wycinka na 0.25 piksela ??
  7. Jeszcze pamiętać należy o tej książce: Tworzenie okien dialogowych (LSP i DCL). Ćwiczenia praktyczne Dariusz Frenki http://helion.pl/ksiazki/tworzenie_okien_dialogowych_lsp_i_dcl_cwiczenia_praktyczne_dariusz_frenki,cwtwok.htm Tak do kompletu.
  8. Książka praktycznie nie do zdobycia. Chyba że po znajomościach lub allegro. Ja do zdobycia tej książki 2 lata temu zatrudniłem żonę, wiedząc że jej nigdzie w żadnym sklepie (internetowym lub w księgarni) nie kupi obiecałem jej za nią :mrgreen: srebrny zegarek . I któregoś pięknego dnia przyszła paczka do mnie z książką z fakturą z jakiejś księgarni internetowej. Ale co było najśmieszniejsze w tym wszystkim że ta książka miała na okładce ślady po butach, jakby ktoś po niej chodził i trochę zmiętolona była, tak jakby leżała gdzieś długo i czekała na mnie. Więc od tamtej pory ta książka jest bardzo cenna dla mnie, bo kosztowała mnie 40zł + srebrny zegarek :lol: . A to strona, która może coś ci pomoże. http://www.afralisp.net/dialog-control-language/tutorials/dialog-boxes-and-autolisp-part-2.php A tu jakieś przykłady z jedne książki z Helionu. http://www.tomaszjankowski.webpark.pl/przyklady_dlc.zip Pozdrawiam
  9. Proszę ściągnąć sobie ten plik w zip-ie. http://www.tomaszjankowski.webpark.pl/strony.zip Tam znajdzie Pan odpowiedź, zeskanowałem przykład z książki do tego przypadku A tu mała pomoc do projektowania okienek "tester okienek DCL" może się przydać: ;;; TESTDCL.LSP .... by M.P.Saju. ;;; This is a freeware. License for use of this application is granted for ;;; distribution, provided it is not mutilated. If there are problems please ;;; feel free to contact the author at mpsaju@yahoo.com ;;; ;;; Testing *.DCL files becomes a necessity when developing a good sized lisp ;;; application for easy input and understanding. This routine in lisp was ;;; written for just such a necessity. ;;; ;;; Usage is very simple... Just type "Testdcl" in Autocad text screen and press ;;; "enter". A file selection dialog box will open up to select the DCL file. ;;; On entering, the DCL under test will open. This application works under ;;; the assumption that there is an active "accept" or "cancel" button. ;;; ;;; I have tried to solve all problems that I have encountered. However if there ;;; are any further issues please feel free to contact me. (defun c:testdcl (/ nam$ nam id loop) ;;; lisp for checking dialogboxes at the beginning of their design (setq nam$ (getfiled "Select a DCL file" "" "dcl" 0)) (setq nam (identify nam$)) ) (defun identify (nam$ / file x dd dd$) (setq file (open nam$ "r") dd$ nil dd nil x 0 ) (while (setq dd (read-line file)) (if (wcmatch dd "*: dialog {") (progn (setq dd$ (substr dd 1 (- (strlen dd) 11))) (if (wcmatch dd$ " *") (setq dd$ (substr dd$ 2 (strlen dd$))) ;; added for eliminating blank ) (rundcl nam$ dd$) ) ) ) (close file) dd$ ) (defun rundcl (nam$ nam) (setq id (load_dialog nam$)) (if (not (new_dialog nam id)) (exit) ) (action_tile "cancel" "(done_dialog 0)") ;;; cancel button dialog.. normally in all DCLs (action_tile "accept" "(done_dialog 0)") ;;; accept button dialog.. normally in all DCLs (setq loop (start_dialog)) ) Pozdrawiam
  10. Dzięki wielkie za pomoc. Męczę te bloki, ponieważ napisałem program, który wstawia bardzo dużą ilość bloków (czasami można liczyć je w tysiącach) i przez "command" i "insert" w zwcad-dzie wstawianie ich trwa wieki (intelicadzie z InterSOFT-u troszkę szybciej). Testowałem wstawianie takiej dużej ilości bloków bez atrybutów omawianą wyżej techniką trwa o 1/3 szybciej, więc męczarnie nad optymalizowaniem kodu raczej się opłacają. Jak ktoś będzie chciał mieć program do odczytywania wyników obliczeń zbrojenia płyty w programie PLATO (z InterSOFT-u) to proszę pisać do mnie to udostępnię aktualną wersję napisaną w LISP-ie. Tej mojej metody nawet InterSOFT nie znał do póki mu nie pokazałem. Dodam jeszcze, że nie jest to zgrywanie wyników w formacie DXF czy MBA zupełnie coś innego. Kawałek funkcjonalności programu: http://www.tomaszjankowski.webpark.pl/plato2.htm Z optymalizacją kodu jeszcze trochę mi zejdzie bo coraz to więcej człowiek się uczy tego LISP-a, a kiedy pisałem program to dopiero raczkowałem z LISP-em. Pozdrawiam Tomasz Jankowski
  11. Witam ponownie. Jak za pomocą Lisp-a i funkcji entmake wstawić do rysunku blok z atrybutem? Wiem że to temat jest ciężki ale czy da się to zrobić nie używające (command "_insert") lub vla-InsertBlock? Wymęczyłem coś takiego jak poniżej i program wstawia mi tylko blok ale bez atrybutu: Wstawiany blok posiada tylko jeden atrybut. (defun C:x2 (/) (setq dan (list 10 10 10)) (entmake(append(list (cons 0 "INSERT") (cons 100 "AcDbEntity") (cons 67 0) (cons 8 "0") (cons 100 "AcDbBlockReference") (cons 61 1) (cons 2 "Osie - warstwa 0") (cons 10 dan)(cons 41 1.0) (cons 42 1.0) (cons 43 1.0) (cons 50 0.0) (cons 70 0) (cons 71 0) (cons 44 0.0) (cons 45 0.0)))) (entmake(append(list (cons 0 "ATTRIB") (cons 67 0) (cons 8 "0") (cons 284 0) (cons 48 1.00000) (cons 60 0) (cons 39 0.000000) (cons 10 dan) (cons 40 20.0000)(cons 1 "os A") (cons 50 0.000000) (cons 41 1.00000) (cons 51 0.000000) (cons 7 "Standard") (cons 71 0) (cons 72 1) (cons 11 dan) (cons 210 dan )(cons 2 "OŚ") (cons 70 0) (cons 73 0) (cons 74 0) (cons 280 0)))) (entmake(append(list (cons 0 "SEQEND") (cons 67 0) (cons 8 "0") (cons 48 1.00000) (cons 60 0)))) ) Dzięki za wszelką pomoc.
  12. Witam ponownie. Przedstawiam procedurę do zmiany wartości atrybutów w blokach. Może to nie jest mistrzostwo ale działa. Jakby komuś było potrzebne to proszę poniżej znajduje się kod: ;funkcja główna, która przeszukuje bloki w poszukiwaniu atrybutów o zadanej nazwie (defun c:xxx ( / da ile_danych dane_bloki atr1) (progn (prompt "\nWybierz blok do zmiany jego numeru_pozycji:") (setq da (ssget (list (cons 0 "insert" ) ))); pobranie zbioru bloków (setq ile_danych 0) (repeat (sslength da) ;pętla zależna od ilości danych (setq dane_bloki (ssname da ile_danych));odczyt informacji o kolejnym bloku (setq atr1 (cdr(assoc 66 (entget dane_bloki)))) ;sprawdzenie czy blok posiada atrybuty (if (= atr1 1)(progn (atblok1 dane_bloki "NAZWA_SYSTEMOWA" "kr.");procedura do zmiany danych (atblok1 dane_bloki "MATERIAL" "C27");procedura do zmiany danych (prompt "\nOdszukano bloki z atrybutami") ));koniec testu (setq ile_danych (+ 1 ile_danych)));koniec reapt (command "_regen") ));koniec funkcji ;program do zmiany jednego atrybutu w wybranym bloku ;nazwa_bloku - jest to zmienna okreslająca nazwę wybranego bloku delkaruje się ją poprzez (setq dane_bloki (ssname da ile_danych)) >> da - zbiór wskazanych elementów >> ile_danych - numer bloku "elementu" ;nazwa_atr - jest to nazwa "TAG" atrybutu szukanego w bloku ;wartosc_atr - jest to wartość atrybutu jaki ma być wstawiony gdy znajdzie się dany "TAG" (defun atblok1 ( nazwa_bloku nazwa_atr wartosc_atr / da1 da2 da3 dane1 dane2 ile_d) (progn (setq da1 nazwa_bloku);przypisanie elementu do zmiennej ;wewnętrzna pętla przeszukująca atrybuty bloków i szukająca tagu (setq ile_d 0) (while (= ile_d 0) (setq da2 (entnext da1)) (setq dane1 (cdr(assoc 0 (entget da2))));szukanie końca bloku (if (= dane1 "SEQEND") (progn (setq ile_d 1) )) (setq dane2 (cdr (assoc 2 (entget da2))));pobranie nazwy atrybutu (if (= ile_d 0) (progn ;jeżeli nie znajdzie seqend to dalej szuka i zamienia atrybuty (if (= dane2 nazwa_atr ) (progn (setq da3 (entget (entnext da1))) (setq da3 (subst(cons 1 wartosc_atr) (assoc 1 da3)da3)); tu nadaje sie zmiany kodu (entmod da3) ))));koniec warunków zamiany (setq da1 (entnext da1)));koniec while ));koniec funkcji Pozdrawiam
  13. Wielkie dzięki :grin: . Pozdrawiam
  14. Wskazówka była by nile widziana. Pozdrawiam
  15. Witam ponownie. Nadal bawię się blokami z atrybutami. Napisałem coś takiego: (defun c:xxx ( / ) (progn (prompt "\nWybierz blok do zmiany jego numeru_pozycji:") (setq da (ssget (list (cons 0 "insert" )))) (setq ile_danych 0) (while (< ile_danych (sslength da)) (setq da1 (ssname da ile_danych));odczyt informacji o kolejnym bloku (setq da2 (entget(entnext da1))); przejście do kolejnego elementu bloku (setq dane1 (cdr(assoc 0 (entget da2)))); odczyt nazwy elementu bloku (0. "ATTDEF") szukany (prompt "\nElement: ") (princ dane1) (setq ile_danych (+ 1 ile_danych));kolejny blok do odczytu );koniec while ));koniec funkcji Procedura ma za zadanie odczytanie informacji na temat pierwszego elementu z jakiego składa się blok, wywala mi błąd na tej linii: 1) (setq da2 (entget(entnext da1))); przejście do kolejnego elementu bloku (setq dane1 (cdr(assoc 0 (entget da2)))); odczyt nazwy elementu bloku (0. "ATTDEF") szukany Natomiast jeśli wstawię coś takiego: 2) (setq dane1 (cdr(assoc 2 (entget (entnext da1))))) to wszystko będzie działało? Proszę o pomoc w poprawieniu tego kodu Nr1 bo już mi brak cierpliwości. Czym się różnią te dwa kawałki kodu że jeden chodzi a drugi nie (dla mnie oba powinny dawać te sam wyniki)? Docelowo chciałem zrobić procedurę, która wyszukuje w blokach z atrybutami nazwę ("Tag") i jeśli znajdzie szukany atrybut zmienia jego wartość ("Value"). Wszystko pisze wyłącznie w AutoLisp-ie bo VisualLisp jak na razie dla mnie to czarna magia. Dzięki
  16. Witam. Po długim grzebaniu w sieci faktycznie nie da się tego wyłączyć (nie ma takiej opcji w tej wersji programu). Ale pogrzebałem trochę na forum zwcad.org i tam podali sposób zastępczy, wystarczy zmienną PICKBOX ustawić na 0. Nie jest to rozwiązanie idealne, ma wadę ale działa. Pozdrawiam
  17. Witam ponownie. Jak wyłączyć podświetlanie po najechaniu kursorem nitkowym na obiekt. Nie mogę nigdzie tego znaleźć. Jaka zmienna systemowa za to odpowiada? Pozdrawiam Tomasz
  18. Dzięki :lol: Ale fajne ! Bardzo dziękuje. Pozdrawiam
  19. Witam wszystkich. Czy ma ktoś jakiś przykład jak za pomocą AutoLisp-a (list i entmake) wstawić do rysunku blok z atrybutami ? Męczę się z funkcją insert ale przy duży ilościach bloków bardzo wolno wszystko chodzi. Pozdrawiam
  20. Witam. Czy przed instalacją ZwCad-a 2011 muszę odinstalować zwcad-a 2010? Pozdrawiam
  21. Film jako przykład modelowania 3d w ZwCadzie jest pouczający z tym nie ma co się sprzeczać. Możliwości modelowania 3d są bardzo duże, ograniczenia ją tylko wyobraźnia użytkownika. Film pokazuje że się da zrobić dach w 3D, ale poza efektem wizualnym nic to nie wnosi do pracy inżyniera. Chyba że traktować to jako sztuka dla sztuki. Dlatego przepraszam jeśli kogoś obraziłem, uraziłem moimi wypowiedziami. Dlaczego napisałem to co napisałem? Chciałem się podzielić swoim doświadczeniem, aby użytkownicy i młodzi inżynierowie bawiąc się w 3D byli świadomi że modelowanie więźby w 3D to tylko "sztuka dla sztuki" i nie tracili zbędnego czasu myśląc że to coś przyśpieszy ich pracę. A tak przy okazji czy jest jakaś nakładka do rysowania więźby dachowej pod ZwCad-a? Pozdrawiam Tomasz
  22. Tak jak napisałem. Bez kompleksowego rozwiązania nie ma co startować do 3D dachów. Pozdrawiam
  23. Witam. Film fajny i ciekawy, ale jak dla mnie robota bez sensu. Zapytacie dlaczego, odpowiem w punktach możecie się z tym zgodzić lub nie? 1) Podstawowa sprawa pracochłonność bo to zabawa w 3D zawsze marnowała czas. Proszę na tym dachu zrobić parę facjatek i to różnego rodzaju i wtedy zobaczymy jak to łatwo pójdzie, doróbcie ścianki stolcowe, kleszcze? 2) Czy istnieje sens robienia więźby dachowej w 3d jak reszta projektu jest robiona w 2d? Ma to sens jedynie dla ustalenia widoku połaci dachowych i dla łączenia się facjatek z połaciami dachu. 3) Ktoś się narobi żeby zrobić w 3d konstrukcję więźby dachowej a później i tak będzie musiał robić wykaz mas drewna "ręcznie" bo komputer za niego tego nie zrobi. 4) Mając taki dach jak go wymiarować, opisać i pokazać go na papierze? Oczywiście można to zrobić w LAYOUT-cie. 5) Czy jakiś cieśla potrzebuje takich dokładnych rysunków żeby stosować 3d technologi?? Jego będzie interesował przekrój krokwi, rozstaw poszczególnych elementów konstrukcji dachu, spadki i poziomy położenia poszczególnych elementów konstrukcyjnych typu murłata, płatwie czy jętka. To wszystko z 2d rysunków może się dowiedzieć czyli z przekroju budynku i z rzutu połaci i więźby dachowej. Dlaczego jestem taki anty zapytacie ? Dachów to ja już trochę przerobiłem, również modelowanie budynków w 3d (ręcznie jak ten dach). Doszedłem do wniosków, których zapewne nie jeden z "Nas" użytkowników programów CAD doszedł, "goły" ZwCad, AutoCad bez nakładek i dodatkowych programów to tylko deska kreślarska. Takie zabawy w 3D to tylko marnowanie cennego czasu, a jak wiadomo czas to pieniądz. A bez specjalistycznego oprogramowania ewentualnie dodatkowych programów wykonanych w VBA lub w LISP-ie to wychodzi taka zabawa. Pozdrawiam Tomasz Jankowski wieloletni użytkownik programów CAD.