Author Topic: [XDrX-PlugIn(112)] Draw a rectangle in the center  (Read 105 times)

0 Members and 1 Guest are viewing this topic.

xdcad

  • Swamp Rat
  • Posts: 514
[XDrX-PlugIn(112)] Draw a rectangle in the center
« on: March 29, 2024, 12:20:39 PM »


Code: [Select]
(defun c:xdtb_rectcen (/ box pl)
  (defun myerr (msg)
    (xdrx_sysvar_pop)
    (setq *error* olderr)
    (xdrx-entity-delete pl)
    (xdrx-end)
    (princ)
  )
  (xdrx-begin)
  (setq olderr *error*
*error* myerr
  )
  (xd::doc:getdouble (xdrx-string-multilanguage "\n矩形长" "\nRectangle Length")
     "#xd-var-global-length"
     10.0
  )
  (xd::doc:getdouble (xdrx-string-multilanguage "\n矩形宽" "\nRectangle Width")
     "#xd-var-global-width"
     10.0
  )
  (xdrx-sysvar-push '("osmode" 545))
  (setq box (xdrx_points->offsetbox '(0 0 0)
    (list #xd-var-global-length 0.0 0.0)
    (/ #xd-var-global-width 2.0)
    (/ #xd-var-global-width 2.0)
    0.0
    0.0
    )
  )
  (setq pl (xdrx-polyline-make box t))
  (setq mat (xdrx-matrix-setrotation (angle '(0 0 0)(getvar "ucsxdir")) '(0 0 1) '(0 0 0)))
  (xdrx-entity-transform pl mat)
  (xd::drag:freemove pl
     (xd::geom:get9pt pl 5) ;drag basepoint at center
     (+ 1 2 4 128)
     ;;Activate the base point, rotate 90 degrees, and align
     547
     nil
  )
  (xdrx-entity-delete pl)
  (setq *error* olderr)
  (redraw)
  (xdrx-end)
  (princ)
)
The code I wrote uses XDRX-API,which can be downloaded from github.com and is updated at any time.
===================================
https://github.com/xdcad
https://sourceforge.net/projects/xdrx-api-zip/
http://bbs.xdcad.net