-
Postów
1927 -
Dołączył
-
Ostatnia wizyta
-
Wygrane w rankingu
58
Treść opublikowana przez Martin_S
-
Zakończenia brył o stałym przekroju (F3D)
Martin_S odpowiedział(a) na Martin_S temat w Wsparcie programistyczne LISP i VisualLISP
Pytanie 1: Czy na podstawie danego bloku można w lispie określic jego max y i min y tzn wysokość bloku (odcinek. wysokość równoległa do osi Y globalnej LUW)? Blok definiowany jako polilinia zamknieta (region) w 2D na płaszczyźnie globalnej, zgodnie z zalożeniami lispa B3D - sprecyzuje (układ główny LUW) -
Wyciągnięcie bryły pomiędzy dwoma punktami (po linii prostej).
Martin_S odpowiedział(a) na Martin_S temat w Wsparcie programistyczne LISP i VisualLISP
Ok, fajnie, chcesz B3D "podrasować", ja zajmę się ułatwieniem fazowania końcówek brył solidowych (F3D) od strony matematycznej ;) bo to chyba będzie "SAJGON" -
Wyciągnięcie bryły pomiędzy dwoma punktami (po linii prostej).
Martin_S odpowiedział(a) na Martin_S temat w Wsparcie programistyczne LISP i VisualLISP
Działa, wyszło lepiej niż myślałem o założeniach na początku, @kojacek jesteś łebski gość - w pozytywnym sensie :hi: -
Wyciągnięcie bryły pomiędzy dwoma punktami (po linii prostej).
Martin_S odpowiedział(a) na Martin_S temat w Wsparcie programistyczne LISP i VisualLISP
Dla mnie jako użytkownika wystarczy napisać, zakaz używania w nazwie podkreślnika i spacji i po problemie, krótka piłka, a tak jak jest działa super, po prostu nie bede uzywał spacji ani podkreslnika :) Super jest ta lista i opcja wybierz, szacun :hi: -
Wyciągnięcie bryły pomiędzy dwoma punktami (po linii prostej).
Martin_S odpowiedział(a) na Martin_S temat w Wsparcie programistyczne LISP i VisualLISP
Jak można pomóc? -
Wyciągnięcie bryły pomiędzy dwoma punktami (po linii prostej).
Martin_S odpowiedział(a) na Martin_S temat w Wsparcie programistyczne LISP i VisualLISP
W takim razie, powinna iść konsekwencja i korekta tego UTF-8 w wersji ZWCAD2017 chyba, by działało to w lispach Niesamowite, modelowanie na bryłach solidowych dawno nie było tak "przyjemne" jak teraz, kilka wieczorów wystarczyło. Ale po co to 3D, to ma na celu dokładne spasowanie elementów w realnym modelu 3D, a z nich powstaną rysunki robocze 2D, to spore ułatwienie jeśli nie korzysta się z profesjonalnych "kombajnów CAD". Taki sobe komentarz. Dobra robota @kojacek. -
Wyciągnięcie bryły pomiędzy dwoma punktami (po linii prostej).
Martin_S odpowiedział(a) na Martin_S temat w Wsparcie programistyczne LISP i VisualLISP
Działa, szacun :hi: Mam pytanie o polskie znaki, Chińczycy wprowadzili do ZWCAD UTF-8, a ale w lispie trzeba zawartość zapisac jako ANSI, o tym ostatnio gruzin pisał, znaki polskie już mi działają. Używam angielskojezycznej wersji ZWCAD ARCHITECTURE - na silniku ZWCAD+ 2015 SP3.1 - z przyzwyczajenia. To pytanie to taka odskocznia od problematyki. W następnym kroku zajmę sie matematyczną stroną polecenia F3D do modelowania zakończeń bryły (typu: 0,1,2) po wykonaniu polecenia B3D ... ogarnę to by było łatwiej ;) -
Zakończenia brył o stałym przekroju (F3D)
Martin_S opublikował(a) temat w Wsparcie programistyczne LISP i VisualLISP
Mam pytanie, czy jest możliwe olispowanie (F3D) takiego zagadnienia, jako kontynuacja narzędzia EXTRINS (B3D) "Na piechotę" daję radę, ale to jest dość uciążliwe efekt 3 typów zakończeń: 0 - normalny, domyślnie standardowy 1 - równolegle do płaszczyzny globalnej XY 2 - prostopadle do płaszczyzny globalnej XY F3D.dwg Do fazowania nr 2 może przyda się lisp slice2P.zel od UI SZANSA Slice2p.zel Parę uwag do SLICE2P Używam go do ucinania płaszczyznami prostopadłymi do płaszczyzny globalnej XY, pierw wskazujemy 2 punkty na rzucie z góry (TOP VIEW), potem element do ucięcia, w wyniku otrzymujemy 2 bryły ucięte płaszczyzną przechodzącą przez 2 wskazane wcześniej punkty, Szczególnie przydatne do obróbki więźb drewnianych. -
Wyciągnięcie bryły pomiędzy dwoma punktami (po linii prostej).
Martin_S odpowiedział(a) na Martin_S temat w Wsparcie programistyczne LISP i VisualLISP
Co do 1. Skorzystałem z biblioteki profili stalowych , w ten sposób wykonstruowanych - jedynie co moge to uzyc zamkniecia, ale t jak piszesz 1 i ostatni punkt sie pokrywa co do 2. Nie korzystałem z tej opcji , dopiero dzis ją poznałem , wniosek jaki mi sie nasuwa, regiony z otworami są ok do tworzenia brył solidowych, ale niestety nie nadają sie do polecenia SLAB w zwcad architecture. p.s. dygresja dla architecturowców Jesli chcemy miec np. komin 3D sparametryzowany z polecenia SLAB to winny byc osobne obszary zamkniete, w przypadku tworzenia bryły solidowej to nie ma znaczenia, region "z dziurami" duzo wygodniejszy -
Wyciągnięcie bryły pomiędzy dwoma punktami (po linii prostej).
Martin_S odpowiedział(a) na Martin_S temat w Wsparcie programistyczne LISP i VisualLISP
Z tymi regionami to fajna sprawa, można bedzie płyty kanałowe modelować w 3D dużo dużo łatwiej lub pustaki stropowe dowolne do stropów gestożebrowych ..... ciekawych rzeczy sie uczę ;) -
Wyciągnięcie bryły pomiędzy dwoma punktami (po linii prostej).
Martin_S odpowiedział(a) na Martin_S temat w Wsparcie programistyczne LISP i VisualLISP
Racja, przeoczyłem to z dwuteownikami, oooops . plik skoryguję, nie wiedziałem, ze to narobi kupe problemów bedzie zasada jak na grafice DWG z dwuteownikami pozamykanymi, zetowniki także, pręt to okrąg, rura kwadratowa to region mam nadzieje ze bedzie juz ok B3D-003.dwg p.s. dyscyplina w CAD ważna , @kojacek - zrozumiałem, mam nadzieje że tak -
Wyciągnięcie bryły pomiędzy dwoma punktami (po linii prostej).
Martin_S odpowiedział(a) na Martin_S temat w Wsparcie programistyczne LISP i VisualLISP
Mam prosbe o drobną zmiane, w lispie pozbyłem sie polskich znaków, bo coś z nimi nie tak, i nazwa lispu skrócona, łatwiej sie wprowadza z klawiatury B3D (EXTRINS - oryginalne ale dość przydługie) teraz nie ma problemu z ś, ż, ę -
Wyciągnięcie bryły pomiędzy dwoma punktami (po linii prostej).
Martin_S odpowiedział(a) na Martin_S temat w Wsparcie programistyczne LISP i VisualLISP
Ok , lisp mi sie podoba , wreszcie sporo łatwiej "rzeźbi sie " stal w 3D ... idziemy ku ideałowi ;) B3D-002.dwg ... z fazowaniem końcówek byłoby to "genialne" narzędzie -
Wyciągnięcie bryły pomiędzy dwoma punktami (po linii prostej).
Martin_S odpowiedział(a) na Martin_S temat w Wsparcie programistyczne LISP i VisualLISP
Ok, o odejmowaniu regionów - coś sie nauczyłem przy okazji ;) @kojacek, mi zależy na tym lispie, postaram się takiego DWG wykonać ... także dam znać -
Wyciągnięcie bryły pomiędzy dwoma punktami (po linii prostej).
Martin_S odpowiedział(a) na Martin_S temat w Wsparcie programistyczne LISP i VisualLISP
Witaj, testowałem rure prostokątną goracowalcowaną 500x300x20, i tworzona bryła jest tylko z wewnętrznej krawędzi zamknietej, zewnętrza krawędz zamknieta bez zmian , wrzuce obrazek zaraz RP500x300x20_test.dwg p.s. jesli definiowany jest region1 w regionie2 to chyba te bryły obie powinny byc wyciągane i zewnętrzna odejmuje wewnętrzną, chyba ze trzeba definiowac osobno blok dla krawedzi/regionu zewnętrznego i osobno dla wewnętrznego tu rurę potraktowałem osobno (zewnętrzny obwód i wewnętrzny obwód) RP500x300x20_test.dwg -
ZWCAD 2017 - propozycje nowych funkcji lub usprawnienia istniejących.
Martin_S odpowiedział(a) na Chris temat w ZWCAD Standard i Professional
Dodam jeszcze że lekka korekta obrotu rastra tez , czasem mape trzeba pokalibrować w uproszczony sposób . Takie narzedzie ma e-cad do w/w celów, ale "na piechotę" j.w. tez da rade, blok i skalowanie osobne, potem rozbijasz blok i raster dopasowany -
ZWCAD 2017 - propozycje nowych funkcji lub usprawnienia istniejących.
Martin_S odpowiedział(a) na Chris temat w ZWCAD Standard i Professional
Wystarczy rysunek zamienić w blok 2D, i skalować osobno na kier. X i Y -
Ooops zapomniałem opisać konwersja spline do polilinii z łuków jako - MES odbywa się jedynie w płaszczyźnie globalnej XY, to informacja dla tych którzy chcą pofalowaną ścieżkę sobie utworzyć. Wklejam lisp dla spirali zwykłej i spirali 3D który znalazłem w internecie działa w ZWCAD+ spiral.lsp przydatne do korygowania schodów spiralnych z ZWCAD ARCHITECTURE i do uzwojenia zbrojenia 3D
-
Wyciągnięcie bryły pomiędzy dwoma punktami (po linii prostej).
Martin_S odpowiedział(a) na Martin_S temat w Wsparcie programistyczne LISP i VisualLISP
Tworząc blok nalezy uprzednio zamknąć polilinię, chyba ze korzystamy z gotowca z biblioteki co pokazywałem. Punkt wstawienia bloku mozna okreslić dowolnie wtedy nie koniecznie w narzucony sposób jak na grafice, także sposób kojacka jest praktyczniejszy jednak -
Wyciągnięcie bryły pomiędzy dwoma punktami (po linii prostej).
Martin_S odpowiedział(a) na Martin_S temat w Wsparcie programistyczne LISP i VisualLISP
@gruzin, rozważane były 2 opcje, polilinia zamknięta + punkty orientacyjne pomocnicze do wstawienia przekroju w sposób normalny na ścieżce w p. P1 druga opcja od kojacka , profil z polilinii zamknietej w postaci bloku, blok wstawiany wg zdefiniowanego punktu wstawiania w bloku w sposób normalny na ścieżce w p. P1 -
Wyciągnięcie bryły pomiędzy dwoma punktami (po linii prostej).
Martin_S odpowiedział(a) na Martin_S temat w Wsparcie programistyczne LISP i VisualLISP
Jesli chodzi o rury wystarczy powtórzyc na zewnętrznego i wewnętrznego okręgu wykonac lispa, potem odjąć 1 bryłe od drugiej i jest rura. Jesli ktoś używa nakładki e-cad, to baza profili jest tam szeroka, goracowalcowane i zimnogiete polilinie zamknięte, to samo dotyczy rur okragłych, kwadratowych i prostokatnych. Także interfejs z profilami to ambitniejsze zadanie, ale nie konieczne ;) do tworzenia bloków z przekroi stalowych Także, pomysł z blokiem jest udany, a osadzanie na sciezce bylo by wg definiowanego punktu wstawienia bloku w układzie lokalnym XYZ na poczatku sciezki w p. 0,0,0, to dobrze działa. Natomiast fazowanie jest trudniejszym problemem (wykorzystanie narzędzia SLICE jako ucięcie w płaszczyźnie równoległej do płaszczyzny globalnej XY lub prostopadłej do płaszczyzny globalnej XY (płaszczyzna cięcia jest prostopadła do płaszczyzny zawierajacej ścieżkę-odcinek P1-P2, dotyczy to poczatku i końca ściezki. 3 wariant bez mian. Są 2 wyjątki wczesniej opisałem. płaszczyzna przekroju profila nie może być równoległa do płaszczyzny cięcia SLICE bo wyjdzie bzdura, nieskończoność. ;) Do nastepnego wątku wkleje lispa do spirali 3D - np. zastosowanie do schodów spiralnych, strzemion-uzwojeń słupów okrągłych. Lisp jest z internetu, nie pamietam skąd, działa w ZWCAD+ -
Ambitniejszy cel: ścieżka jest polilinią składającą się albo z samych odcinków prostych, mieszana (odcinki proste i łuki), polilinia z łuków. polilinia konwertowana ze spline na polilinie z łuków (dyskretyzacja, na elementy skończone, ciągłe) Rozwiązanie na piechotę, więc da się ;) Scieżka w postaci splajnu skonwertowana na polilinię (łuki to elementy skończone dł. 100mm wpisane w spline) na poczatku ściezki znaleziono styczną w celu osadzenia lokalnego układu współrzędnych by osadzić blok w postaci obszaru zamknietego z polilinii (profil IPE600), rozbito blok, polecenie EXTRUDE i gotowe. PATH-01.dwg
-
Wyciągnięcie bryły pomiędzy dwoma punktami (po linii prostej).
Martin_S odpowiedział(a) na Martin_S temat w Wsparcie programistyczne LISP i VisualLISP
jest ok już, zaraz wrzuce obrazek , ufff, szacun kojacek Command: _appload R:\pliki3D\CADPL-Pack-v1.lsp loaded successfully! R:\pliki3D\EXTRINS.lsp loaded successfully! Command: ------- CADPL-Pack-v1.lsp - http://forum.cad.pl------- Command: Command: Command: EXTRINS Pierwszy punkt linii definiujÄ…cej Ĺ›cieĹĽkÄ™: Koniec Ĺ›cieĹĽki: Cancel! ; error: Function cancelled Command: Command: EXTRINS Pierwszy punkt linii definiujÄ…cej Ĺ›cieĹĽkÄ™: Koniec Ĺ›cieĹĽki: Podaj nazwe bloku: IPE600 Command: Command: Command: _shademode Current mode: 2D wireframe Enter option [2D wireframe/3D wireframe/Hidden/Flat/Gouraud/fLat+edges/gOuraud+edges] <2D wireframe>: g B3D-001.dwg Jak tak dobrze idzie to czy ścieżka może być dowolną polilinią o dowolnym kształcie? Z tym blokiem mi sie podoba u kojacka, odpada problem punktu orientacji, bo jest nim punkt wstawiania bloku , to duzo prostsze jednak. Masz rację kojacek. Po prostu Użytkowniku CAD , jak sobie zdefiniujesz punkt wstawiania bloku - przekrój zamkniety, tak ci sie taka "bela" utworzy na ściezce :) -
Wyciągnięcie bryły pomiędzy dwoma punktami (po linii prostej).
Martin_S odpowiedział(a) na Martin_S temat w Wsparcie programistyczne LISP i VisualLISP
W ZWCAD Architecture 2015 SP2 (silnik ZWCAD+ 2015 3.1) po tej korekcie cos dalej nie tak u mnie, cytuje F2 Command: _appload R:\pliki3D\EXTRINS.lsp loaded successfully! Command: Command: Command: EXTRINS Pierwszy punkt linii definiującej ścieżkę: Koniec ścieżki: Podaj nazwe bloku: IPE600 ; error: no function definition: CD:SYS_COLLLIST -
Wyciągnięcie bryły pomiędzy dwoma punktami (po linii prostej).
Martin_S odpowiedział(a) na Martin_S temat w Wsparcie programistyczne LISP i VisualLISP
OOps, w ZWCAD Classic wygląda tak Command: _open Command: EXTRINS Pierwszy punkt linii definiujÄ…cej Ĺ›cieĹĽkÄ™: Koniec Ĺ›cieĹĽki: Podaj nazwe bloku: IPE600 error: null function (CD:SYS_UNDOSTART) (PROGN (CD:SYS_UNDOSTART) (SETQ CMD (GETVAR "CMDECHO")) (SETQ INSOBJ (CD:BLK_INSERTBLOCK STARTP INSNAME (QUOTE (1 1 1)) 0 T)) (SETINSERTZORIENT (NEWVECT STARTP ENDP) (SETQ INSOBJ (VLAX-VLA-OBJECT->ENAME INSOBJ))) (SETQ PATHENT (CD:ENT_MAKELINE (GETVAR "CTAB") STARTP ENDP T)) (VLA-EXPLODE (VLAX-ENAME->VLA-OBJECT INSOBJ)) (ENTDEL INSOBJ) (SETVAR "CMDECHO" 0) (COMMAND "_.EXTRUDE" (ENTLAST) "" "_path" PATHENT) (SETVAR "CMDECHO" 1) (ENTDEL PATHENT) (CD:SYS_UNDOEND)) (IF (AND (SETQ INSNAME (GETSTRING "\nPodaj nazwe bloku: ")) (MEMBER (STRCASE INSNAME) (MAPCAR (QUOTE STRCASE) (CD:SYS_COLLLIST "BLOCK" (+ 1 2 4 8))))) (PROGN (CD:SYS_UNDOSTART) (SETQ CMD (GETVAR "CMDECHO")) (SETQ INSOBJ (CD:BLK_INSERTBLOCK STARTP INSNAME (QUOTE (1 1 1)) 0 T)) (SETINSERTZORIENT (NEWVECT STARTP ENDP) (SETQ INSOBJ (VLAX-VLA-OBJECT->ENAME INSOBJ))) (SETQ PATHENT (CD:ENT_MAKELINE (GETVAR "CTAB") STARTP ENDP T)) (VLA-EXPLODE (VLAX-ENAME->VLA-OBJECT INSOBJ)) (ENTDEL INSOBJ) (SETVAR "CMDECHO" 0) (COMMAND "_.EXTRUDE" (ENTLAST) "" "_path" PATHENT) (SETVAR "CMDECHO" 1) (ENTDEL PATHENT) (CD:SYS_UNDOEND))) (IF (SETQ ENDP (GETPOINT STARTP "\nKoniec Ĺ›cieĹĽki: ")) (IF (AND (SETQ INSNAME (GETSTRING "\nPodaj nazwe bloku: ")) (MEMBER (STRCASE INSNAME) (MAPCAR (QUOTE STRCASE) (CD:SYS_COLLLIST "BLOCK" (+ 1 2 4 8))))) (PROGN (CD:SYS_UNDOSTART) (SETQ CMD (GETVAR "CMDECHO")) (SETQ INSOBJ (CD:BLK_INSERTBLOCK STARTP INSNAME (QUOTE (1 1 1)) 0 T)) (SETINSERTZORIENT (NEWVECT STARTP ENDP) (SETQ INSOBJ (VLAX-VLA-OBJECT->ENAME INSOBJ))) (SETQ PATHENT (CD:ENT_MAKELINE (GETVAR "CTAB") STARTP ENDP T)) (VLA-EXPLODE (VLAX-ENAME->VLA-OBJECT INSOBJ)) (ENTDEL INSOBJ) (SETVAR "CMDECHO" 0) (COMMAND "_.EXTRUDE" (ENTLAST) "" "_path" PATHENT) (SETVAR "CMDECHO" 1) (ENTDEL PATHENT) (CD:SYS_UNDOEND)))) (IF (SETQ STARTP (GETPOINT "\nPierwszy punkt linii definiujÄ…cej Ĺ›cieĹĽkÄ™: ")) (IF (SETQ ENDP (GETPOINT STARTP "\nKoniec Ĺ›cieĹĽki: ")) (IF (AND (SETQ INSNAME (GETSTRING "\nPodaj nazwe bloku: ")) (MEMBER (STRCASE INSNAME) (MAPCAR (QUOTE STRCASE) (CD:SYS_COLLLIST "BLOCK" (+ 1 2 4 8))))) (PROGN (CD:SYS_UNDOSTART) (SETQ CMD (GETVAR "CMDECHO")) (SETQ INSOBJ (CD:BLK_INSERTBLOCK STARTP INSNAME (QUOTE (1 1 1)) 0 T)) (SETINSERTZORIENT (NEWVECT STARTP ENDP) (SETQ INSOBJ (VLAX-VLA-OBJECT->ENAME INSOBJ))) (SETQ PATHENT (CD:ENT_MAKELINE (GETVAR "CTAB") STARTP ENDP T)) (VLA-EXPLODE (VLAX-ENAME->VLA-OBJECT INSOBJ)) (ENTDEL INSOBJ) (SETVAR "CMDECHO" 0) (COMMAND "_.EXTRUDE" (ENTLAST) "" "_path" PATHENT) (SETVAR "CMDECHO" 1) (ENTDEL PATHENT) (CD:SYS_UNDOEND))))) (C:EXTRINS) Sorrki, może jutro mi coś się przejaśni, na razie sie poddaję :) Wracam do ZWCAD ARCHITECTURE z ZWCAD+