(defun C:del_punkts_of_katalog ( / ATTRIBUTES O-DOC OBJ PUNKT-RECORG)
    (if (setq o-doc(XML-Get-XMLObject (get-patch-to-katalog)))
    (progn
      (if(setq obj(car(entsel "\nВыбери блок пункта: ")))
	(progn
	  (setq obj(vlax-ename->vla-object obj))
	  (foreach x (get-all-attributes obj)
	    (if (not(=(nth 1 x)""))
	      (setq attributes (append attributes (list (list (nth 0 x) (vl-string-left-trim (strcat (nth 0 x)"=")(nth 1 x))))))
	      )
	    )
	  (if(setq punkt-recorg(get-punkt-recorg-by-ass-list attributes o-doc))
	    (progn
	      (delete-punkt-recorg punkt-recorg nil)
	      (vla-Delete obj)
	      )
	    (alert"Ошибка! Указаный пункт в каталоге не найден!"))
	  )
	)
      (XML-Save o-doc)
      (vlax-release-object o-doc)
      );progn
      (alert "Файл каталога координат пунктов не обнаружен!")
    )
  (princ)
  )

(defun delete-punkt-recorg (punkt-recorg flag-save / square)
  (setq square(vlax-get-property punkt-recorg 'parentNode))
(if flag-save (setq o-doc(vlax-get-property punkt-recorg 'ownerDocument)))
  (XML-Remove-Child punkt-recorg)
  (if(eq(vlax-invoke-method square 'hasChildNodes):vlax-false)
    (XML-Remove-Child square))
  (if flag-save(setq o-doc(vlax-get-property punkt-recorg 'ownerDocument)))
      (if flag-save (XML-Save o-doc))
  )