cad.lisp 架构位数+内置函数+添加符号保护
查看架构位数
由于Acad2008市面上是有32位改的,然后才能让64位系统安装,所以为了验证架构位数而写:
(strlen (vl-princ-to-string (vlax-get-acad-object)))
=>39就是32位Autocad
获取内置函数
(setq lst (vl-remove-if-not '(lambda(x) (or (wcmatch x "SET*") (wcmatch x "GET*"))) (atoms-family 1)))
添加符号保护
通过vlisp命令打开cad内置的IDE.
然后Visual Lisp 控制台输入 (pragma '((protect-assign myfunction)))
myfunction就会高亮起来.
;;解除符号保护
(pragma '((unprotect-assign getDxf)))
;;定义函数
(defun getDxf(ent code)(cdr(assoc code(entget ent))))
;;添加符号保护
(pragma '((protect-assign getDxf)))
;;例子
(defun c:tt()
(if(setq en(car(entsel)))
(getdxf en 0)))
(完)