GUID через VisualLISP

Понадобилось мне тут нарисовать код, который будет возвращать GUID.

Подключать .NET ради такой простой задачи ну не хотелось совсем. Ок, делаем по-простому, по рабоче-крестьянски:

1
2
3
4
5
6
7
8
9
10
11
12
13
(defun _kpblc-get-guid (/ obj res)
  (if (and (= (type
                (setq obj (vl-catch-all-apply (function (lambda () (vlax-create-object "Scriptlet.TypeLib")))))
                ) ;_ end of type
              'vla-object
              ) ;_ end of =
           (vlax-property-available-p obj 'guid)
           ) ;_ end of and
    (setq res (vl-string-trim "{}" (vlax-get-property obj 'guid)))
    ) ;_ end of if
  (vl-catch-all-apply (function (lambda () (vlax-release-object obj))))
  res
  ) ;_ end of defun

И все! :) Можно, конечно, добавить тьму проверок, но на Win7x64 и Win10x64 код сработал вполне корректно.

Размещено в AutoCAD, Код LISP, Новости · Метки: ,



Поделитесь своим мнением


Я не робот.