Prostokąt obsługiwany w programie AutoCAD

Witam

 

Chciałbym wiedzieć, czy możliwe jest stworzenie prostokąta zdolnego do najmniejszego możliwego rozmiaru w porównaniu z poligonem


rectangle_capable.pdf

Witam

O ile mi wiadomo, nie ma automatycznego rozwiązania, po prostu umieść boki pokrywające się z wierzchołkami wielokąta.

W rzeczywistości znalazłem program LISP, który to robi:

 

;;  SmallestRectangle.lsp [nazwa polecenia: SR]
;;  Aby narysować najmniejszy prostokąt ortogonalny wokół użytkownika:
;;    Wybrana grupa obiektów.  Rysuje na bieżącej warstwie.
;;  Kent Cooper, 27 lutego 2013
(defun C:SR (/obb oLL oUR ss LL UR); = Najmniejszy prostokąt
  (defun obb (ent); = Narożniki obwiedni obiektu
    (vla-getboundingbox (vlax-ename->vla-object ent) 'minpt 'maxpt)
    (setq
      oLL (vlax-safearray->list minpt); Lewy dolny róg obiektu
      oUR (vlax-safearray->list maxpt); Prawy górny róg obiektu
    ); setq powiedział:
  ); Defun -- obb
  (vl-load-com)
  (podpowiedź "\nAby narysować wokół nich najmniejszy prostokąt"),
  (setq ss (ssget))
  (obb (ssname ss 0))
  (setq LL oLL YOUR oUR); początkowy całkowity LL&UR [pierwszego obiektu]
  (ssdel (ssname ss 0) ss)
  (powtórzyć (sslength ss)
    (obb (ssname ss 0))
    (setq
      LL (mapcar 'min oLL LL); najmniejszej ilości każdego składnika
      UR (mapcar 'max oUR UR); Największy z każdego składnika
    ); setq powiedział:
    (ssdel (ssname ss 0) ss)
  ); Powtórzyć
  (polecenie "_.rectangle" "_none" LL "_none" UR)
  (prinç)
); defun -- C:SR

 

 

Wiosna:

http://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/the-smallest-rectangle-enclosing-selected-set-of-objects/td-p/3791519

Edycja: aby uzyskać informacje na temat korzystania z języka LISP, zobacz ten samouczek:

http://cadxp.com/topic/14323-charger-un-lisp/

 

1 polubienie