Wybór połączenia do edycji

Na tym forum dyskusyjnym rozmawiamy o wszystkim co jest związane z programem Advance Steel.

Moderatorzy: Artur Owczarek, Slavco, Tomasz Białek

Awatar użytkownika
ziele_o2k
Posty: 16
Rejestracja: 20 lip 2017, 09:37
Lokalizacja: Poznań

Wybór połączenia do edycji

Post autor: ziele_o2k »

Postanowiłem się dzielić swoimi krótkimi usprawnieniami do AdvanceSteela pisanymi w jęcyku AutoLISP.
Pierwsze czym chciałbym się podzielić to wybór połączenia do edycji.
Odbywa się to przez podwójne kliknięcie na szarą ramkę połączenia.
Często w gąszczu połączeń (szarych ramek) nie wiem, które jest do zmiany...
Z pomocą przychodzi poniższa ikonka:
2018-03-14_13-07-27.jpg
2018-03-14_13-07-27.jpg (26.81 KiB) Przejrzano 6193 razy
Fajnie to działa bo, po kliknięciu na śrubę/spoinę/belkę zaznacza nam się (a czasem nawet pojawia i zaznacza, ale o tym w oddzielnym poście) szara ramka połączenia. Teraz wystarczy kliknąć w nią dwa razy i możemy edytować połączenie.
Ponieważ denerwowała mnie konieczność podwójnego etapu dojścia do edycji połączenia (najpierw element, a potem podwójny klik na ramkę połączenia), napisałem krótkiego lispa który działa za nas:

Kod: Zaznacz cały

(defun c:ase ( / LM:SelectIf _ent)
  (defun LM:SelectIf ( msg pred func keyw / sel ) (setq pred (eval pred))  
    (while
      (progn (setvar 'ERRNO 0) (if keyw (apply 'initget keyw)) (setq sel (func msg))
        (cond
          ( (= 7 (getvar 'ERRNO))
            (princ "\nMissed. Try again.")
          )
          ( (eq 'STR (type sel))
            nil
          )
          ( (vl-consp sel)
            (if (and pred (not (pred sel)))
              (princ "\nInvalid Object Selected.")
            )
          )
        )
      )
    )
    sel
  )
  (sssetfirst nil nil)
  (if
    (setq 
      _ent (car 
        (LM:SelectIf 
          "\nSelect object to edit connection: "  
          (lambda ( x ) 
            (wcmatch (cdr (assoc 0 (entget (car x)))) "ASTBEAM,ASTPLATE,ASTBOLT*,ASTWELD")
          )
          entsel nil
        )
    ))
    (if 
      (and 
        (vl-cmdf "_AstM4SwitchReprMode" "CONOBJ" _ent "")
        (cadr (ssgetfirst))
      )
      (vl-cmdf "_AstM4CommMultiEdit" "1")
      (progn
        (princ "\nNo connection detected. Try again.")
        (c:ase)
      )
    )
  )
  (princ)
)
W razie pytań, śmiało pisać.
Krótka prezentacja <klik w obrazek>:
ase.gif
Deleted User 10275

Re: Wybór połączenia do edycji

Post autor: Deleted User 10275 »

Jak to wprowadzić do swojego programu aby działało jak u Ciebie?
Awatar użytkownika
ziele_o2k
Posty: 16
Rejestracja: 20 lip 2017, 09:37
Lokalizacja: Poznań

Re: Wybór połączenia do edycji

Post autor: ziele_o2k »

Zacznij od pierwszego ewentualnie drugiego linka.
http://www.lee-mac.com/runlisp.html
https://www.youtube.com/watch?v=o9un8YiXs6I
http://help.autodesk.com/view/ACD/2016/ ... F58970E1EE
http://help.autodesk.com/view/ACD/2016/ ... 7729D42520
http://help.autodesk.com/view/ACD/2016/ ... 1D49CF971F
Generalnie tworzysz sobie nowy plik tekstowy u siebie na kompie zmieniasz rozszerzenie txt na lsp, kopiujesz ten kod co tu wrzuciłem i wczytujesz jak na powyższych linkach.
Deleted User 10275

Re: Wybór połączenia do edycji

Post autor: Deleted User 10275 »

Ok, dzięki. Jutro na spokojnie ogarnę to i dam znać czy śmiga.
JerzyCP
Posty: 142
Rejestracja: 16 mar 2017, 10:14

Re: Wybór połączenia do edycji

Post autor: JerzyCP »

thomas126 pisze:Ok, dzięki. Jutro na spokojnie ogarnę to i dam znać czy śmiga.
Śmiga, śmiga... potwierdzam :D .

Jurek
Awatar użytkownika
ziele_o2k
Posty: 16
Rejestracja: 20 lip 2017, 09:37
Lokalizacja: Poznań

Re: Wybór połączenia do edycji

Post autor: ziele_o2k »

Jak będziecie mieli jakieś pomysły na takie usprawnienia to dajcie znać.
W oddzielnym poście napiszę jakie są możliwości AutoLISPa w advance steelu.
werron
Posty: 50
Rejestracja: 24 mar 2016, 11:37

Re: Wybór połączenia do edycji

Post autor: werron »

ziele_o2k pisze: 14 mar 2018, 13:28 Fajnie to działa bo, po kliknięciu na śrubę/spoinę/belkę zaznacza nam się (a czasem nawet pojawia i zaznacza, ale o tym w oddzielnym poście) szara ramka połączenia. Teraz wystarczy kliknąć w nią dwa razy i możemy edytować połączenie.
Ponieważ denerwowała mnie konieczność podwójnego etapu dojścia do edycji połączenia (najpierw element, a potem podwójny klik na ramkę połączenia), napisałem krótkiego lispa który działa za nas:
Da się przecież jednym kliknięciem edytować makro (szarą ramkę).
Dodatkowo, nie trzeba się zastanawiać która ramka w gąszczu ramek odpowiada za konkretne połączenie.
Metoda:
- zaznaczamy LKM element utworzony przez makro (śruba / blacha)
- następnie klikamy PKM aby wywołać menu kontekstowe

Obrazek

- dalej wybieramy w menu: wspólne właściwości Advance
i tyle - odpala nam się okno z właściwościami makra.

Sporą zaleta powyższej metody jest fakt że działa to przy ukrytych szarych ramkach połączeń. Ja często wygaszam warstwę z tymi boksami w celu lepszej przejrzystości modelu.
A jak potrzebuję edytować makro, stosuję przedstawioną procedurę.

werron
Awatar użytkownika
ziele_o2k
Posty: 16
Rejestracja: 20 lip 2017, 09:37
Lokalizacja: Poznań

Re: Wybór połączenia do edycji

Post autor: ziele_o2k »

werron pisze: 08 cze 2018, 20:51 Da się przecież jednym kliknięciem edytować makro (szarą ramkę).
Dodatkowo, nie trzeba się zastanawiać która ramka w gąszczu ramek odpowiada za konkretne połączenie.
Metoda:
- zaznaczamy LKM element utworzony przez makro (śruba / blacha)
- następnie klikamy PKM aby wywołać menu kontekstowe
- dalej wybieramy w menu: wspólne właściwości Advance
i tyle - odpala nam się okno z właściwościami makra.

Sporą zaleta powyższej metody jest fakt że działa to przy ukrytych szarych ramkach połączeń. Ja często wygaszam warstwę z tymi boksami w celu lepszej przejrzystości modelu.
A jak potrzebuję edytować makro, stosuję przedstawioną procedurę.

werron
No i fajno, nie wiedziałem, że wspólne własćiwości advance tak działają. Nauczyłem się czegoś nowego.
werron pisze: 08 cze 2018, 20:51 (...) Dodatkowo, nie trzeba się zastanawiać która ramka w gąszczu ramek odpowiada za konkretne połączenie. (...)
Moje tak samo działa - nie trzeba się zastanawiać tylko klikam na element.

Ja jednak pozostanę przy swoim podejściu, bo jest szybciej. Jestem ogromnym przeciwnikiem tych wszystkich wstążek, klikania szukania itd., wolę mieś wszystko pod skrótami na klawiaturze.
Pozdro!
ODPOWIEDZ