anchor.diff:    ; Author: David Torralba
     ; Last revision: 2017-01-29
   );END defun
  -(defun c:1() (c:name) )
  -(defun c:MIRROR-name ( / old_error old_sysvars )
  -
  -  ; SAVE SETTINGS
  -  ; (save_environment (list "osmode" "angdir" "angbase"))
  -
  -  --- start here your program ---
  -
  -  ; RESTORE SETTINGS
  -  ; (restore_environment)
  -
  -  (princ)
  -
  -  ; v0.0 - _DATE_ - First issue
  -  ; Author: David Torralban
  -  ; Last revision: _DATE_
  -);END defun
  
positive.code:   ; SAVE SETTINGS
    ; (save_environment (list "osmode" "angdir" "angbase"))
  
    ; Get object, cases:
      ; If ent_name2 is line
      ; If ent_name2 is polyline: allow perpendicular to straight segments and curve segments along all polyline, not just the segment where you have clicked
      ; If ent_name2 is circle
      ; If ent_name2 is arc
      ; If ent_name2 is ellipse
      ; If ent_name2 is block
      ; If ent_name2 is 3Dpoly
      ; If ent_name2 is xline
      ; if ent_name2 is ray
  
negative.code:     (car (entsel "\nSelect object to align to:"))
    )
  ; PURPOSE: align text to selected object, keeping readability
  ; RR (fast shortcut) will be the current RTM
  ;  - keep RT for other purposes
  ; Procedure:
  ;  - clic 1 = select entity (single)
  ;  - clic 2 = select reference
  ;    entity aligns to reference and starts following the mouse
  ;  - clic 3 / Enter / Space / Esc = stop dragging entity and finish command
  )
  (defun DT:RR ( ent_name1 ent_name2 )
    ; Align ent_name1 to ent_name2 dynamically
    ; Return aligned and reference entity names
    ; or nil if something wrong
  