获取对象的特性和方法+查看器 补特性中文释义表
本帖最后由 wzg356 于 2023-12-10 13:19 编辑参考http://bbs.mjtd.com/forum.php?mo ... B%B2%E9%BF%B4%C6%F7写的
本帖本意是这个函数Property&Methods
也顺便写“对象特性方法查看器.lsp”功能与上面连接的一样, 代码短一点
把objPropertys.lsp特性清单-加载,查看器可见特性中文释义
objPropertys.lsp特性清单是根据《ActiveX 和 VBA 参考》(明经08版)来的
学习资料《ActiveX 和 VBA 参考》http://bbs.mjtd.com/forum.php?mo ... iveX%2B%BA%CD%2BVBA
http://bbs.mjtd.com/forum.php?mo ... BVBA%2B%B2%CE%BF%BC
获取对象的特性和方法
;返回(list(list 特性1 特性2....)(list 方法1 方法2....))
;(Property&Methods(vlax-ename->vla-object(car(entsel))))
(setq *Preferences (vla-get-Preferences (vlax-get-acad-object)))
(defun Property&Methods(ob / Display clipdata result n lst lst1 lst2 flag)
(setq Display (vla-get-Display *Preferences))
(setq html (vlax-create-object "htmlfile"))
(setq clipdata(vlax-get(vlax-get html 'parentwindow) 'clipboarddata))
(vla-put-HistoryLines DISPLAY 25)
(REPEAT 25 (PRINC "\n") (PRINC))
(vla-put-HistoryLines DISPLAY 500)
(vlax-dump-Object ob t)
(command "_.COPYHIST")
(vla-put-HistoryLines DISPLAY 25)
(setq result (vlax-invoke clipdata 'getdata "text"));系统剪贴板
(vlax-invoke clipdata 'setdata "text""");系统剪贴板清空
(vlax-release-object html)
(while(setq n(vl-string-search "\r\n;" result))
(setq lst(cons(substr result 1 n) lst))
(setq result(substr result(+ n 4)))
)
(foreach x(cons result lst)
(if (wcmatch x "*支持的方法:*,*Methods supported:*")
(setq flag t)
(if flag(setq lst1(cons (read x)lst1))(setq lst2(cons (read x)lst2)))
)
)
(list (cdddr lst1);特性
lst2 ;方法
)
)
感谢大佬分享
感谢 wzg356 分享程序!!!!!
直接整个所有的属性和方法列表,然后-available-p和-applicable-p判断一下就行了 谢谢分享! 感谢 wzg356 分享程序!!!!! 差一个clipboardset函数 1506822004 发表于 2023-12-4 10:28
差一个clipboardset函数
已补充------------- 补充 特性中文释义表 方便学习 wzg356 发表于 2023-12-10 12:26
补充 特性中文释义表 方便学习
怎么可以不生成这个
页:
[1]