_

Ciekawe LISPY 3D

Forum poświęcone flagowemu produktowi oraz aplikacjom pochodnym Autodesku. To jedyne forum mające w tytule nazwę programu, a to ze względu na jego olbrzymią popularność w Polsce. Można tutaj umieszczać również posty z ogólnie pojętej tematyki "Kreślarskie 2D".

Re: Ciekawe LISPY 3D

Postprzez asa » gru 21, 2018 13:31

ahcinga napisał(a):
kojacek napisał(a):Szczęśliwie są to zawsze prostopadłościany, bez ścięć, faz, otworów etc.

u mnie (prawie) wszystkie bryły mają fazowania, otwory itp. :(
Teraz zaczęłam się zastanawiać czy nie pójść w kierunku kopiowania, rozbijania aż do linii i tu szukania wymiarów zewnętrznych dla zbioru linii.

Wrzuć coś przykładowego. Samo analizowanie po rozbiciu jest troszkę uciążliwe, ale wykonalne bo zazwyczaj są regiony (mamy normalną regionu wiec transformacja punktów - czysta matematyka).
Pozdrawiam
asa
asa
 
Posty: 581
Dołączył(a): lut 18, 2007 20:01

Re: Ciekawe LISPY 3D

Postprzez Banaszkiewicz » gru 22, 2018 12:58

[quote="asa"]Lisp w 3d nie daje do końca rady, bo bryłki a tylko to mnie interesuje są zaszyfrowane. Owszem można wydłubać podstawowe informacje typu objętość, parametry fizyczne, środek ciężkości... ale to tylko informacje. Operacje przekształcenia istniejącej bryłki lispowo są trudne bo mamy tylko podstawowe polecenie i operacje boolenowskie. Osobiście gdy coś tam kombinuje to często kopiuję, vl-exploduję i mam obiekty co się je daje "zmusić" do dalszych zabaw. Przydatne są też vl-secionsolidy i troszkę podstaw z geometrii wykreślnej.
Pozdrawiam
asa
Sam sporo działam w 3D (Acad/Mechanical). Odszyfrowanie nie stanowi problemu - można znaleźć programiki w lispie. W efekcie powstaje plik tekstowy w formacie ACIS'a (prawdopodobnie), jednak bez dokumentacji tego formatu trudno cokolwiek sensownego zrobić. Inna sprawa, że przy bardziej złożonych bryłach wymagało by to sporego zaangażowania i wiedzy.
W ramach ćwiczeń, popełniłem swego czasu narzędzie do zbierania informacji na temat zakończeń rur (solidowych), dochodząc do podstawowych danych metodą prób i błędów. Kłopot pojawił się w nowszych Acadach, w których coś namieszali w układach odniesienia definiowanych krzywych i mój zapał zdecydowanie ostygł.
Nie jestem programistą, przypuszczam jednak, że do poważnych zabaw z bryłami i powierzchniami trzeba dysponować narzędziami zdecydowanie poza możliwościami lispa.
Dodatkowym problemem z 3D przy bardziej złożonych bryłach jest kwestia precyzji Acada, np. zdarza się dość często, że generowany section z solida - region, po rozbiciu dla Acada nie jest płaski itp. itd.
Pozdrawiam,
J.B.
Banaszkiewicz
 
Posty: 1
Dołączył(a): gru 22, 2018 11:56

Re: Ciekawe LISPY 3D

Postprzez asa » sty 07, 2019 17:47

Banaszkiewicz napisał(a):
asa napisał(a):Lisp w 3d nie daje do końca rady, bo bryłki a tylko to mnie interesuje są zaszyfrowane. Owszem można wydłubać podstawowe informacje typu objętość, parametry fizyczne, środek ciężkości... ale to tylko informacje. Operacje przekształcenia istniejącej bryłki lispowo są trudne bo mamy tylko podstawowe polecenie i operacje boolenowskie. Osobiście gdy coś tam kombinuje to często kopiuję, vl-exploduję i mam obiekty co się je daje "zmusić" do dalszych zabaw. Przydatne są też vl-secionsolidy i troszkę podstaw z geometrii wykreślnej.
Pozdrawiam
asa
Sam sporo działam w 3D (Acad/Mechanical). Odszyfrowanie nie stanowi problemu - można znaleźć programiki w lispie. W efekcie powstaje plik tekstowy w formacie ACIS'a (prawdopodobnie), jednak bez dokumentacji tego formatu trudno cokolwiek sensownego zrobić. Inna sprawa, że przy bardziej złożonych bryłach wymagało by to sporego zaangażowania i wiedzy.
W ramach ćwiczeń, popełniłem swego czasu narzędzie do zbierania informacji na temat zakończeń rur (solidowych), dochodząc do podstawowych danych metodą prób i błędów. Kłopot pojawił się w nowszych Acadach, w których coś namieszali w układach odniesienia definiowanych krzywych i mój zapał zdecydowanie ostygł.
Nie jestem programistą, przypuszczam jednak, że do poważnych zabaw z bryłami i powierzchniami trzeba dysponować narzędziami zdecydowanie poza możliwościami lispa.
Dodatkowym problemem z 3D przy bardziej złożonych bryłach jest kwestia precyzji Acada, np. zdarza się dość często, że generowany section z solida - region, po rozbiciu dla Acada nie jest płaski itp. itd.
Pozdrawiam,
J.B.

Zapał może ostygać bo z bryłkami zabawa to jak sięganie prawą ręką do lewej kieszeni. Co do narzędzi wszystko zależy jak sprawnie by się ich używało bo ja też nie jestem programistą a lispa traktuję jako rozrywkę, choć mimo jego ograniczeń w niektórych kwestiach bije moim zdanie inne języki na głowę. Dokładność brył potrafi być dokuczliwa z tym też się spotkałem szczególnie jak nie były to mało skomplikowane prymitywy. Cóż pytanie czy warto ? Chyba tak kostkę Rubika też w końcu się nauczyłem układać ;)
Pozdrawiam
asa
asa
 
Posty: 581
Dołączył(a): lut 18, 2007 20:01

Re: Ciekawe LISPY 3D

Postprzez asa » sty 17, 2019 21:29

Jako że temat ucichł pozwolę sobie na małą dygresyjkę czy się da (takie tam stare zabawy jak się mi chciało projektować budowlankę i potem jakąś do tego dokumentację rysunkową trzeba było stworzyć i inne takie tam...)
Zamodelowałem sobie więźbę dachową na podstawie obliczeń - mesy w 3d układ prętowy
powiedzmy taką:
1.gif
1.gif (806.63 KiB) Przeglądane 253 razy

upisałem sobie lispa co by mi wszystkie krokiewki, elementy więźby kopiował układał na płaszczyźnie i w zależności od nazwy warstwy i wymiarów przekroju je segregował.
2.gif
2.gif (899.96 KiB) Przeglądane 253 razy

Potem sobie więźbę opisuje szpileczkami - oczywiście krokwie o tych samych wymiarach typach zamków zacięciach mają ten sam numerek. Napisałem automat który sam opisuje w zależności od nazwy warstw np krokiew narożna 25x15 skraca do KN ale wole sobie powiedzmy poklikać kilka razy bo automat jak automat czasem się zacina ;)
3.gif
3.gif (751.54 KiB) Przeglądane 253 razy

Ana koniec tabelki w zależności od rodzaju elementu więźby
4.gif
4.gif (702.82 KiB) Przeglądane 253 razy

Jeżeli Was interesuje część dalsza w sensie "jak to jest zalispowane" postaram się załączyć załączyć lispa i opisać poszczególne funkcyjki.
Pozdrawiam ciepło
asa
P.S.
Takie pytanko do Administracji czemu tylko 1 MB na obrazek ? ;( Gify ruszające ciężko zrobić w takiej wielkości
asa
 
Posty: 581
Dołączył(a): lut 18, 2007 20:01

Re: Ciekawe LISPY 3D

Postprzez kojacek » sty 17, 2019 22:30

asa napisał(a):Jako że temat ucichł pozwolę sobie na małą dygresyjkę czy się da (takie tam stare zabawy jak się mi chciało projektować budowlankę i potem jakąś do tego dokumentację rysunkową trzeba było stworzyć i inne takie tam...)
Zamodelowałem sobie więźbę dachową na podstawie obliczeń - mesy w 3d układ prętowy
powiedzmy taką:
1.gif

upisałem sobie lispa co by mi wszystkie krokiewki, elementy więźby kopiował układał na płaszczyźnie i w zależności od nazwy warstwy i wymiarów przekroju je segregował.
2.gif

Potem sobie więźbę opisuje szpileczkami - oczywiście krokwie o tych samych wymiarach typach zamków zacięciach mają ten sam numerek. Napisałem automat który sam opisuje w zależności od nazwy warstw np krokiew narożna 25x15 skraca do KN ale wole sobie powiedzmy poklikać kilka razy bo automat jak automat czasem się zacina ;)
3.gif

Ana koniec tabelki w zależności od rodzaju elementu więźby
4.gif

Jeżeli Was interesuje część dalsza w sensie "jak to jest zalispowane" postaram się załączyć załączyć lispa i opisać poszczególne funkcyjki.
Pozdrawiam ciepło
asa
P.S.
Takie pytanko do Administracji czemu tylko 1 MB na obrazek ? ;( Gify ruszające ciężko zrobić w takiej wielkości


Ładne... :)
Avatar użytkownika
kojacek
 
Posty: 5506
Dołączył(a): paź 03, 2005 20:17

Re: Ciekawe LISPY 3D

Postprzez asa » sty 18, 2019 19:30

kojacek napisał(a):.....
Ładne... :)

Takie typowo pode mnie ;) Powrzucam troszkę funkcyjek do zabaw to będzie ciekawiej.
Pozdrawiam ciepło
asa
asa
 
Posty: 581
Dołączył(a): lut 18, 2007 20:01

Re: Ciekawe LISPY 3D

Postprzez ahcinga » sty 30, 2019 10:59

asa napisał(a):[...]Zamodelowałem sobie więźbę dachową na podstawie obliczeń [...]

Belki są blokami czy bryłami?
Jak przypisane są do belki informacje o numerze, przekroju, długości, zacięciach?
Agniecha
Avatar użytkownika
ahcinga
 
Posty: 206
Dołączył(a): gru 28, 2005 19:21
Lokalizacja: Lublin

Re: Ciekawe LISPY 3D

Postprzez asa » sty 30, 2019 22:48

ahcinga napisał(a):
asa napisał(a):[...]Zamodelowałem sobie więźbę dachową na podstawie obliczeń [...]

Belki są blokami czy bryłami?
Jak przypisane są do belki informacje o numerze, przekroju, długości, zacięciach?


Belki (krokwie płatwie, krokwie narożne, murłaty i co tam się jeszcze w więźbie nazbiera) są bryłkami. Co prawda ac, to nie wspaniałe niezastąpione i tylko dla orłów narzędzie do tworzenia ciągle "tego samego" typu Revit czy inny archicad, ale proponuje piejącym z zachwytu nad tymi zabawkami wymodelować lukarnę dachową łukową (wole oko) nieostrą ;), potem zestawić jej drewno, o obliczeniach inżynierskich nie wspomnę. Nasi dziadkowie nie mieli z tym problemu ;)
Elementy więźby są najpierw kopiowane, potem kopie są obracane na płaszczyznę by zebrać gabaryty czyli długość, wymiary przekroju itp potem segregowane po ilości a na końcu xdaty do oryginałów i szpilki. Zostaje "zrobić" płasko czy inne przekroje.
Tabelki zestawieniowe elementów więźby typowo pod tartak i kosztorys, bo te nowomodne... no cóż jestem dziwnym dziwakiem i mam konstytucyjne prawo do dziwaczenia ;)
Pozdrawiam ciepło
asa
P.S.
Ja tam lubię sobie "prymitywić" bryłowo w AC od czasu do czasu i nie lubię kombajnów, bo ograniczają. Co do samego lispa to postaram się po kolei powrzucać poszczególne funkcje uprzednio je przeglądając i poprawiając, bo dawno temu były tworzone więc... troszkę można je podrasować ;)
asa
 
Posty: 581
Dołączył(a): lut 18, 2007 20:01

Re: Ciekawe LISPY 3D

Postprzez asa » lut 06, 2019 21:58

Widzę że temat nie ma wzięcia ale... proponuję kilka linijek kodu do "sprowadzenia" krokwi narożnej na płaszczyznę.
1.gif
1.gif (755.38 KiB) Przeglądane 115 razy

Kod: Zaznacz cały
; 1 cwiartka układu ;)

(defun c:test ( / kolorek mspace doc ?? tmx cos_g)
 
(defun lista->po3lista( lista / i wynik)
(setq i 0 wynik nil)
(repeat (/(length lista)3)
  (setq wynik (append wynik (list(list (nth i lista) (nth (1+ i) lista) (nth (+ 2 i) lista)))))
(setq i (+ 3 i)))wynik)

(setq kolorek  (vlax-create-object "AutoCAD.AcCmColor.19")
      mspace(vla-get-modelspace(vla-get-ActiveDocument(vlax-get-acad-object)))
      doc(vla-get-ActiveDocument(vlax-get-acad-object))
      br(vla-copy(vlax-ename->vla-object(car(entsel "\n wybierz krokiewke"))))
      ??(lista->po3lista(vlax-get br 'PrincipalDirections))
      ??(mapcar'(lambda (el)(mapcar'(lambda(el1)(* 80 el1))el)) ??)
      tmx(vlax-make-safearray 5  '(0 . 3) '(0 . 3)))        
; osie głownych kierounków
(setq v_x(vla-addline mspace(vlax-3d-point 0 0 0) (vlax-3d-point(car ??)) )) (vla-setrgb kolorek 240 112 155)
(vla-put-truecolor v_x kolorek)
(setq v_y(vla-addline mspace(vlax-3d-point 0 0 0)(vlax-3d-point(cadr ??)) )) (vla-setrgb kolorek 191 255 127)
(vla-put-truecolor v_y kolorek)
(setq v_z(vla-addline mspace(vlax-3d-point 0 0 0) (vlax-3d-point(last ??)) )) (vla-setrgb kolorek 142 183 240)
(vla-put-truecolor v_z kolorek)
; obrót wzg osi oz
(vlax-safearray-fill tmx (list'(0 0 0 0) '(0 0 0 0) '(0 0 0 0) '(0 0 0 0)))
(setq cos_g (/(nth 1(car ??)) (distance '(0 0) (car ??))))
(setq sin_g (/(nth 0 (car ??)) (distance '(0 0) (car ??))))
(vlax-safearray-put-element tmx 0 0 cos_g)(vlax-safearray-put-element tmx 0 1 (* -1 sin_g))
(vlax-safearray-put-element tmx 1 0 sin_g)(vlax-safearray-put-element tmx 1 1 cos_g)
(vlax-safearray-put-element tmx 2 2 1)(vlax-safearray-put-element tmx 3 3 1) (asin sin_g) 
 (vla-TransformBy br tmx)
; obrót wzg osi ox
(vlax-safearray-fill tmx (list'(0 0 0 0) '(0 0 0 0) '(0 0 0 0) '(0 0 0 0)))
(setq sin_g  (/(distance '(0 0 ) (car ??))  (distance '(0 0 0) (car ??))) )
(setq cos_g (/(nth 2 (car ??)) (distance '(0 0 0) (car ??))))
(vlax-safearray-put-element tmx 0 0 1)
(vlax-safearray-put-element tmx 1 1 cos_g) (vlax-safearray-put-element tmx 1 2  (* -1 sin_g))
(vlax-safearray-put-element tmx 2 1 sin_g) (vlax-safearray-put-element tmx 2 2 cos_g)
(vlax-safearray-put-element tmx 3 3 1)
 (vla-TransformBy br tmx)
; obrót wzg osi oy
(vlax-safearray-fill tmx (list'(0 0 0 0) '(0 0 0 0) '(0 0 0 0) '(0 0 0 0)))
(vlax-safearray-fill tmx (list'(0 0 1 0) '(0 1 0 0) '(-1 0 0 0) '(0 0 0 1)))
(vla-TransformBy br tmx) (vla-setrgb kolorek 255 191 0) (vla-put-truecolor br kolorek)
br
)

Jak ktoś chce pownikać w pomysł , to pytajcie :).
aaa i i tak na wieczór zgrzebałem w archiwach takiego starocia co okna 3d rysuje ;)
2.gif
2.gif (918.9 KiB) Przeglądane 115 razy

Pozdrawiam ciepło
asa
Załączniki
test.dwg
tutaj krokiewka narożna co linijki na niej testowałem
(161.03 KiB) Pobrane 31 razy
asa
 
Posty: 581
Dołączył(a): lut 18, 2007 20:01

Re: Ciekawe LISPY 3D

Postprzez ahcinga » lut 11, 2019 16:33

coś mi nie działa ten test
najpierw zatrzymuje się na
Kod: Zaznacz cały
(vla-setrgb kolorek 240 112 155)
nie wiem dlaczego
potem na
Kod: Zaznacz cały
(asin sin_g)
- pewnie masz swoją funkcję napisaną
Agniecha
Avatar użytkownika
ahcinga
 
Posty: 206
Dołączył(a): gru 28, 2005 19:21
Lokalizacja: Lublin

Poprzednia stronaNastępna strona

Powrót do AutoCAD

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników

cron